Embedded Software Engineer with 5+ years of experience needed to assist Engineering Team with developing software for new products in the horizon.
Experience working with a number of 16/32 bit microcontrollers is essential (popular examples would ARM’s m3/7 cortex series or Microchip’ P24 series) as is using open source development tools like GCC/GDB/OPENOCD etc
You MUST love writing and debugging code. You must enjoy the challenge of breaking down a problem, analyzing it and finding solutions. Code will be a mix of some low and some high level - firmware and applications.
Requirements - Hardware:
- Strong understanding of digital design concepts (logic gates, truth tables, Karnaugh Maps, processor architecture)
- Ability to read and understand circuit schematics and diagrams
- Experience using oscilloscopes, logic analyzers and Digital Multi-Meters to trouble shoot a problem as needed
- Familiarity with the components of a PCB, ability to solder parts, trace problems
- Experience with Brushed and Brushless Motors are a Plus, though not required.
Requirements - Software:
- 5+ years’ experience developing embedded software in C/ASM (note: 10+ years preferred) - You will be tested on the creation of data structures and algorithms to manage them. As well as the pros and cons of particular approaches to solving problems in the resource constrained embedded environment
- Creative approach to problem solving, able to research problems as needed (books, manuals, google, USENET newsgroups, processor manufacturers online forums etc) and write test software to verify functionality
- Some experience and familiarity with any number of source code revision systems such as SourceSafe, CVS, SVN, GIT.
- You should be prepared to supply us with some code you have written in the past whether or not they were controlled by an RCS
- Experience with 8/16 and 32 bit microcontrollers. Must list the processor architectures one has developed software under. ARM based cores are a definite plus
- Demonstrated experience writing and debugging code in a resource CONSTRAINED environment (some PIC cores have < 1k SRAM). This is where the CREATIVITY comes into play.
- In depth and WORKING knowledge of the standard serial protocols such as RS232/SPI/I2C/JTAG.
- Familiarity with ETHERNET/USB (low and full speed).
- Experience running cross development tools (IDE’s/debuggers etc.) under Windows and or Linux
- Experience developing software under Linux/Embedded Linux. Knowledge of beagle bone and related systems are a plus
Requirements - Education:
- BS in CS/CE or a related field coupled with demonstrated embedded
- Software projects you have worked on in both professional and hobby environments.
Job Type: Full-time