
Sr. Embedded Software Engineer
- Oak Ridge, TN
- Permanent
- Full-time
- Design, maintain, and add features to C or C++ firmware running bare metal on various microcontrollers.
- Design, maintain, and add features to .NET, C# or C++ applications running on RTOS or a Yocto Linux system.
- Lead software development and design on new products and provide technical direction for other engineers.
- Review schematics and participate in design reviews as needed with Hardware Engineering Team to verify software feasibility.
- Collaborate with the Hardware Engineering Team to test new embedded hardware.
- Provide technical assistance to customers and Teledyne employees when required.
- Identify, analyze, and debug software bugs in legacy systems.
- Learn and implement new skills, frameworks, and libraries as required for new product development.
- Write high quality code that is well documented.
- Bachelor’s or Master’s Degree in Computer Science, Computer Engineering, or similar field. (Bachelor’s Degree required, Master’s Degree preferred).
- 5+ years of experience developing embedded applications with C, C++, or C#.
- Able to understand and debug C, C++, and C# code.
- Understand version control, bug tracking, and continuous integration tools (e.g. Bitbucket, GitKraken, …).
- Able to work efficiently in a Windows or Linux environment.
- Experience with scripting languages such as Python, Bash, or Perl preferred.
- Physics background or working knowledge of basic gamma and neutron detection and spectroscopy preferred.
- Experience with SoM concepts, power management, batteries, battery chargers, POE, and hot swap controllers preferred
- Experience with lab equipment: oscilloscopes, logic analyzers, multimeters, and hand tools preferred
- Prototyping experience with off the shelf development kits or custom circuits designed by a Hardware Engineering Team
- Embedded development and/or:
- Knowledge and experience with common embedded protocols like I2C, SPI, and UART
- Knowledge and experience implementing USB, USB-C, Bluetooth, Ethernet, and GPS protocols
- Experience writing firmware or drivers for embedded microcontrollers and processors
- Experience with the following hardware: RP2040, Silicon Labs Gecko, Microchip PIC, and ST32 family
- Linux development and/or:
- Experience with the Qt framework and libraries
- System level experience with Linux, involving kernel or device driver development
- Knowledge of the LVGL Graphics C Library
- Familiarity with the Yocto Project
- Familiarity with real time operating system (RTOS) is a plus