Software Engineer II
- Round Rock, TX, United States
Applications open in a new tab.
Job details
- Posting language
- English
- Posted
Original job description
JOB SUMMARY:
Develops moderately complex software and creates and executes designs for small sets of new functionality. Involved with the design, analysis, validation and documentation of both standard and custom software products.
ESSENTIAL FUNCTIONS:
- Develop, implement, and maintain embedded software applications in accordance 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 system components, runtime daemons, hardware interfaces, and communication protocols.
- Participates in the design of the 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 modifications.
- Troubleshoot, debug, and resolve software defects, integration issues, and runtime problems within embedded Linux environments.
- Identify opportunities for software improvements, optimization, reliability, and maintainability, and communicate recommendations to technical leads and senior engineers.
- Collaborate with Software Engineer III personnel and technical leads to implement software designs, resolve technical challenges, and support product development.
- Track and report status of assigned tasks, reporting progress to team lead and/or Core Team.
- Meet multiple deadlines and objectives, setting priorities with moderate coaching.
- Maintain software documentation, source code, and development artifacts in accordance with established engineering practices.
- Support software integration, verification, and release activities using established development and configuration management processes.
- Provides continuing technical support for field service, manufacturing, sales and marketing.
ADDITIONAL FUNCTIONS:
- Performs other related duties as assigned by management.
Qualifications
QUALIFICATIONS:
Core Competencies:
- Ethics, Values, Integrity & Trust - Adheres and acts in line with CPI core values.
- Functional/Technical Skills - Possesses high level of skill, knowledge and ability in assigned functional area.
- Safety – Complies with company safety rules and regulations. Takes a proactive approach to identify and eliminate safety hazards.
- Customer Focus - Gives high priority to customer satisfaction.
- Interpersonal Skills - Uses diplomacy and tact. Uses collaborative skills.
- Action Oriented & Adaptability - Takes initiative; acts promptly; is proactive.
- Ownership & Accountability - Proactively models, guards and demonstrates all of CPI’s core values.
- Priority Setting, Planning & Organizing- Uses resources effectively and efficiently.
- Problem Solving & Creativity - Uses logic and methods to solve problems with effective solutions. Develops new and unique ideas.
- Listening, Informing and Written Communications - Practices attentive and active listening. Shares information. Presents ideas and facts clearly and effectively in writing.
Technical Competencies:
- BS or MS in Computer Engineering, Computer Science, or equivalent.
- Minimum of five (5) years of experience.
- 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 operating system fundamentals, including 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 software development workflows.
- Familiarity with automated software testing, continuous integration, and development environments using tools such as Jenkins.
- Other preferred experiences include
- familiarity with Buildroot, or Yocto, embedded Linux build systems
- experience with Atmel Cortex M0+ microcontrollers
- experience with Atmel A5 or A7 based micro-processor units
- experience working with Lua scripting
- Experience with embedded hardware interfaces and protocols, including UART, SPI, I2C, GPIO, USB, CAN 2.0, and CAN-FD
- Experience with Ethernet technologies, including conventional 10/100/1000BASE-T and Single-Pair Ethernet (SPE) standards such as 10BASE-T1S and 10BASE-T1L.
- Experience coding for adherence to cyber-security regulatory requirements such as IEC 62443
- Knowledge of upcoming cyber-security regulatory requirements for the EU Cyber Resilience Act (CRA)
PHYSICAL/ENVIRONMENTAL REQUIREMENTS:
- Works on computer majority of the day.
- Ability to life up to 25 lbs. to move file boxes, etc. as needed.
- Some travel may be required both by automobile and airplane.