Description
The job involves a combination of hands-on engineering leadership, complex problem-solving, and driving technical excellence.
Responsibilities include designing and building scalable, reliable, and high-performance systems, writing production-ready code, leading technical initiatives, mentoring other engineers, and contributing to all phases of the software development lifecycle (SDLC).
Key responsibilities
- Technical leadership: Lead the technical direction for our team, mentor junior engineers, and drive engineering best practices.
- Software development: Design, develop, test, and maintain high-quality, production-ready code for large-scale SaaS environments.
- System architecture and design: Architect and implement scalable and efficient solutions, considering factors like availability, performance, reliability, security, and concurrency.
- Infrastructure and automation: maintain infrastructure-as-code, CI/CD pipelines, and automated testing frameworks.
- Complex problem-solving: Address complex technical challenges and drive innovations that improve system availability, resilience, and performance for microservices architectures.
- Collaboration: Work with cross-functional teams, product owners, and other stakeholders to translate requirements into technical solutions.
Technical skills and experience
- Programming: Deep knowledge of object-oriented programming and experience with languages like Java
- Distributed systems: Strong understanding of distributed systems, microservices architecture, and cloud environments (AWS, Azure, GCP).
- Databases: Proven experience with SQL, PL/SQL, and relational database schema design.
- Testing: Experience with automated testing, unit tests, and functional tests
- Cloud and infrastructure: Experience with containerization (Docker, Kubernetes), IaC tools (Terraform), and public cloud platforms.
