Embedded Engineer

Cypress
San Diego, CA, United States
about 1 month ago
Apply on www.disabledperson.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
2 years minimum
Compensation
$130,000.0 - $170,000.0
Working hours
Regular working hours

Tech stack

Board Bringup Application Programming Interfaces (APIs) Software Applications ARM Architecture Automation of Tests Unit Testing Booting (BIOS) C Sharp (Programming Language) C++ (Programming Language) Code Review Databases Continuous Integration
+31 more
Datasheets Software Debugging Device Drivers Embedded Software Firmware GNU Debuggers Issue Tracking Systems Joint Test Action (IEEE Standards) Real-Time Operating Systems Software Construction Software Deployment Software Engineering Software Systems Verification and Validation (Software) Systems Integration Toolchain Universal Asynchronous Receiver/Transmitter Multithreading Software Modules Serial Peripheral Interface PIC Microcontroller Real Time Systems Cypress (Programming Language) Hardware Testing Git Integration Tests Information Technology Bare Metal Build Tools Software Version Control Software Library

Job description

We are seeking an Embedded Software Engineer to design, develop, test, and support embedded and PC-based software solutions. This role focuses on firmware and application development across microcontroller platforms and real time systems, with responsibilities spanning embedded controller development, system integration, software validation, and cross-functional collaboration.

Essential Job Functions

  • Develop embedded software for microcontroller-based systems using both bare metal and real time operating systems.
  • Create board bring up code, device drivers, boot loaders, firmware update mechanisms, and software interfaces for sensors and peripherals.
  • Design, implement, test, and debug embedded device controllers and related software components.
  • Develop PC applications that support diagnostics, device testing, production testing, and test automation.
  • Conduct unit tests, integration tests, system level debugging, and code reviews to ensure quality and reliability.
  • Diagnose and resolve hardware and software issues in real time environments.
  • Integrate software modules, third party libraries, and APIs into existing or new systems.
  • Perform software validation, functional testing, and system compatibility checks across environments.
  • Ensure compliance with applicable safety standards, industry norms, and internal policies.
  • Optimize software for performance, memory utilization, and power efficiency.
  • Support planning, task definition, and estimation as part of development efforts.
  • Collaborate with engineering teams (electrical, mechanical, quality) to ensure seamless product integration.
  • Analyze, document, and track software defects and improvements to resolution.
  • Contribute to continuous improvement of development processes, tools, and procedures.
  • Support software deployment, configuration, and technical requirements.
  • Use version control (e.g., Git), build systems, and CI/CD workflows to streamline development.
  • Assist production teams in troubleshooting and improving system performance.
  • Provide engineering support where needed across departments.
  • Perform additional engineering duties as assigned.

Requirements

  • Bachelor’s degree in Engineering, Computer Science, or a related technical field.
  • 5+ years of hands-on experience in embedded systems development.
  • Proficiency in C or C++ programming with experience in multithreaded code and hardware-software integration.
  • Experience with microcontrollers (Cortex-M family preferred) in both real time operating system and bare metal environments.
  • Experience with board bring up and developing low-level drivers for interfaces such as SPI, I2C, UART, ADC, DAC, USB, and display interfaces.
  • Practical experience with debugging tools and test equipment (e.g., JTAG, GDB, logic analyzers, scopes).
  • 2+ years of developing PC-based applications using C# and integrating with databases.
  • Familiarity with setting up toolchains, build systems, and debugging environments.
  • Knowledge of software engineering best practices and tools, including version control and issue tracking.
  • Ability to read and interpret schematics, datasheets, and hardware documentation.
  • Strong problem solving, debugging, and analytical skills.
  • Excellent communication and interpersonal skills.
  • A positive attitude and ability to work collaboratively in team environments.

Benefits & conditions

Salary Range: $130 - 170K

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.disabledperson.com
Prepare application

Good distractions

Loading talks and stories from around this role…