F

Lead Software Engineer

Fortive
Full-time
On-site
Boxborough, Middlesex, United States
Description

Purpose of Position:

Gems Setra has an outstanding opportunity for an experienced Lead Software Engineer to take on technical leadership role in the design and development efforts for software enabled products and embedded products lines. The ideal candidate will have overall responsibility for designing and implementing solutions for our product platforms.  The Lead Software Engineer will develop effective, efficient and reliable code during project phases for new product development. Will own continuous design, development, and improvement of the existing products’ codebase to meet the needs of our customers and maintains a robust, modern development environment.

Essential Functions:

  • Serve as a technical leader for software design and development efforts for software/ firmware development projects.
  • Design, develop, test & debug code, create and build installation packages, and perform analysis of firmware libraries and applications for existing and new products.
  • Develop documentation that demonstrate solutions (Firmware & Software Design documents), diagrams, and produce commented and readable code
  • Ensure software quality through continuous improvement of test plan methodologies, as well as leadership of code documentation reviews of software (embedded) products.
  • Provide advice to the Application and Solution Engineers to resolve issues in networked embedded products.
  • Provide mentorship and work direction to junior engineers.

Education & Experience Required:  

  • Bachelor’s degree in computer science (or related degrees) and six (6) years of experience in performing object-oriented software development in C/C++, working experience with building automation system and communication protocols such as BACnet/ Modbus preferred.
  • Or alternatively, Master’s degree in computer science (or related degrees) plus three (3) years of experience in performing object-oriented software development in C/C++, working experience with building automation system and communication protocols such as BACnet/Modbus is preferred.

Desired Skills: 

  • Strong programming experience in C/C++.
  • Experience in system software design.
  • Experience with Linux, Yocto Project, Docker, and build systems.
  • Experience debugging and maintaining automated software testing by writing unit tests, shell scripts, and Python scripts to test networked devices.
  • Experience managing software version control with Git, development ticket tracking with Jira, and development feedback cycles with Agile.
  • Experience implementing and managing Jenkins CI/CD pipelines on cloud servers using Docker and AWS knowledge, while maintaining best practices and internal documentation on DevOps processes.
  • Experience with all levels of firmware from UI development (Qt/ QML experience is a plus) to ARM core processors, and microprocessors.