Senior Embedded Software Engineer

Seniority LevelEmployment TypeJob Functions
Senior-levelFull-timeEngineering

What if the devices you use every day were smart enough to understand both their environment and your intent? Imagine what’s possible when your camera can accurately perceive what it’s seeing and hearing without compromising your privacy. Imagine your wearable devices seamlessly integrating into your life, doing what you need them to do for as long as you need them to do it. Imagine if your appliances knew exactly what to do. No complicated settings, just perfect results. So simple it feels like magic.

Join the dynamic and experienced team at Perceive, which is making magic a reality, as Senior Embedded Software Engineer. Be part of the team that’s transforming sensing into perceiving!

Job Description Summary

Perceive is looking for a Senior Embedded Software Engineer to join our highly skilled systems development team. The ideal candidate will assume a hands-on role in the design and implementation of embedded software/firmware and applications that will run on our proprietary IoT machine learning platform. She/he will translate architecture and design requirements into production-ready and commercially deployable solutions. The candidate should demonstrate a structured and detail-oriented approach to their work and follow rigorous engineering approaches. The ideal candidate will be self-motivated and focused, comfortable collaborating with geographically dispersed teams, passionate about embedded software and systems engineering,

Essential Duties and Responsibilities

  • Develop embedded software/firmware and components for constrained hardware environments with a strong focus on efficiency, stability, and scalability
  • Evaluate requirements, architectures, and tools; quantify design and performance tradeoffs
  • Collaborate with other teams in the organization to ensure successful commercialization, deployment, maintenance, and support of developed software and applications
  • Participate in future product definition and prototype development
  • Innovate and finetune development methodology through collaboration; maintain and manage development frameworks, tools, and applications
  • Maintain detailed records of work and produce technical reports and presentations for other groups of the organization

Minimum Qualifications

  • Bachelor’s or master’s degree in any of Electrical Engineering, Computer Science, Software Engineering, or a related field
  • 5+ years of experience in embedded software/firmware development
  • Strong coding skills in C/C++, Python, and scripting associated with large code base development
  • Strong experience with embedded processors, hardware interfaces, communication protocols, multi-threaded programming, RTOS, Linux, or equivalent development
  • Strong embedded debugging skills with JTAG debug/trace, in-circuit emulators, and logic analyzers
  • Experience with coding standards, code reviews, source code management, build management, issue tracking, testing methodologies, and release management

Preferred Qualifications

  • Experience developing imaging and/or audio applications, IoT platforms, embedded system security, and/or machine learning applications
  • Agile/Kanban development expertise
  • Familiarity with Atlassian Data Center applications

Work Environment

  • This position involves working mainly in a typical desk/office environment, but it can also involve working in a lab setting
  • Travel to other Perceive offices may be required occasionally

Location

  • Preferred locations: Boise ID, San Jose CA
  • Other locations: Vancouver BC