Embedded & IoT solutions

Embedded Software Engineer

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.

Other vacancies:

Embedded hardware engineer

COntact

How can we help you?

Working with Arch Embedded means:

Connect with us!