Position Overview
We are seeking an experienced Senior Software Engineer to join our engineering team. This role requires a seasoned professional who can design, develop, and maintain high-quality software solutions while mentoring junior team members and driving technical excellence.
Required Qualifications
- 5-6 years of professional software development experience
- Proven track record of delivering complex software projects from conception to production
- Experience working in agile/scrum development environments
Technical Skills
- Strong proficiency in one or more programming languages (e.g., Python, JavaScript, Nodejs, Go)
- Deep understanding of data structures, algorithms, and software design patterns
- Experience with modern web frameworks and technologies ( Angular, etc.)
- Solid understanding of database design and management (SQL and NoSQL)
- Proficiency with version control systems (Git) and CI/CD pipelines
- Experience with cloud platforms (AWS)
- Knowledge of containerization and orchestration tools (Docker)
- Understanding of microservices architecture and RESTful API design
Key Responsibilities
- Design, develop, test, and deploy scalable and maintainable software solutions
- Write clean, efficient, and well-documented code following best practices
- Participate in architectural decisions and technical design reviews
- Conduct code reviews and provide constructive feedback to team members
- Optimize application performance and ensure system reliability
Collaboration & Leadership
- Collaborate with cross-functional teams including product managers, designers, and QA engineers
- Mentor junior and mid-level engineers, fostering their technical growth
- Lead technical discussions and drive consensus on implementation approaches
- Contribute to technical documentation and knowledge sharing initiatives
Innovation & Quality
- Stay current with emerging technologies and industry trends
- Propose and implement improvements to development processes and tools
- Identify and resolve technical debt and system bottlenecks
- Ensure code quality through unit testing, integration testing, and automated testing practices
- Participate in on-call rotation and troubleshoot production issues as needed
Nice to Have
- Experience with distributed systems and event-driven architectures
- Contributions to open-source projects
- Experience with DevOps practices and infrastructure as code
- Knowledge of security best practices and secure coding principles
- Experience leading small project teams or technical initiatives
- Bachelor's or Master's degree in Computer Science or related field (or equivalent practical experience)