Embedded Software/Firmware Engineer

Software Engineering At Synapse

Synapse is hiring creative software engineers who have a passion for innovative products and technology, and want to develop products in a fun, fast-paced, and highly collaborative team environment. Synapsters embrace the opportunity to work on a large variety of challenging projects, find joy in solving hard problems with strong teams, and understand the value of cross-discipline collaboration to provide stellar client service.

Synapse engineers collaborate directly with clients as well as each other, so we are equally comfortable communicating as we are coding. We have the tenacity to see a product through from concept to mass production. Synapse engineers are always learning—and teaching: the opportunity to be a listener and a leader exists for engineers at every level. We are willing to understand the client’s objectives as well as its organizational environment, while delighting in exceeding the customer’s expectations. Synapse engineers approach each other with the eagerness to learn, a sense of humor, friendly attitude, and mutual respect that makes working at Synapse as enjoyable as it is rewarding.

Synapse aims to foster a creative work atmosphere with openness and trust, where engineers can work hard, learn and grow professionally, and maintain meaningful lives. Diversity of our ideas and experiences (technical and personal) enriches our teams, enabling us to push innovation further.

 

About Synapse’s Seattle Office

Synapse’s headquarters are in the heart of downtown Seattle, which 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 whiteboard. With over 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; Social:30, where Synapsters gather 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. 

 

Your Role

As a software engineer at Synapse, you will be a contributing member of multidisciplinary teams and will design and develop firmware for customized innovative hardware products. Working closely with electrical and mechanical engineers, project managers, and client teams, you will have an identifiable impact on the success of projects and end products. Strong client interaction skills and an egoless approach to teamwork are highly valued.  A passion for quality code, respect for your craft, your customers, and your team, and a demonstrated ability to deliver great work and still have time to play will help you feel right at home.

  • Work with a small, multi-disciplinary development team to design, implement, and test software for execution on bare metal or embedded operating systems. 
  • Work independently, on small (1-5 people) or large (up to 15 people) teams, and collaborate closely with clients and project managers in Agile/Scrum settings to define requirements, software quality plans, develop test documentation, contribute with project scoping and sprint planning.
  • Develop test plans, generate test cases, implement and perform functional and regression testing in an agile embedded software development environment for connected devices, and provide product quality status reports.
  • Follow established software development processes for quality deliverables including implementing software tests, manufacturing tests, documenting design and architecture, and conducting/participating in engineering reviews.
  • Communicate and interact with your team and clients to clearly set work expectations, share technical and design details, resolve issues, and report progress.
  • Work collaboratively and participate in brainstorms outside your area of expertise to define innovative solutions from concept to prototype and production.
  • Contribute expertise to and learn from the larger software group.

 

Required Experience

  • Ability to work in the US without sponsorship
  • 3+ years of embedded software development and testing experience with emphasis on connected embedded hardware and software systems.
  • Comfortable with troubleshooting hardware and software, from device firmware to cloud infrastructure or mobile application stack. 
  • Strong C programming knowledge (e.g. memory management, pointer handling) with demonstrable experience in Python.
  • Expertise with common software tools for requirements management, test plan management, and bug/regression tracking (e.g. JIRA). Experience in software testing of consumer electronics and/or medical devices.
  • Experience with low-level development and debugging on at least one microcontroller platform, such as ARM Cortex-M, MSP430, RISC-V, and their associated tool chains.
  • Familiarity with common communications protocols (UART, SPI, I2C, CAN, USB).
  • Familiarity with open-source software licenses (e.g. GPL, MIT, BSD).
  • Applies software engineering best practices, SQA process and methodologies, including estimation, design documentation, unit and system testing.
  • Demonstrated curiosity in engineering and the ability to quickly learn new skills and adapt to project needs. 
  • Creative and detail-oriented individual with excellent written and spoken communication skills.

 

Desired Experience

  • 4-year degree in computer engineering, electrical engineering, computer science or equivalent experience.
  • Experience working as a SDET with automated testing, test frameworks, continuous integration, and release management.
  • Familiarity with wireless technologies (e.g BLE, ZigBee, Bluetooth, WiFi).
  • Experience with embedded Linux, Android (application and/or kernel level), including configuration management and board bring-up.
  • Experience building connected device applications using cloud technology stacks (AWS, Azure, AWS IoT/AVS/Lambda, and languages Go, Python).
  • Experience building mobile applications for iOS, Android (Swift/SwiftUI, Kotlin, QT, Lua). 
  • Experience with one or more RTOSs (e.g. FreeRTOS, Zephyr), and multithreaded programming.
  • GitHub/GitLab project portfolio available. 

Synapse is an Equal Opportunity Employer (“EOE”).  We value diversity and strive to promote an inclusive culture.  We are committed to a work environment that respects and supports individuals and prohibits discrimination and harassment of any type and affords equal employment opportunities to employees and applicants without regard to race, color, religion, sex, sexual orientation, gender identity or expression, pregnancy, age, national origin, disability status, genetic information, protected veteran status, or any other characteristic protected by law. 

Apply for this Job

* Required

resume chosen  
(File types: pdf, doc, docx, txt, rtf)
cover_letter chosen  
(File types: pdf, doc, docx, txt, rtf)


Voluntary Self-Identification

For government reporting purposes, we ask candidates to respond to the below self-identification survey. Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

As set forth in Synapse Product Development Inc.’s Equal Employment Opportunity policy, we do not discriminate on the basis of any protected group status under any applicable law.

Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to the Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.


Form CC-305

OMB Control Number 1250-0005

Expires 05/31/2023

Voluntary Self-Identification of Disability

Why are you being asked to complete this form?

We are a federal contractor or subcontractor required by law to provide equal employment opportunity to qualified people with disabilities. We are also required to measure our progress toward having at least 7% of our workforce be individuals with disabilities. To do this, we must ask applicants and employees if they have a disability or have ever had a disability. Because a person may become disabled at any time, we ask all of our employees to update their information at least every five years.

Identifying yourself as an individual with a disability is voluntary, and we hope that you will choose to do so. Your answer will be maintained confidentially and not be seen by selecting officials or anyone else involved in making personnel decisions. Completing the form will not negatively impact you in any way, regardless of whether you have self-identified in the past. For more information about this form or the equal employment obligations of federal contractors under Section 503 of the Rehabilitation Act, visit the U.S. Department of Labor’s Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

How do you know if you have a disability?

You are considered to have a disability if you have a physical or mental impairment or medical condition that substantially limits a major life activity, or if you have a history or record of such an impairment or medical condition.

Disabilities include, but are not limited to:

  • Autism
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, or HIV/AIDS
  • Blind or low vision
  • Cancer
  • Cardiovascular or heart disease
  • Celiac disease
  • Cerebral palsy
  • Deaf or hard of hearing
  • Depression or anxiety
  • Diabetes
  • Epilepsy
  • Gastrointestinal disorders, for example, Crohn's Disease, or irritable bowel syndrome
  • Intellectual disability
  • Missing limbs or partially missing limbs
  • Nervous system condition for example, migraine headaches, Parkinson’s disease, or Multiple sclerosis (MS)
  • Psychiatric condition, for example, bipolar disorder, schizophrenia, PTSD, or major depression

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.