Senior Software Engineer
Key Responsibilities
- Design, develop, and maintain high-quality, scalable, and performant software applications.
- Lead technical discussions and contribute to architecture and design decisions.
- Collaborate with product managers, business analysts, and stakeholders to gather and interpret requirements.
- Write clean, maintainable code and conduct thorough code reviews.
- Mentor and guide junior and mid-level engineers on best practices and technical standards.
- Identify and resolve performance bottlenecks, bugs, and technical debt.
- Participate in the full software development lifecycle — from requirements through deployment and support.
- Contribute to CI/CD pipelines, DevOps practices, and release management processes.
- Produce clear technical documentation including design specs, runbooks, and API documentation.
- Drive continuous improvement in engineering processes, tooling, and team productivity.
Skills & Experience Required
- 6+ years of hands-on software engineering experience.
- Proficiency in one or more programming languages such as Java, Python, Go, or C#.
- Strong experience with RESTful API design and microservices architecture.
- Familiarity with cloud platforms (AWS, Azure, or GCP) and containerisation (Docker, Kubernetes).
- Solid understanding of relational and non-relational databases (e.g. PostgreSQL, MySQL, MongoDB).
- Experience with version control (Git) and CI/CD tools (Jenkins, GitHub Actions, or equivalent).
- Strong problem-solving skills and ability to work in an Agile/Scrum environment.
- Excellent communication and stakeholder management skills.
- Experience mentoring junior engineers is an advantage.