What You’ll Do
We are looking for a software engineer with deep experience who will help us advance our ability to make sense of the world and make intelligent decisions about how to react to it. On a daily basis, you’ll carry out some of the various engineering tasks listed below:
- Work with product managers and other engineers in order to help define user-level details by providing technical feasibility/difficulty estimates.
- Collaborate with your peers to offer your expertise on their projects and well as bring their ideas into yours.
- Provide technical guidance and mentorship for systems-level design and troubleshooting.
- Use your deep technical expertise to delight our customers and get them new products and features on time.
- Work independently to design and implement specific algorithms that accomplish well-defined user-level goals.
- Collaborate with a team of cross-disciplinary software engineers while you integrate your algorithms into a resource-constrained computational system that must share processing time with digital filtering algorithms, computer vision algorithms, audio algorithms, and machine learning algorithms.
- Test and debug your code and features so that you are proud of what will be tested by the SQA team and confident that it will pass.
- Work with SQA team to debug your work as you take your features to production release.
- Help field technical questions from our customer support team as they help our users have the best experience possible.
- Work on iterative releases, MVP-style, on features that generally take a month or two to develop, not a year or two.
Qualifications:
Requirements:
- BS/MS in Computer Science, Engineering, et al. or a great portfolio of hardware/software work.
- 7+ years professional experience developing software for physical devices, like IoT and robots.
- 7+ years professional experience developing software in C++ and C, and ability to write clean, well-documented modular code.
- Experience with SOC and/or microcontroller development.
- Proficiency developing software in a Linux environment.
- Strong engineering test & debug skills for complex real-time systems.
- Experience with version control (preferably Git) and bug tracking systems.
- Proven creativity in developing for resource-constrained hardware environments.
- Ability and desire to develop with the end-user in mind.
- Proactive and clear communication abilities.
- Appreciation for documentation.
- Co-worker & customer empathy.
The best candidates will have:
- 10+ years professional experience developing software in C++ for physical devices.
- Track record of technical leadership and mentorship.
- Proficiency developing not only high-level decision-oriented algorithms but also lower-level code that interfaces with sensors and actuators.
- Skillful at code instrumentation for algorithm development and debug.
- Great track record of knowing when to switch between simulation and the real-world for both development and testing.
- Love of developing for resource-constrained hardware platforms.
- Experience working within embedded Linux or embedded Android.
- Experience developing for mobile-class SOC.
- Experience building software for consumer products.
Owl Labs is over 40% remote and headquarters are based in Boston, MA. This role is a Boston-based position, though our team is currently working 100% remote due to COVID-19.