Job Search and Career Advice Platform

Enable job alerts via email!

Embedded Software Engineer

FLEXOSENSE PTE. LTD.

Singapore

On-site

SGD 60,000 - 80,000

Full time

Today
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading IoT solutions provider in Singapore is seeking an experienced embedded software engineer to fast track IoT product development for dynamic pilot projects. The role involves designing and testing sophisticated embedded software, collaborating with cross-functional teams, and ensuring compliance with industry standards. Ideal candidates will have a Bachelor's degree in engineering or computer science and a strong proficiency in C/C++ with at least 2 years of relevant experience. This position offers the chance to impact lives through innovative solutions.

Qualifications

  • Minimum 2+ years of experience in embedded software or system software development.
  • Strong proficiency in C/C++ programming for embedded systems.
  • Good understanding of networking technologies, including IP addressing and protocols.

Responsibilities

  • Design, develop, and test embedded software for IoT systems.
  • Create comprehensive documentation for software design.
  • Collaborate with testing teams to support test activities.

Skills

C/C++ programming
Embedded systems
Debugging skills
Networking technologies

Education

Bachelor's or Master's degree in Engineering or Computer Science

Tools

Embedded Linux (Raspberry Pi)
Middleware
Job description
Overview

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.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.