About the Role
At Sparx, you will work with clients on diverse projects ranging from embedded microcontrollers and media processing to server-side development and mobile apps. Our engineers utilize a wide array of technologies and are challenged daily to push the technological envelope. We operate in a casual, collaborative environment where small teams leverage individual strengths to create innovative solutions across various industries.
Responsibilities
- Design and implement software for embedded devices and systems from requirements to production.
- Collaborate directly with engineering peers from all disciplines to create new technologies.
- Communicate and document engineering designs throughout the product lifecycle.
- Apply proper software lifecycle procedures and methodologies when working with clients.
- Recognize potential system design pain points and utilize the best tools for the job.
- Break down large tasks into smaller, testable pieces and expand software capabilities.
Requirements
- 4+ years of experience as a software developer or embedded engineer.
- Proven track record of learning new languages and technologies.
- Multi-faceted skillset and interests.
- Dedication to proper source control methods.
- Strong problem-solving and communication (verbal and written) skills.
- Excellent mathematics skills.
- Experience in testing and troubleshooting.
- Experience interfacing with internal/external customers and vendors.
- Proven working experience in software engineering.
- Experience in hands-on development and troubleshooting on embedded targets.
- Solid programming experience in C or C++.
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems.
- Familiarity with software configuration management tools, defect tracking tools, and peer review.
- Excellent knowledge of OS coding techniques, IP protocols, interfaces, and hardware subsystems.
- Adequate knowledge of reading schematics and data sheets for components.
- Strong documentation and writing skills.
- Ability to work independently and proactively identify next steps.
- Ability to estimate tasks when interfacing with stakeholders.
Skills
- C
- C++
- VHDL
- Embedded Linux
- Yocto
- Buildroot
- Python
- C#
- .NET
- Embedded microcontrollers
- Media and image processing
- Bluetooth
- TCP communications
- Server-side database development
- Web development
- Mobile app development
- Electronics
- Advanced data analysis
- Machine learning
- Virtual reality
- Modern tools and libraries
Location
- Remote
Work Type
- Full-time
Experience Level
- 4+ years
Education Level
- Bachelor's degree in Engineering or similar
Benefits
- Health Care Plan (Medical, Dental & Vision)
- Retirement Plan (401k, IRA)
- Life Insurance (Basic, Voluntary & AD&D)
- Paid Time Off (Vacation, Sick & Public Holidays)
- Short Term & Long Term Disability
- Training & Development
- Free Food & Snacks
- Wellness Resources
About the Company
- Sparx operates across many fields such as aerospace, oil and gas, medical, robotics, industrial automation, and consumer products.
- Sparx is a casual and highly collaborative work environment.
- Sparx's relatively small team utilizes the best of each player on different projects.
- Sparx moves quickly and works on a wide variety of projects.
- Sparx hires slowly and hires well.
- Sparx has a strong reputation to uphold.
