Job Summary:
We are seeking a highly experienced Senior Software Engineer / Technical Lead with 6+ years of experience to lead the design, development, and maintenance of robust, scalable, and high-performance software systems. The ideal candidate should have expertise in backend development, microservices architecture, database management, and Agile practices, with proficiency in Java, Python, or C++.
Key Responsibilities:
- Lead the design, development, and maintenance of complex software applications and systems.
- Analyze business and technical requirements to create scalable, maintainable software solutions.
- Architect and implement microservices-based applications and backend services.
- Write high-quality, efficient, and maintainable code following software engineering best practices.
- Participate in system architecture discussions, design reviews, and technology selection.
- Develop and integrate RESTful APIs and third-party services.
- Design and optimize SQL and NoSQL databases, including queries, indexing, and data modeling.
- Conduct code reviews, mentor junior and mid-level developers, and promote best practices.
- Collaborate with QA engineers to ensure comprehensive testing and maintain software quality standards.
- Implement and maintain CI/CD pipelines, automated deployments, and DevOps practices.
- Troubleshoot, debug, and resolve complex software and performance issues.
Required Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or related field.
- 6+ years of professional experience in software development.
- Strong programming skills in Java, Python, or C++.
- Hands-on experience with SQL and NoSQL databases (MySQL, PostgreSQL, MongoDB, Cassandra, etc.).
- Proven experience in microservices architecture, RESTful API design, and backend system development.
- Experience with version control (Git), CI/CD tools (Jenkins), and Agile development practices.
- Strong understanding of software engineering principles, system design, and architecture best practices.
- Experience in mentoring and leading development teams.
Preferred Skills (Nice to Have):
- Experience with cloud platforms such as AWS, Azure, or GCP.
- Familiarity with containerization and orchestration tools (Docker, Kubernetes).
- Exposure to message brokers and event-driven systems (Kafka, RabbitMQ, etc.).
- Knowledge of security best practices, authentication, and authorization protocols (OAuth, JWT).
- Experience with frontend frameworks (React, Angular, Vue) is a plus.
- Familiarity with DevOps practices and cloud-native architecture.