Job Summary:
The Senior Software Development Engineer (Senior SDE) will be responsible for leading the design, development, and deployment of scalable software solutions. You will work closely with cross-functional teams to build innovative and robust systems that meet business requirements and drive overall technical excellence within the organization. The role requires hands-on coding skills, strong leadership abilities, and a deep understanding of software development practices.
Key Responsibilities:
Design & Development:
- Architect, design, and develop high-quality, scalable, and reliable software applications.
- Write clean, maintainable, and efficient code while adhering to industry best practices.
- Ensure the software is secure, performant, and optimized for both functionality and cost.
Technical Leadership:
- Mentor and guide junior and mid-level engineers, providing technical direction and ensuring adherence to coding standards.
- Collaborate with product managers, designers, and stakeholders to translate business requirements into technical solutions.
- Participate in the code reviews and provide constructive feedback to peers and team members.
- Be an advocate for software quality and insist on the highest standards with engineering excellence including automated testing, root cause analysis of the defects etc.
Problem Solving & Innovation:
- Lead technical discussions, identifying opportunities for performance improvements, architectural enhancements, and innovation.
- Troubleshoot and resolve complex software bugs and production issues.
- Identify technical debt and provide recommendations for improvements.
Testing & Quality Assurance:
- Ensure high test coverage through automated unit, integration, and end-to-end testing to deliver products that meet high standards of quality.
Collaboration & Communication:
- Collaborate effectively across various teams, including DevOps, QA, UX, and Product teams, to deliver end-to-end solutions.
- Communicate technical complexities and trade-offs clearly to both technical and non-technical stakeholders.
DevOps & Continuous Improvement:
- Promote best practices in continuous integration/continuous deployment (CI/CD) and DevOps.
- Ensure that development processes are efficient and scalable and take part in infrastructure optimization when needed.
Qualifications:
Education: Bachelor's degree in computer science, Software Engineering, or a related field. Master's degree preferred.
Experience:
- 5+ years of experience in software development.
- Proven experience in leading software engineering teams or being a key technical leader on large projects.
- Hands-on experience in all phases of software development: requirement gathering, design, implementation, testing, and deployment.
Technical Skills:
- Proficiency in programming languages such as Java, Python, C#, JavaScript frameworks, or any other relevant language.
- Experience with cloud platforms (e.g., Google Cloud, Azure, AWS).
- Deep understanding of system architecture, microservices, APIs, and RESTful services.
- Familiarity with modern front-end frameworks (React, Angular) is a plus.
- Strong understanding of database technologies (SQL and NoSQL databases).
- Experience with version control systems like Git.
- Familiarity with Agile or Scrum methodologies.
Leadership & Soft Skills:
- Strong leadership, mentoring, and team-building abilities.
- Excellent problem-solving skills and ability to handle complex software challenges.
- Strong communication skills, both written and verbal.
- Ability to work in a fast-paced, dynamic environment and prioritize effectively.
Preferred Qualifications:
- Experience with distributed systems, high availability, and fault-tolerant architecture.
- Experience working in microservices architecture with containerization (e.g., Docker, Kubernetes).
- Knowledge of security best practices in software development.
- Experience with CI/CD/CT pipelines and DevOps practices.
- Experience in developing large-scale, cloud-native applications.