Software Engineer II
Data Processing
Databases
Development
Embedded C
Embedded Development
Embedded Linux
Embedded Software Engineering
Embedded Software Security
Embedded Systems
Embedded Systems Software
Engineering
Hardware Engineering
Hardware Software Co Design
Software Development
Software Engineer
Software Engineering
Software Security
SQL
Systems
Job Description
Build embedded software that powers real products in a role centered on design, validation, testing, troubleshooting, and ongoing support. This onsite position in Round Rock, TX supports work within embedded Linux environments and includes collaboration with experienced engineers to deliver new functionality and improve system reliability.
What you’ll do
- Develop, implement, and maintain embedded software applications aligned with established software architectures, technical designs, and development requirements.
- Implement product functionality using C/C++, Linux libraries, system utilities, and existing operating system services and packages.
- Integrate application software with embedded Linux components, runtime daemons, hardware interfaces, and communication protocols.
- Participate in designing software feature functionality.
- Develop and execute software test procedures and scenarios to verify new features, functionality, system integration, and compliance with software requirements.
- Identify potential failure conditions for newly implemented features and software changes.
- Troubleshoot, debug, and resolve software defects, integration issues, and runtime problems within embedded Linux environments.
- Recommend improvements related to software optimization, reliability, and maintainability, and communicate these to technical leads and senior engineers.
- Collaborate with Software Engineer III personnel and technical leads to implement designs, address technical challenges, and support product development.
- Track and report status of assigned tasks, including progress to the team lead and/or Core Team.
- Manage multiple deadlines and objectives, setting priorities with moderate coaching.
- Maintain software documentation, source code, and development artifacts in line with established engineering practices.
- Support software integration, verification, and release activities using established development and configuration management processes.
- Provide continuing technical support for field service, manufacturing, sales, and marketing.
- Perform other related duties as assigned by management.
Required qualifications
- Education: BS or MS in Computer Engineering, Computer Science, or equivalent.
- Experience: Minimum of five (5) years.
- Proficiency in C/C++ software development within embedded Linux environments.
- Must have knowledge of SQL databases and Python.
- Familiarity with AI-assisted software development tools (e.g., GitHub Copilot, Claude Code, or comparable tools) for code generation, debugging, refactoring, and development productivity.
- Experience developing and debugging software applications running on embedded Linux platforms.
- Understanding of Linux fundamentals: process management, filesystem structure, shared libraries, inter-process communication (IPC), and runtime services.
- Experience integrating application software with existing Linux packages, libraries, utilities, daemons, and system services.
- Understanding of embedded system constraints including memory, storage, processing resources, and performance.
- Proficiency with Git or comparable source control systems and established development workflows.
- Familiarity with automated software testing and continuous integration using tools such as Jenkins.
Technologies you’ll work with
- C/C++, Linux, SQL, Python
- GitHub Copilot, Claude Code, Git, Jenkins
- Buildroot, Yocto
- Atmel Cortex M0+, Atmel A5, Atmel A7, Lua
- UART, SPI, I2C, GPIO, USB
- CAN 2.0, CAN-FD, Ethernet, 10/100/1000BASE-T, Single-Pair Ethernet (SPE), 10BASE-T1S, 10BASE-T1L
- IEC 62443, EU Cyber Resilience Act (CRA)
Additional functions
Performs other related duties as assigned by management.
Physical and environmental requirements
- Works on computer majority of the day.
- Ability to lift up to 25 lbs. to move file boxes, etc., as needed.
- Some travel may be required by automobile and airplane.
How you’ll show up
- Adheres to CPI core values: Ethics, Values, Integrity & Trust.
- Complies with company safety rules and regulations and proactively identifies and eliminates safety hazards.
- Maintains customer focus with high priority on customer satisfaction.
- Uses diplomacy and tact, with collaborative interpersonal skills.
- Takes initiative with action orientation and adaptability.
- Demonstrates ownership and accountability for CPI core values.
- Uses resources effectively through priority setting, planning, and organizing.
- Applies logic and methods to solve problems with effective solutions, and develops new and unique ideas.
- Practices attentive and active listening, shares information, and presents ideas clearly and effectively in writing.