Embedded Engineer
Cypress HCM
Position Overview
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.
All potential candidates should read through the following details of this job with care before making an application.
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.
Minimum Qualifications
- 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. xhyhwjd
- A positive attitude and ability to work collaboratively in team environments.
Salary Range: $130 - 170K
Vacancy posted more than 2 months ago
Do you want to receive more vacancies?
Subscribe and receive similar vacancies to Embedded Engineer. Be the first to apply!
Related searches
- embedded developer San Diego, CA
- embedded engineer San Diego, CA
- embedded systems software engineer San Diego, CA
- embedded software engineer San Diego, CA
- embedded software engineering intern
- embedded ai engineer
- entry level embedded engineer
- embedded developer
- embedded design engineer
- embedded electrical engineer
