Embedded Systems Engineer

Wellumio 

📍 Wellington, New Zealand 🇳🇿

full-time
mid-level
Posted —

Key Skills

CC++LinuxPythonFPGA

Industry

Consumer ElectronicsIndustrial Automation

Job Description

Position Overview

The Embedded Systems Engineer is responsible for designing, developing, and maintaining high-performance embedded software that powers innovative products and systems. This role is focused on hands-on software development, system integration, and delivering reliable, efficient solutions in resource-constrained environments.

You will work closely with cross-functional teams to build robust embedded platforms, contribute to system-level integration, and ensure high standards of performance, quality, and maintainability.

Key Responsibilities Embedded Software Development
  • Design, implement, and test embedded software across a range of hardware platforms
  • Develop efficient, reliable, and maintainable code for real-time and resource-constrained systems
  • Optimise software for memory usage, processing efficiency, and overall system performance
  • Contribute to the development and maintenance of embedded software architectures
System Integration & Collaboration
  • Collaborate with hardware engineers, software developers, and product teams to ensure seamless system integration
  • Support the integration of embedded systems with peripheral hardware components
  • Assist in translating system and product requirements into software implementations
Testing, Debugging & Maintenance
  • Troubleshoot and debug software and system-level issues, identifying root causes and implementing effective solutions
  • Support verification and validation activities to ensure system performance and reliability
  • Maintain and improve existing software, addressing bugs and enhancing functionality
Development Process & Continuous Improvement
  • Participate in the full software development lifecycle, from requirements through to deployment and maintenance
  • Follow established development practices, including version control, documentation, and testing standards
  • Stay up to date with emerging technologies and best practices in embedded systems and software development
  • Contribute to knowledge sharing and continuous improvement within the team
Qualifications & Experience

Required:

  • Degree in Computer Science, Electrical Engineering, or a related field
  • Experience in embedded software development, with understanding of real-time systems and microcontrollers
  • Proficiency in C and/or C++
  • Familiarity with embedded operating systems (e.g., FreeRTOS, embedded Linux, or bare-metal environments)
  • Experience with debugging tools, development environments, and version control systems

Preferred:

  • Experience with hardware-software integration and low-level interfaces
  • Familiarity with scripting or higher-level languages (e.g., Python)
  • Experience working in complex or performance-critical systems
Ideal Candidate
  • Experience working with AMD Xilinx Zynq or similar SoC/FPGA platforms
  • Familiarity with embedded Linux build systems such as PetaLinux or Yocto
  • Experience developing or working with Linux device drivers
  • Proficiency in Python for scripting, testing, or automation
  • Comfortable working close to hardware, including debugging at the interface of software and electronics
Soft Skills Requirements
  • Strong problem-solving and analytical skills
  • Ability to work independently and as part of a team
  • Good communication and collaboration skills
  • Willingness to learn and continuously develop technical expertise
  • Professionalism, reliability, and attention to detail
About the Role

This role offers the opportunity to work on challenging technical problems and contribute to the development of high-impact products. You will be part of a collaborative engineering team focused on building reliable, high-quality embedded systems.