About Us
Smiths Detection , part of Smiths Group , is a global leader in threat detection and screening technologies for aviation, ports & borders, defense, and urban security. Our expertise is spread across 5 R&D centers, 21 Global Offices and 7 Manufacturing Sites with 3000 Brilliant minds globally contributing for over 40 years at the frontline which enables us to deliver the solutions needed to protect our society from any threat and illegal passage of explosives, prohibited weapons, contraband, toxic chemicals, and narcotics. Every minute of every day, our technology and talented team members help to make the world a safer place -
Job Description
We have a range of digital solutions ( currently and we are adapting a range of new lean, agile processes so that we can keep pace with the digital evolution of our industry.
Smiths Detection is looking for dynamic, innovative and motivated software developers to be the part of its global platform and applications development team in Technology group. The purpose of this role is to develop, sustain and enhance our digital software and solutions. The position is based in Bangalore.
The Senior Software Developer is part of the overall Platform and Application Software Development group, working closely with Architects, Product Management, Program Management, DevOps and Test engineers to deliver successful pursuit outcomes and ensure robust platform and applications. The role requires hands-on software development experience and capabilities to translate architecture and design to software code using Test Driven Development approach.
Duties & Responsibilities
Responsibilities :
- 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.
The Individual
Skills and Experience :
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.