Job Description: Embedded Network Software Engineer
About goTenna:
goTenna believes that preparedness leads to better outcomes – a multi-layered service goTenna provides straight out of the box with network setup, training, and execution. We are advancing universal access to connectivity by building the world's most intelligent and scalable mobile mesh networks. goTenna is the world's leading mobile mesh networking company, providing off-grid connectivity solutions for smartphones and other devices, as well as augmenting traditional communications networks. This technology enables mobile, long-range connectivity even without cellular service, Wi-Fi, or satellite connectivity. goTenna's drive to create resilient connectivity began during Hurricane Sandy in 2012, when approximately a third of cell towers and power stations in affected areas failed. goTenna believes that preparedness leads to better outcomes – a
multi-layered service goTenna provides straight out of the box with network setup, training, and execution. Based in Brooklyn, New York, goTenna is a proud partner of the United States military, first responders, and law enforcement, among others, and is backed by investors, including Founders Fund, Union Square Ventures, Comcast Ventures, Collaborative Fund, and Bloomberg Beta.
About the Role:
goTenna is seeking an engineer to develop software for goTenna mesh networking products. You are responsible for the design, development, testing, and debugging of wireless networking protocols and embedded systems software including device drivers. You also 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 collaborate on a weekly basis with team members in web and mobile development, wireless networking research, hardware development, and quality assurance.
Primary Responsibilities:
- Code, test, and deliver network stack improvements in C on multiple goTenna products
- Design, implement, and test embedded software modules on microcontroller- and FPGA-based embedded platforms
- Develop unit test plans
- Conduct research and development on new protocols
Required Experience:
- Bachelor’s degree in computer science or relevant work experience
- Minimum 5 years of experience
- Experience programming packet-switched networking protocols
- Experience selecting, implementing, and testing data structures and algorithms
- Experience writing portable, clear C code following the C99 standard or later
- Experience programming for systems with moderate clock speeds, limited RAM and flash storage
- Experience writing and modifying hardware device drivers
- Experience with software development in UNIX/Linux/macOS using gcc, gdb, ld, make
- Effective use of source control systems, especially git
- Strong debugging skills
- Ability to communicate quickly and effectively with engineers, management, and clients
Preferred Experience:
- Experience in wireless communications or mesh networking
- Experience building and operating packet-switched networks
- Familiarity with core IEEE and IETF networking protocols and terminology
- Experience in real time operating systems (RTOS)
- Experience with TCP/IP network programming in BSD UNIX, Linux, or macOS
- Experience with scripting in Bourne (Again) shell or Python
- Experience with high-level languages such as Java, Kotlin, and Swift
- Experience with ARM microcontrollers
- Experience producing project plans and budget estimates
- Experience working at a startup
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.
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 Ibs.
goTenna Benefits:
- Equity
- 401(k) plan
- Unlimited PTO
- Parental Leave with Pay
- Holiday pay (including December recess)
- Medical, Dental, Vision, and life insurance
- Pre-tax benefits
- Short- and Long-term disability plans
- Professional Education Stipend