We are seeking an experienced embedded software engineer to fast track our IoT product development for a few dynamic IoT pilot projects.If these pilots are successful, this role may be converted to a permanent role for suitable candidate.
You enjoy writing efficient, well-structured code and working close to hardware or real-time systems. You are a self-motivated individual with a passion for embedded software with interests in electronics/ microelectronics, miniaturisation, IoT/AIoT and a desire to work on customer-focused solutions that have the potential to change people's lives for the better. There is also the opportunity to participate in research and development activities on new and exciting market applications.
Responsibilities
- Embedded software design: Design, develop, and test sophisticated embedded software and firmware for simple to complex dynamic IoT systems, ensuring optimal performance and reliability across various platforms.
- Software maintenance: Maintain and enhance existingsoftware systems, optimizing performance and adding new features based on evolving project requirements.
- Documentation: Create comprehensive documentation for software design, implementation, and testing procedures to ensure maintainability and knowledge transfer.
- Testing support: Collaborate with testing teams to support project and product-related test activities, ensuring software quality and system integration.
- Compliance: Ensure firmware compliance with industry standards (e.g., ISO) and cybersecurity for networked machines.
- System architecture: Evaluate and analyse system requirements to design optimal embedded software solutions that meet project specifications and performance criteria.
- Code optimization: Apply advanced debugging skills to identify and resolve complex software issues while optimizing code for performance and efficiency.
- Cross-functional collaboration: Work closely with vendors, project manager, hardware IoT engineer, and other stakeholders to ensure seamless integration and successful project delivery.
- Technical innovation: Stay current with emerging embedded technologies and contribute innovative solutions to enhance product capabilities.
- Quality assurance: Implement rigorous testing methodologies and code review processes to ensure high-quality, reliable embedded software solutions.
- System integration: Collaborate on system-level integration activities to ensure embedded software components workseamlessly with hardware and other system elements.
Requirements
- Educational background: Bachelor's or Master's degree in Telecommunication/Computer/Software Engineering, Computer Science, or related field.
- Relevant experience: Minimum 2+ years of proven experience in embedded software or system software development, demonstrating success in delivering simple to complex solutions.
- Programming skills: Strong proficiency in C/C++ programming for embedded systems with deep understanding of development principles. Experience in Phyton, Java will be an advantage.
- Microcontroller expertise: Comprehensive understanding of microcontroller architectures with experience in various operating systems and bare-metal programming.
- Networking knowledge: Good understanding of networking technologies, including IP addressing, routing, and various protocols including BLE Mesh, LoRaWan, MQTT, etc.
- Any of the following skills and experiences are advantageous and preferred: cross-OS development, machine learning/data analytics/AI implementation, embedded Linux (Raspberry Pi, microprocessor), embedded development (ST, NXP processors, middleware)
- Collaborative mindset: Strong team-player with an oriented approach to problem-solving and project execution.
- Professional qualities: Positive attitude, excellent teamwork skills, and genuine passion for embedded software development andtechnology innovation.
- Technical abilities: Strong analytical, documentation, and debugging skills for complex embedded system troubleshooting and optimization.
- Self-motivation: Proactive and creative approach with the ability to work independently in fast-paced and lean environments.