Status: Fulfilled
Job overview
The Embedded Software Engineer will be responsible for designing, developing, and optimizing software for embedded systems across diverse industries. This role involves hands-on coding, testing, and troubleshooting, with a focus on efficiency, performance, and reliability. If you’re a software engineer with a deep understanding of embedded systems and enjoy working on the technical edge, we would be excited to have you on our team.
Key Responsibilities:
- Software Development: Design, code, and test embedded software applications, drivers, and middleware for microcontrollers, microprocessors, and SoCs.
- Integration & Debugging: Work closely with hardware teams to integrate and debug hardware-software interfaces and ensure seamless operation of embedded solutions.
- Optimization: Optimize code for performance, memory efficiency, and power consumption to meet stringent embedded system requirements.
- Testing & Validation: Conduct unit testing, system testing, and validation of software to ensure compliance with project specifications and industry standards.
- Documentation: Maintain clear, organized documentation for code, design specifications, and testing procedures to ensure traceability and ease of maintenance.
- Collaboration: Work cross-functionally with hardware engineers, system architects, and project managers to align on project goals and technical requirements.
- Continuous Learning: Keep up-to-date with emerging embedded software technologies, tools, and best practices to enhance the quality and capabilities of our solutions.
Qualifications:
- Education: Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field (Master’s degree is a plus).
- Experience: 3+ years of experience in embedded software development, ideally with experience in real-time operating systems (RTOS) and low-level programming.
- Technical Skills:
Proficiency in C/C++ programming for embedded systems.- Experience with embedded development tools, such as debuggers, emulators, and oscilloscopes.
- Strong understanding of embedded communication protocols (e.g., I2C, SPI, UART, CAN) and hardware interfaces.
- Knowledge of RTOS (e.g., FreeRTOS, VxWorks) and bare-metal programming.
Familiarity with version control systems (e.g., Git) and development workflows.
- Soft Skills:
- Strong analytical and problem-solving skills with high attention to detail.
- Excellent communication and interpersonal skills for collaborative team work.
- Ability to adapt to fast-paced project environments and manage multiple tasks efficiently.
How to apply:
If you are passionate about embedded software design and excited about shaping the future with Arch Embedded, we invite you to apply. Please submit your resume and a cover letter detailing your relevant experience to info@arch-embedded.com.