Senior Engineer - Design & Development
Siemens
- Bangalore, Karnataka
- Permanent
- Full-time
- Requirement analysis and design of software solutions based on requirements and architectural /design guidelines of native syngo mainline
- Implementation of features and/or bug-fixing and delivering solutions adhering to coding and quality guidelines
- Identification and implementation of (unit/integration) tests to ensure solution addresses customer requirements and does not cause impact to installed base
- Performing code review, providing documentation (requirement/design/test specification) inputs, and ensuring delivery conforms to organization and project quality processes
- Ensuring integration and submission of solution into software configuration management system, within committed delivery timelines
- Active contribution in the risk analysis of the product
- Must be able to independent trouble shoot and solve complex problems
- Must be able to learn & try out new technologies
- MUST HAVE strong hands-on C# especially on OOPS and SOLID.
- Hands-on experience of designing Interfaces and Application Programming Interfaces.
- Good experience on basic design principles.
- Strong hands-on experience of multi-threaded programming.
- Hands-on experience on few design patterns and tactics.
- Basic to intermediate knowledge of UML diagrams.
- MUST HAVE STRONG hands-on experience of writing automated unit tests.
- MUST HAVE hands-on experience with at least one mocking framework (NMock, Moq, Fakes etc.)
- MUST HAVE good understanding of error handling.
- Basic understanding of automated integration/system tests.
- Knowledge of at least few test design methodologies and concepts like test pyramid is a plus.
- Knowledge and experience on Test Driven Design is a plus.
- Basic knowledge of NuGet and GIT Source control.
- Strong understanding of .NET Ecosystem
- Knowledge of Docker, Kubernetes, Containers is a plus.
- Good understanding of debugging issues and investigation during development and in deployed product.
- Knowledge of Trunk Based Software Development is a plus.
- Good understanding of source control and release/integration pipelines.
- Flair to learn new technologies and thrive in an agile environment