What are the responsibilities and job description for the Senior Firmware Engineer I position at Neptune?
Position Summary:
The Sr. Firmware Engineer I is responsible for the design, development, and implementation of new
products as well as engineering support for existing products. This individual performs product
design and works as a team member with R&E, Marketing, and Manufacturing for new products
while complying with project schedules and budgets.
Key Qualifications:
- Excellent C/C programming skills with experience in embedded system design and
development - Extensive experience in debugging embedded systems
- Experience with planning, organizing, and prioritizing firmware development tasks for a
firmware team - Experience with embedded firmware development tools such oscilloscopes, spectrum
analyzers, DC power analyzers, logic analyzers, and protocol analyzers - Experience with designing and developing RF products for public and proprietary networks
- Experience with ARM Cortex M3/M4, 8051, and MSP430 microcontrollers
- Experience with Keil, IAR or equivalent IDEs/compilers
- Knowledge of wireless communication techniques and associated protocols such as
LoRaWAN, Bluetooth Classic and Bluetooth Smart (BLE), cellular communication (LTE) - Familiarity with low power design practices for battery powered devices
- Familiarity with serial communication protocols such as UART, SPI, I2C
- Familiarity with security-related aspects and best practices associated with embedded
system development including cryptographic algorithms, authentication protocols, secure
boot, ARM TrustZone, etc. - Ability to read and understand hardware schematics
- Experience with JIRA or other issue tracking software
- Experience with TeamCity or other continuous integration platforms
- Experience working in an Agile development environment (Scrum/XP)
- Experience with unit testing and unit testing frameworks/tools such as CppUTest and Unity
- Excellent documentation practices and communication skills
- Commitment to maintaining project schedules and delivering tasks on time
Preferred Qualifications:
- Knowledge of networking connectivity protocols such as TCP/IP, FTP, MQTT
- Experience with agency certifications such FCC, Industry Canada, and cellular carrier
certifications - Project management experience
- Embedded Linux experience
- Python
Requirements:
Education:
- Bachelor of Science degree in Electrical Engineering, Wireless Engineering, or
Computer Engineering
Experience:
- 9 years in Engineering product design and development. (7 years of experience
for candidates with a Master of Science degree.) - 5 years of embedded C programming
Location: Duluth, Georgia or Tallassee, Alabama
#HP1