Principal Software Engineer
Location
Pune | India
Job description
Your Day-to-Day:
- Provide support in all phases of SDLC and ensure to deliver high-quality products.
- Take ownership of the functionality you write and designs you implement.
- Research, evaluate and explore new technologies as needed.
- Continue to learn to increase job and industry-related knowledge.
- Support, enhance and maintain existing solutions.
- Develop unit tests during the project to ensure code assets are of quality and satisfy required use cases.
- Document the solution.
- Mentor and share knowledge with team members.
- Architecture design: Contribute to system and application architecture.
- Improving the performance of existing software.
- Regularly attending team meetings to discuss projects, brainstorm ideas, and put forward solutions to any issues.
- Participate in design reviews and recommend improvements.
- Assist in risk assessment and mitigation activities.
- Assist in technical audits and make sure to implement audit recommendations.
What You Bring to The Team:
- 10+ years of relevant work experience in software engineering
- Strong problem-solving skills
- Able to design and implement a solution with excellent design decisions.
- Able to do and explain software design to junior colleagues.
- Writing clear, maintainable, testable, efficient, and secure code.
- Proficient of methodologies, design patterns including OOP, SOLID, DRY principles, and Unit testing frameworks.
- Able to explain a problem and ask right questions, investigate, and evaluate.
- Proficiency in Mathematics (Geometry)
- Debugging Skills
- Knowledge of Agile and Scrum development practices
- A general understanding of infrastructure design, engineering and construction is a plus.
- Able to give good design of software with good and proper architecture.
- Solid software development knowledge and sufficient experience to solve problems and give solutions regardless of programming language.
- Proven experience of building complex systems
- Analytical skills to understand how to develop software based on the end users needs.
Technical Skills
- Experience with technologies such as Microsoft Visual Studio, .NET Framework
- Proven Experience and Strong knowledge of C++/C#/.NET | TypeScript/JavaScript and web development with Node.js React
Desired Skills
- CI/CD
- Git - DCVS
- Backlog Management Tools TFS/ADO/Jira
- Exposure to Azure DevOps
- Knowledge of Software Design Diagrams
- Learn new technology and propose direction.
Job tags
Salary