Senior Software Engineer
Job Description
Location: ZA, GP, Johannesburg, Simmonds Street
To deliver specialist technical expertise, leadership across the full solution lifecycle to direct the scope, design, quality and refactoring of complex software applications, systems and integration services, against required standards and timelines. To guide teams in the assessment and selection of suitable technologies/approaches, and lead the quality of end-to-end solutions, Engineering artifacts to deliver Engineering excellence and mentor other engineers.
Responsibilities- Architect and implement cloud-native solutions using Azure and AWS
- Lead infrastructure automation using Terraform, CloudFormation, and DevOps pipelines
- Develop secure applications using Azure Functions, App Services, ECS, Lambda
- Optimize cloud environments for performance and cost
- Build databases using Azure Cosmos DB, Azure SQL, Entity Framework
- Develop backend services with C# .NET Core and RESTful APIs; frontend with Angular and React
- Monitor cloud applications using CloudWatch and Application Insights
- Mentor engineering teams and align technical solutions with business goals
- Innovate with AI/ML tools including Azure ML Studio and AWS SageMaker
Type of Qualification: Post Graduate Degree in Information Studies or Information Technology or related
Skills Required- Security & Monitoring: IAM, Secrets Manager, Application Gateway, CloudWatch
- 8-10 years - Broad experience in translating business and functional requirements into technical specifications and developing the programming code to create the solutions.
- More than 10 years - 10+ years of experience in multiple technological fields, including solution architecture, with at least 5 years at a technical team lead level. Deep and broad experience required in multiple areas of technology (comb shaped engineer). It is imperative to have experience in large, transformational projects, and the agile way of work.
- Articulating Information
- Challenging Ideas
- Developing Expertise
- Developing Strategies
- Empowering Individuals
- Examining Information
- Exploring Possibilities
- Interacting with People
- Making Decisions
- Showing Composure
- Team Working
- Automation
- Cloud Computing
- Continuous Delivery (CD)
- Core Systems
- Design Thinking
- Error Budgets
- Infrastructure as Code (IaC)
- Knowledge Management
- Microservices
- Non-abstract Large System Design (NALSD)
- Observability (Application and Web Analytics)
- Policy as Code
- Post-incidence Analysis
- Reliability and Resilience
- Security Engineering
- Software Development Life Cycle (SDLC) methodologies & Tools
About This Role
Career insights for Software Developers positions