Job Description: Firmware Engineer
goTenna is building the world’s most intelligent and scalable mobile mesh networks. Our protocols and devices are designed to enable off-grid connectivity and augment traditional communications networks. goTenna mesh networking turns everything in the world around us into programmable mobile infrastructure to decentralize connectivity and unlock society’s last-mile.
About the Role:
goTenna is looking to hire a firmware engineer to develop software for goTenna Mesh and Pro products. You are responsible for the design, development, testing, and debugging of wireless networking protocols, device drivers, and embedded systems software. Additionally you will develop support for new hardware, and optimize the performance of current and future products. In addition to working with the Firmware Engineering Lead, you will be part of a team of engineers working on web & mobile development, wireless networking protocols, hardware, and quality assurance. Always seeking ways to improve productivity and quality, you will contribute to the overall evolution of our Agile process. This is a remote role.
Coding, testing and productizing networking stacks on multiple goTenna platforms
Design, implement and test firmware modules in embedded C, such as Bluetooth, RF, USB, board support package
Develop and test new code for new products, consisting of new MCU, FPGA and/or PCB
Develop unit test plans and test firmware
Conduct research and development on new protocol development
Required skills and experience:
Bachelor’s in engineering (CS, EE or related field), preferably with communications background or relevant work experience
Minimum 3 years of experience in embedded systems development
Experience implementing networking or radio communication stacks
Strong coding skills in C
Demonstrated ability to work in small form factor embedded systems and resource constrained hardware
Experience writing and modifying hardware device drivers
Experience with software development in UNIX/Linux/macOS with gcc, gdb, git
Strong debugging skills
Ability to communicate quickly and effectively with engineers, management, and clients
Preferred skills and experience:
Experience in wireless communications or mesh networking
Experience operating packet-switched networks
Familiarity with IEEE and IETF networking terminology
Experience developing bootloaders and board support packages
Familiarity with GitHub and Jenkins
Experience with Bluetooth and USB
Experience in real time operating systems (RTOS)
Experience with network programming in BSD UNIX, Linux, or macOS, TCP/IP stack
Experience with scripting languages, especially Python
Experience with ARM microcontrollers
Experience producing project plans and budget estimates
Experience working at a tech start up
An affinity for people who like telling jokes, sharing funny links, do cool stuff outside work, and try to be creative about team-building (e.g. survival skills training, murder mystery dinner theater, shuffleboard tournament, Mafia/Werewolf).
Love for goTenna and our mission to build a distributed communication network from the ground-up!
ITAR: U.S. Citizen or Green Card Required
Placement at the appropriate job level (entry, senior, etc) will be determined by a combination of years of experience, demonstration of proficiency in this field, and other qualifications.
Able to lift 30 lbs.
goTenna is an equal opportunity employer and we value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
Parental Leave with Pay
Holiday pay (including December recess)
Medical, Dental, Vision and life insurance
Short- and Long-term disability plans
Professional Education Stipend