As a key leadership role, reporting to the Director of Engineering, the Manager of Software Development is accountable for managing and coordinating resources and processes to deliver software releases Smiths Products. In addition, the Manager Software Development will participate in defining the strategy for the product development team by driving initiatives that deliver on the division strategy.
Duties & Responsibilities
- Manage a high-performing software team by leading, managing, coaching, motivating, and monitoring the performance of team members.
- Collaborate with peer engineering and R&D managers to systems that are fully integrated (mechanically, electrically, software, and functional capabilities)
- Work together with project managers to execute projects, ensuring that teams have the appropriate product and technical specifications, direction, and resources to deliver products effectively by establishing realistic estimates for timelines to ensure projects meet deadlines.
- Work closely with project management, product management, sales, service, and product line owners to understand the system functional and non-functional requirements.
- Collaborate with Product Management in defining SW Product Strategies and roadmaps that meet the future needs of our customers and markets based on state of the art technologies.
- Evolve existing SW systems, applications, and architectures across the various product lines.
- Coordinate the allocation of software team resources in conjunction with the integrated product and project teams using Smiths processes. Monitor staff usage of WBS codes for time charging.
- Lead the Cybersecurity response for SDI including ensuring software and process compliance and defining needs of the SDI market as part of the global strategy.
- BS in Computer Science, Computer Engineering, or related field, MS preferred. Minimum of 5 years of management/team-leadership experience in a software development organization required. Must have at least 7 years of experience working through the design, development, release cycle, and delivery of software products to market.
- Experience with full lifecycle software development, including activities related to design, implementation, test and qualification of Software.
- Languages: C/C++, C#, Python
- Operating Systems Knowledge: Linux, Windows XP/Vista/7
- Embedded Platforms: Intel x86, ARM
- Experience developing Graphical User Interface (GUI) applications
- Experience working with virtual environments such as VMWare, KVM or VirtualBox
- Integrated Development Platforms: Eclipse, Visual Studio, Code Warrior
- Experience using web servers such as Tomcat or other J2EE servers
- Scripting: BASH, CSH, SH
- Operating Systems Knowledge: Linux (CentOS/RedHat),WinCE/WinEmbedded,WinServer 2008 R2 & higher
- Embedded Platforms: Freescale/ARM, Atmel, other mircoprocessors
- Experience with Code signing, ActiveX web enabling, SSL and HTTPS certificates
- Distributed database development experience (SQLite, PostgreSQL, MySQL) to include redundancy/fail over design and implementation
- Experience configuring systems for government networks to include FIPS and Information Assurance Vulnerability Alerts (IAVA's)
- Experience developing software applications communicating with multiple distributed devices
Additional skills that are a plus:
- Embedded SW development experience in WinXP/WinCE and Linux Development
- Experience working on government programs
- General IT experience
- EE or Electronics Technician course work/experience
- Ability to assist hardware/systems engineering in debug of hardware at the hardware/software interface level
- Experience with logic analyzer, oscilloscope and digital volt-ohm meter and other test equipment
- Wireless systems integration experience