We’re looking for a talented embedded developer to round out our engineering team to make our one-of-a-kind product ready for mass production.
As we move from a late-stage prototype to a production-ready device, your role will begin by enhancing our lightweight scheduler with RTOS-like preemptive priority logic so that our critical RF tasks always run on time.
You’ll also collaborate with our CTO to optimize our communications and pairing protocol.
Later, as we optimize battery life, you’ll convert whiteboard algorithms into workable code to dynamically manage the power / sleep states of the ARM microprocessor, RF transceiver, GPS module and sensors. There will be plenty of room to inject your own brilliance and creativity as we go.
You’ll maintain readable, self-commenting object-oriented code structures, flesh out one last driver or two (a new compass) and validate device performance characteristics in collaboration with our Electrical Engineer.
Ultimately, you’ll help finish the process of turning prototype code into production code, joyfully optimizing our code base not only for performance but for clarity and maintainability.
As the company grows, we look to promote from within and organically grow a long-term cohesive team.
Culturally, we value integrity above all else.
If you consider yourself organized, consistent, passionate about writing great code, have an eye for detail and feel comfortable in both collaborative and autonomous contexts, then we’d like to speak to you.
Top-notch healthcare benefits included. Amazing workspace.
Requirements:
– Deep expertise in embedded C and C++
– Experience developing software on interrupt-driven embedded systems with RTOS or no operating system at all
– Understanding of ARM toolchain, ideally NXP/Freescale Kinetis toolchain
– Ability to read and understand an IC datasheet and at least the basic digital aspects of a a schematic
– Ability to optimize for fast code execution in C/C++ (maximum functionality from each clock cycle)
– Proficient in Git / Github
– Bachelor’s degree in Computer Science (or equivalent awesomeness).
– Solid working knowledge of basic math and algorithms;
Responsibilities:
– Write drivers from datasheet and/or application notes
– Create power-management state machine
– Create data-logging functionality for performance testing
– Debug and enhance radio communication logic
– Create firmware update process
Compensation: 85K-125K plus equity & benefits