What you will do
Johnson Controls is seeking a Staff Embedded Software Engineer to join our dynamic firmware engineering team! You will be responsible for a broad array of product portfolios, including sensors, actuators, refrigeration controls, critical environment (differential pressure) controls and wireless communications, and work across multiple product portfolios with a considerable variety of technologies. If you're a self-motivated individual that has a passion for delivering the next generation of building automation controls, enabling our global customers to optimize their comfort, energy usage, and security within their commercial building, then keep reading!
How you will do it
This position offers the ability to work in a hybrid model - working both from home and in our new Innovation Center - the Warren Johnson Engineering Lab. You will design, implement and test embedded software for a wide variety of products and technologies, as well as work in a collaborative and innovative environment. Get ready to be challenged, develop creative solutions, and to submit patent applications for your novel ideas. Since this requires you to go to the office, candidates must be commuting distance to Glendale, WI, or able/willing to relocate.
Required
* Bachelor or Masters degree in Electrical Engineering, Computer Engineering, or closely related discipline
* A minimum of ten (10) years of qualified experience developing firmware using C/C++
* Experience working with RTOS, and threading within multitasking systems
* Experience with serial communications via I2C, SPI, and RS-485
* Experience with wireless communication protocols including ZigBee, Bluetooth/BLE, and Wi-Fi
* A desire to learn new technologies
* Proven ability to provide technical leadership for small teams
* Proven ability to mentor less experienced engineers
* Strong analytical skills, with the ability to generate creative solutions to overcome difficult challenges
* Strong written and verbal communication skills
Preferred
* Familiarity with BACnet and/or Modbus protocols
* Experience with ARM Core based MCUs
* Experience with fixed-segment and/or graphical LCD displays
* Experience with IDEs like IAR or STM32cube
* Experience with Git & Jira