
Lead Software Engineer
- Bangalore, Karnataka
- Permanent
- Full-time
- Provides technical leadership in design, implement, test, maintain and enhance features for new and released software applications and libraries.
- Set up and be a key contributor to Test Driven Development practice to the team.
- Keep ownership of technical designs, source code, and component test execution to demonstrate alignment to the functional specifications. Be a hands-on developer in designing and implementing C# .NET applications & libraries.
- Develops software code to complex design and architecture which require the regular use of ingenuity and creativity.
- Translate architectural concepts into user flows, wireframes, mockups and prototypes that lead to intuitive user experiences and applications.
- Creating and maintaining tools to validate, unit tests, integration tests and documentation for these components.
- Using configuration management and integration/build automation tools during application development and testing phase.
- Performing code reviews and providing suggestions for fixes and improvements.
- Guides the team and develops unit tests as a partof software development.
- Supporting issue analysis and fix activities during test phases, as well as production issue resolution.
- Delivering projects on-time, within functional and quality spec; all the while communicating clearly with stakeholders.
- Work with Principle and Senior architects, managers and team members to estimate effort and to clarify, negotiate and document scope, design and code.
- Bachelor's or master's degree in electrical/Electronics Engineering and/or Computer Engineering/Science or equivalent.
- Prefer to have worked with systems and machines and develop software, come from systems software background OR should have kernel space/driver software development experience. Must have good proficiency in C#, WPF and MVVM.
- Should possess at 7+ years of work experience as a hands-on software developer.
- Deep understanding of object-oriented design, design patterns, microservices architecture, data structure, algorithms, systems architecture.
- Proficiency in C# .NET Core and in one or more frontend framework (HTML5 / CSS3)
- Understanding and working experience with REST APIs.
- Good knowledge of SQL/No-SQL databases, PostgreSQL is preferred.
- Must have worked on Linux OR Windows software development environments.
- Good experience of Test-Driven Development.
- Knowledge of Agile Methodologies and Pair Programming.
- Knowledge of Coding Standards, version management (Git/Bit bucket or similar), Build Process, Packaging, DevOps and CI/CD.
- Ability to work with multiple teams and projects at any given time.
- Leveraging and contributing to Open Source projects
- Knowledge of open source tool chains and technologies.