Description

About The Role

The Senior Software Engineer role is responsible for designing, developing, and testing software systems or applications for software enhancements and new products, including cloud-based or internet-related tools for internal consumption. The Incumbent will provide technical solutions to enable the company to meet its strategic objectives through effective collaboration with business analysts, quality assurance testers, and project managers. The Incumbent will collaborate with others to ensure successful teamwork, effective development, and delivery of high-quality software solutions.

What The Role Will Do

Support software planning cycles and provide feedback on product / project estimates

Analyze business requirements and create technical specifications to implement the requirements

Design software, applications and database enhancements or new products in alignment with business requirements and technical specifications defined

Develop, build and test software systems or applications to meet business requirements

Write high-quality, maintainable, and scalable code in various programming languages

Conduct bug fixes to identify and remediate defects in software solutions

Create and maintain technical documentation including code comments, design documents, and user manuals

Collaborate with business analysts, quality assurance testers, and project managers to ensure that software solutions meet business requirements

Provide technical support to end-users to ensure proper use of software solutions

What The Incumbent Will Need

Bachelor's Degree in Computer Science, Computer Engineering or a related field. In lieu of a degree, at least 12 years of experience in software development

Certified Software Development Professional (CSDP) or equivalent certification

Skills And Experience

5+ years of experience in software development in the software development industry

In-depth knowledge of software development life cycle (SDLC) methodologies and best practices

In-depth knowledge of software development tools, platforms and languages

Experience in developing, integrating, testing and deploying cloud-based software solutions or internet-related tools

Knowledge of relational databases and SQL

Excellent written and verbal communication skills

Experience in developing Microservices and in-depth knowledge of various Integration patterns

Programming Languages

C#, Typescript, JavaScript, SQL

Technical Skills

Database Management Systems

Programming Languages

Code Prompt Engineering

Cloud Technologies & Platforms

Software Development Lifecycle (SDLC) Methodology

Continuous Integration and Continuous Deployment (CI/CD)

Project Management Methodology

Front-End Coding Languages

Web Services & APIs

Systems Integration

Source Control Systems

Build Tools and Compilers

Software Testing & Quality Assurance Methodologies & Tools

Automated Testing Tools

Solution Architecture Patterns

Containerization

Preferred Skills & Experience

ASP.NET Core

React with Vite or NextJS

gRPC or Open API API Definitions

GitHub Actions

Azure Eventing/Messaging Integrations e.g. Event Hub, Service Bus, IoT Hub

Windows Desktop Application Development e.g. Electron, WPF, WinForms, or MAUI

Education

Bachelor's degree