Synapse is hiring creative software engineers who have a passion for great products and technology, and want to use that passion to develop innovative products in an incredibly fun, fast-paced, and highly collaborative team environment. This position is part of the embedded software group. You will be an active part of multi-disciplinary teams and will design and develop firmware for custom, leading-edge hardware products. Working with electrical and mechanical engineers, project managers, and client teams, you will have an identifiable impact on the success of projects and end products.
A passion for quality code and experience with writing software from high-level embedded applications down to register-level device drivers are essential; good client interaction skills, leadership ability, and an egoless approach to teamwork are highly valued.
Synapse aims to foster a fun and creative work atmosphere where engineers can challenge themselves, grow professionally, and have fun doing it!
Major Job Functions:
- 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
- 7+ 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)
PLEASE NO CALLS. Only applications submitted via the company website will be considered.
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.