Senior Embedded Software Engineer: Machine Learning

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.

This position is an influential role at Synapse Product Development, our Directors of Engineering will seek your perspectives on designing our team, driving strategic technology investments, and future offerings. You will actively contribute to growing our team’s machine learning capabilities and provide technical sales support for machine learning projects to our Business Development team.

  • Work independently on small projects and guide small teams (2-4 engineers) in larger projects to influence and shape technical strategies and development processes to meet client goals. Actively participate in system architecture design and drive product tradeoff decisions, such as RTOS and microcontroller.
  • Work in a multidisciplinary team to lead design, development, test, and release of software for execution on custom embedded platforms, including drivers and board support packages. 
  • Design and implement ML projects with high-sample-rate data from sensors (sound, IMU, image) for applications in pose/gesture detection, anomaly detection, wakewords/visual wakewords, activity detection, and more. 
  • Collaborate closely with clients, Program and Account Managers to construct project scopes and Statements of Work, create development plans, align key deliverables with internal teams, manage release calendars, and provide regular status updates. 
  • Take responsibility for team’s software tasks from requirements gathering through design, development, and test to establish and build credibility with customers. Guide team assignments by matching technical requirements to individuals, schedule technical reviews and provide actionable feedback.
  • Actively mentor and foster an inclusive environment that engages the peers in sharing expertise and learn from the larger software group. Participate in interviewing and onboarding new team members. 

 

Required Experience

Expertise in developing embedded systems with hands-on experience building end-to-end machine learning/deep learning pipelines for embedded devices with focus on optimization and performance. Knowledge of machine learning techniques and fast prototyping skills to demonstrate concepts and capabilities. 

  • 10+ years of software development experience with strong C.C++ programming (e.g. memory management, pointer handling, API design), and 5+ years of experience in embedded systems. 
  • 3+ years as software/embedded team lead role and demonstrable experience in technical project management, ideally in a consulting organization, from scoping and estimation to schedule management and status reporting, requirements management, documentation, design and code reviews, test and QA support for quality releases.
  • Experience with ML frameworks such as Tensorflow/TFLite/TFLite Micro, Keras, PyTorch, Caffe, Scikit Learn and related libraries such as NumPy, Pandas, and Matplotlib.
  • Experienced in traditional image processing techniques to perform image manipulation tasks not suitable for AI processing such as OpenCV, PIL, scikit-image.
  • Experience in embedded device and systems design with focus on low-power embedded platforms (e.g. ARM Cortex-M, MSP430, RISC-V), wireless technologies (e.g BLE, ZigBee, Bluetooth, WiFi) and common communications protocols (UART, SPI, I2C, CAN, USB).
  • Knowledge of open-source software licenses (e.g. GPL, MIT, BSD) and applications in software development.
  • Solid understanding and application of software engineering methodologies, developing machine learning pipelines, and best practices including estimation, design documentation, unit and system testing, release and source control management (must be able to lead by example with good commit hygiene).
  • Creative and detail-oriented individual with excellent written, spoken, and presentation skills for expressing technical ideas and initiatives. Able to simplify complex machine learning concepts for non technical clients while demonstrating the value. 

 

Desired Experience

  • Academic background in a quantitative field such as Computer Science, Statistics, Engineering, or Physics. Advanced degree preferred.
  • Experience using deep learning architectures, NLP. Interest in reading academic papers and exploring state-of-the-art experimental systems.
  • Experience with building machine learning pipelines using cloud technologies with deployments to IoT and edge devices, eg. AWS SageMaker Neo. 
  • DSP and PID controls, algorithm design and optimization (data compression, bandwidth optimization, encryption, ...)
  • Experience with bare metal development on resource-constrained 8- and 16-bit microprocessors (e.g. MSP430, 8051).
    • Experience with embedded Linux, Android (user drivers), and software architecture for applications-class processor systems (e.g. SnapDragon, Tegra).
    • 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

  
(File types: pdf, doc, docx, txt, rtf)
  
(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

1Section 503 of the Rehabilitation Act of 1973, as amended. For more information about this form or the equal employment obligations of Federal contractors, visit the U.S. Department of Labor's Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

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.