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
Bachelor's degree