Embedded Software Engineer
NIKOLA LABS
Nikola Labs is a wireless power company with an advantaged far-field technology that converts radio frequency (RF) energy into direct current (DC) power. We are a devoted and capable team that includes world-renowned electrical engineers and distinguished business leaders united by a common goal – advancing wireless power into the marketplace. We are located at The Point at Otterbein University, a maker-space and incubator for technology start-ups and home to the school’s engineering program,
CULTURE
Nikola Labs is a rapidly growing start-up with big ambition. We think and act nimbly and believe in open communication from every team member, where feedback to improve technology and company operations is both encouraged and rewarded. We have an informal work environment that favors results over bureaucracy.
OPPORTUNITY
Work with brilliant teammates and the coolest technologies
Enjoy a flexible, collaborative culture
Make a real difference
Share in the fruits of your labor
Love the place you work
ROLE/ RESPONSIBILITIES
We are seeking a motivated and talented Embedded Software Engineer with 2 to 4 years experience, to work closely with great electrical and software engineers and help to advance our products and continued success in the marketplace.
This role focuses on embedded firmware design and development in a product development lifecycle for an ambitious product roadmap. It spans full lifecycle development, including requirements gathering, design, development, testing, production deployment, documentation, training, configuration, and maintenance.
Work in a software development methodology based on agile and lean thinking, adhering to the established coding conventions, documentation standards, testing procedures, and quality assurance
Work towards the development and optimization of code for low power applications
Author and implement scalable and sustainable embedded code for current and future systems
Design, test, and implement autonomous control functions (e.g. power control, subsystem triggering, error handling) for current and future systems
Work closely with firmware and electrical engineers to support board-level and system-level bring-up, testing, and debugging
Implement command and control interfaces
Analyze test data for ways to improve our existing controls and design
Participate in system and software module level design reviews
REQUIREMENTS
Bachelor’s degree (or higher) in Computer Engineering, Computer Science, Electrical Engineering or similar or other relevant experience
2 to 4 years’ experience in:
Firmware and device driver development
Embedded Software development experience
Ability to debug embedded systems using oscilloscopes, logic analyzers, IDE debuggers, etc.
Knowledge of embedded microprocessors (Microchip, STMicro, Texas Instruments, etc.)
Experience with serial communication protocols such as USB, SPI, I2C, and UART - Ability to debug firmware and dive into the hardware (reading schematics, hardware bring up, measurement equipment, etc.)
PREFFERED REQUIREMENTS
Experience writing bootloaders for over the air (OTA) and serial updates
The ability to read and interpret schematics and/or Bluetooth and other low power communication protocols
Understanding of Continuous Integration methods
Understanding of end-to-end SW development tool chains and environments.
General Embedded Systems experience
Experience using embedded software development tools such as compilers, debuggers, and emulators
Power optimization for embedded system
Experience working with version control software such as Git.
Knowledge of Embedded RTOS and Device Driver/ Diagnostics
Knowledge of TCP/IP and socket level networking and USB protocols