Embedded Software/Firmware Engineer
Synapse Product Development utilizes the talents of engaged and excellence-focused engineers, project managers, and business operations professionals to collaborate on creative and cutting-edge product development solutions for the world’s leading companies. Synapsters embrace the opportunity to work on a variety of challenging projects, find fun in solving hard problems with great coworkers, and understand the value of cross-discipline collaboration to provide stellar client service. Synapse supports an environment of openness and trust where employees work hard to get the job done and still have time to maintain active and meaningful lives.
About Synapse’s Seattle Office
Synapse’s headquarters in the heart of downtown Seattle maintains many of the hallmarks of the company’s start-up roots. The dog-friendly open office environment buzzes with activity, and employees are just as likely to solve problems over the ping-pong table as at the white board. With more than one hundred employees at this work site, Seattle Synapsters maintain the traditions of Wednesday Lunch, a weekly catered meal when the entire office comes together to celebrate successes and navigate shared challenges; Beer:30, where Synapsters are welcome to unwind every other Friday afternoon; and a variety of social events in which family and friends are invited to join in on the fun.
Software Engineering at Synapse
Synapse’s Software Engineering team helps design cool, innovative products for the consumer and industrial spaces by partnering with a multidisciplinary team of mechanical, electrical, quality assurance, and new product introduction engineers. Whether developing a firmware solution never before brought to market or writing code for a wearable mobile device, Synapse’s embedded software and mobile engineers bring an attitude of fun, flexibility, and fearlessness to an ever-changing array of exciting design challenges.
Synapse engineers collaborate directly with clients as well as each other, so they are equally comfortable communicating as they are contemplating. They have the tenacity to see a product through from concept to mass production, and they don’t mind changing hats for the good of the project. Synapse engineers are always learning—and teaching: the opportunity to be a listener and a leader exists for engineers at every level. They are willing to understand the client’s objectives as well as its organizational environment while delighting in exceeding the customer’s expectations. And Synapse engineers approach each other with the eagerness to learn, sense of humor, friendly attitude, and mutual respect that make working at Synapse as enjoyable as it is rewarding.
- Work with a small, multi-disciplinary development team to create and design software for execution on bare metal or embedded operating systems.
- Work independently on project tasks as well as work as a team member of a larger project team.
- Work with project managers in Agile/Scrum settings
- Be a creative element that delivers innovative solutions from concept to production.
- Conduct/participate in product design reviews to provide technical input on product designs and quality.
- Conduct software unit tests to exercise your implemented functionality.
- Document your software designs.
- Lead and participate in design reviews and code reviews
- Troubleshooting and fix production firmware
- Interact with team and clients to clearly communicate work progress and design details
- Work with clients to define requirements, develop software architecture, provide status updates, and plan sprints
- Work independently on small projects or in larger project teams
- Participate in brainstorms outside your area of expertise
- Contribute expertise to and learn from the larger software group
- 4-5 years of software development
- Strong C programming skills
- Demonstrated curiosity in engineering and the ability to quickly learn new skills and adapt to project needs
- Strong interest in embedded systems and software with preference given to those with current experience
- 4 year degree in engineering discipline or equivalent experience
- Creative, proactive, and detail-oriented individual with excellent written and spoken communication skills
- An understanding in software engineering best practices
- Strong C++ programming skills
- Experience with development on small, low-power embedded platforms (e.g. ARM Cortex-M, MSP430)
- Familiarity with wireless technologies (e.g BLE, ZigBee, Bluetooth, WiFi, etc.)
- Familiarity with common communications protocols (UART, SPI, I2C, CAN, USB)
- Proficiency with common embedded toolchains (e.g. GCC, Keil, IAR, CCS) and version control systems (e.g. git)
- Experience with one or more RTOSs (e.g. FreeRTOS, uC/OS) and multithreaded programming
- Experience with embedded Linux, Android, and software architecture for applications-class processor systems (e.g. SnapDragon, Tegra)
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.