This position is in our exciting software team that develops software for the networking, system control and user interface components that powers our 3D computed tomography explosive detection system. These critical components are responsible for managing, persisting and routing scanned images, servicing control and supervisory requests from other parts of the system, controlling electrical, mechanical motions and interfacing with other machineries via PLC and rendering user interfaces using 2D and 3D technologies on multiple platforms including Web, Linux and Windows. These critical components must be highly available, highly scalable and meets strict latency and throughput requirements.
Duties and Responsibilities
You are a motivated software developer who had built complex distributed systems. You've shipped products, tools and modules and is driven by the challenges of solving unique and difficult technical problems, and are never afraid to dive into new territory to learn new things. You have leadership qualities, is versatile and enthusiastic to tackle new problem not only in your own area but across the full stack. You have strong problem solving skills, is adaptable, proactive and always willing to take ownership. You consistently deliver product on time without compromising on quality. You have an excellent sense of technical design, and work well in small self-organizing Agile teams.
What You'll Do:
- Be a hands-on contributor designing and implementing C++ libraries and applications
- Creating and maintaining tools to validate, test, exercise and providing unit tests and documentation for these components
- Delivering projects on-time, within functional and quality spec, all the while communicating clearly with stakeholders
- Design, implement, test, maintain and enhance features for new and released products
- Work with technical leads, managers and team members to estimate effort and to clarify, negotiate and document scope and design
- Mentor more junior team members, help maintain unit test coverage, code documentation, improve software structure and supportability
- Stay in tune with software and industry technology trends to ensure our product stays best of breed for present and future
- Communicate technical concepts to customers and internal audiences. Collect requirements, describe software features, technical designs and product strategy
Required Skills and Experience
- Excellent written and verbal communication skills
- Bachelor or Master of Science/Engineering in Computer Science/Engineering or equivalent
- 10+ years as software engineer designing and implementing complex distributed system
- Expert level designing and programming in C++
- Strong skills in Python
- Deep understanding of object oriented design, design patterns, data structure, algorithms and systems architecture
- Extensive experience developing on Linux including build, packaging, debug and profile tools
- Strong understanding of state machines
- Hands-on experience working on distributed systems with robust analytical and troubleshooting skills
- Knowledge of professional software engineering practices for the full software development lifecycle following Agile methodology, coding standards, code reviews, source management strategy, build process and testing
- Ability to quickly learn complex software, system and technology
- Proven track record of taking ownership and successfully delivering results
- Experience in database and basic SQL
- Experience with multi-threaded programming
- Knowledge of writing device drivers in Linux a big plus
- Leveraging and contributing to Open Source projects
- Knowledge or experience with NodeJS, CORBA and Thrift, web technologies, continuous integration
At Smiths Detection we are dedicated to making the world a safer place.
Smiths Detection, a division of Smiths Group, is a global authority on the application, management and manufacture of world class detection and screening technology.
We deliver solutions needed to protect society from the threat and illegal passage of explosives, prohibited weapons, contraband, toxic chemicals, and narcotics. Delivering an unrivalled range of detection technologies, we support customer from markets across air transportation, ports and borders, the armed forces, and critical infrastructure and emergency services.
Smiths Detection is an EEO/AA Employer/Vet/Disabled. Must be eligible for a US Security Clearance.