Embedded Software Engineer

Company: SparkFun Electronics
Job type: Full-time

About SparkFun
Since 2003, has been helping turn ideas into reality – whether you’re creating a smart weather station, exploring the frontier of machine learning, building a robot for school or prototyping your first (or tenth) product. No matter your vision or skill level, our open source components, resources and online tutorials are designed to broaden access to innovative technology and make the road to a finished project shorter.
We are an equal opportunity employer that values a diverse workforce and an inclusive culture. SparkFun offers an abundance of opportunities to learn new skills from other Funions, in addition to many other benefits and perks.
About SparkFun's Next Software Engineer
SparkFun is looking to add a Software Engineer to join our Engineering team to design, create and maintain the software delivered with our single board computer products. The Software Engineer is an important role within SparkFun, developing and delivering key functionality to the products and solutions we create for our customers.
Working closely with other members of our Engineering team, the Software Engineer is responsible for the software components of the products we build – ranging from sensors, microprocessors, and single board computers.
The Software Engineer is a member of SparkFun’s Engineering team, reporting to the Engineering Department Manager.
The right candidate collaboratively works with a variety of internal and external customers, as well as other members of the Engineering team to develop software components for SparkFun products. Following a user-centered design approach, the Software Engineer ensures the design, development and delivery of a software solution that not only meets functional needs, but user desires and skill levels.
Essential Job Functions
Research, design and implement software solutions for microcontrollers and single board computers
Develop cross platform solutions that operate across a wide variety microcontroller environments
Work closely with hardware engineers to develop software solutions that seamlessly work with new products.
Describe the developed functionality through documentation, tutorials, and examples.
Work as a key member of a cross-functional product development team.
Work closely with the open source software community, collaborating with larger products, as well as supporting SparkFun created solutions.
Meet with internal customers and facilitate the creation of requirements and user stories 

Facilitate the elaboration of customer requirements into development user stories and acceptance tests
Requirements
Required Skills and Qualifications:
Expert in MicroPython and Python development
Experience with the Arduino development ecosystem
Experience with embedded C/C++ development.
Familiarity with hardware communication protocols (I2C, I2S, SPI)
Experience with robotics and educational robot platforms.
Experience with network development, and internet-of-things network patterns and protocols.
Familiarity with DIY projects that involve electronics, microcontrollers, single board computers and programming.
Familiarity with user-centric software development
3+ years software experience
Excellent communication skills
Additional Qualifications (not Required)
Experience with Open Source software and community driven development
Experience with version control software, tools and methodologies (git, (url removed))
Benefits
SparkFun Benefits & Perks
At SparkFun, we ask a lot of our employees, and that’s why we give so much in return. Here are just some of the benefits:
Competitive salary
Medical/dental/vision plan
Matching 401(k),
A casual dress code for you
Dogs - yes, we bring dogs to work
Full gym with climbing wall. If that’s not your style we offer a monthly gym stipend or onsite yoga
We have a great employee discount and opportunities to create and share content with the SparkFun community
Paid Parental Leave
Paid time to volunteer
EcoPass (public transportation pass)
Flexible Paid Time Off
Summer BBQs, work parties, and more!

Apply for this job