Job Description
Key Responsibilities:
- Design and implement scalable, reliable, and maintainable software systems in a microservices environment.
- Collaborate with product managers and cross-functional teams to translate product requirements into robust technical designs.
- Drive feature development with a focus on performance, scalability, and long-term maintainability.
- Apply strong algorithmic and system design thinking to solve complex technical problems.
- Contribute to architectural decisions, ensuring solutions balance technical soundness with product needs.
- Mentor junior engineers and foster best practices in coding, testing, and system design.
- Participate in code reviews, design reviews, and knowledge sharing to raise the bar across the engineering team.
- Stay up-to-date with emerging technologies and evaluate their potential to improve products and systems.
Requirements:
- ۴+ years of professional experience in software development, with exposure to production systems at scale.
- Strong proficiency in at least one backend programming language (e.g., Go, Python, Java, Node.js).
- Solid knowledge of databases and messaging systems (e.g., PostgreSQL, MongoDB, Redis, RabbitMQ).
- Hands-on experience with microservices architecture, containerization, and orchestration (Docker, Kubernetes).
- Strong foundations in algorithms, data structures, and system optimization.
- Experience designing and maintaining distributed systems in a production environment.
- Excellent communication and collaboration skills; able to work closely with product and business teams.
- Bachelor’s or Master’s degree in Computer Science, Engineering, or equivalent experience.

