Job Description
Job Responsibilities:
- Responsibilities involve working closely with a small team to define the software architecture and requirements based on high-level system requirements and the entire design, implementation, and test of the real-time software running in and controlling the hardware.
- Role requires hands-on real-world experience with the following:
- Architecting, benchmarking, designing, and programming software for physical control in C or C++ programming language for a hard real-time (time-deterministic, interrupt-driven, task-based, multi-threaded) environment using an RTOS such as real-time Linux, VxWorks, or Xenomai
- Experience developing in Linux environments
- Integration and testing in a laboratory setting of all of the above
- Scripting in Python or Matlab for the purpose of electronic testing and data analysis
Skills:
- Firmware programming using VHDL or Verilog
- Digital design and schematic capture using Mentor Graphics tools
- Analog or power circuit design
- Familiarity with laboratory instrumentation, including oscilloscopes, function generators, meters, logic analyzers, and frequency counters
- Experience with revision control systems such as git
- Experience developing low level drivers
- Experience with debuggers such as gdb, lldb, etc.
- Knowledge of communication and hardware protocols (e.g. UDP, TCP, UART,SPI, I2C, USB, PCIe, MIPI)
Education/Experience:
- Bachelor's plus 2-5 years minimum experience, or MS plus 2 years minimum experience.
- The successful candidate will have excellent interpersonal and communication skills and be able to work in a team-oriented environment.
Job Tags