The Software Engineer 2 works on mission-oriented projects that span fielded systems for battlefield situational awareness to medical applications. Software Engineers work on multiple projects in an Agile environment, converting customer requirements into functional, scalable software solutions. As a part of the Software Engineering Team, developers will build out software solutions and see a project through from the design and requirements stage all the way to testing and deployment in the field. We seek applicants who are experienced in the areas of: - Embedded software development on ARM processors, low power microcontrollers, C/C++, RTOS, and embedded Linux - Hardware interfaces and driver development - Communication protocols such as CAN, I2C, SPI, Serial, USB, Bluetooth Low Energy, TCP/IP and Wi-Fi - C#, Java or Android development experience is an added plus - Continuous Integration utilizing Docker, unit testing framework, system testing framework and static analysis tools - Compilers, make files, linker scripts, in-circuit emulators, JTAG debuggers and oscilloscopes.