Description

An embedded software engineer works with other software development engineers on tasks in real-time embedded communication and control environments. They contribute to the design and development of next-generation video display technologies, systems, and components. Embedded software engineers work with codes and drivers to enhance and build new systems.

An embedded software engineer uses software design techniques and procedures to complete a sequence of related engineering tasks, such as investigating, design, developing, and testing in accordance with company guidelines. They are also responsible for applying complex technical skills to older software to add more features. They participate in the review of documents, designs, codes, and test cases of software. Embedded software engineers perform functional testing of developed software to ensure correct operation and compatibility.

It is important that embedded software engineers keep abreast of relevant technology; they work in a fast-paced environment and must keep up to date on the changing trends. Embedded software engineers typically work during business hours, although overtime may be required depending on the demands of the project.

Embedded software engineers must have a bachelor’s degree in computer engineering, computer science, or electrical engineering. It is preferred that they have a master’s degree or higher in one of those fields. They must have a strong experience in C and C++ programming, as well as a experience with OS internals and driver development. It is important that they possess some knowledge of various scripting languages. A familiarity with object-oriented design and analysis tools is also a plus.

Roles & Responsibilities

As an Embedded Software Engineer with 3-6 years of experience in Singapore, your main responsibilities include:

  • Collaborating with cross-functional teams to design, develop, and maintain embedded software solutions for various projects. You will work closely with hardware engineers, software developers, and project managers to create robust and efficient embedded software systems.
  • Conducting code reviews, debugging, and resolving software issues to ensure optimum performance and reliability of embedded systems. Your role involves analyzing code, identifying bugs, and implementing necessary fixes or improvements to guarantee smooth and stable operation.
  • Developing and executing test plans, performing validation tests, and documenting test results to ensure software quality and compliance with specifications. You will design and execute various tests to verify the functionality, performance, and reliability of the embedded software, and document the results for reference.
  • Collaborating with customers or stakeholders to understand requirements, provide technical support, and offer innovative solutions for their embedded software needs.

Qualifications & Work Experience

For an Embedded Software Engineer job role, the following qualifications are required:

  • Strong programming skills in languages such as C, C++, or assembly language to develop and debug embedded software for microcontrollers and other hardware platforms.
  • In-depth knowledge of embedded systems and real-time operating systems (RTOS) to design and implement efficient and reliable software solutions.
  • Familiarity with hardware interfaces and protocols such as I2C, SPI, UART, and USB to interface with peripheral devices and sensors.
  • Experience in debugging tools and techniques, including using emulators, debuggers, and oscilloscopes, to identify and resolve software issues in embedded systems.

Essential Skills For Embedded Software Engineer

1

C++

Skills That Affect Embedded Software Engineer Salaries

Different skills can affect your salary. Below are the most popular skills and their effect on salary.

C++

2%

Career Prospects

For an Embedded Software Engineer with 3-6 years of experience in Singapore, there are several alternative roles to consider. Here are following options:

  • Firmware Engineer: A role that specializes in developing and optimizing software code for embedded systems and microcontrollers.
  • Systems Engineer: A position focused on designing and integrating software and hardware components for embedded systems, ensuring their functionality and performance.
  • Test Engineer: A role that involves designing and executing test plans to validate the functionality and performance of embedded software systems.
  • Field Application Engineer: A position that combines technical expertise with customer interaction, providing support and solutions for clients using embedded software products.

How to Learn

The role of an Embedded Software Engineer is expected to witness substantial growth in the Singapore market. According to recent data, this position is projected to experience a significant surge in demand over the next decade. With advancements in technology, the demand for professionals skilled in embedded software engineering is anticipated to increase steadily. This growth trend is expected to create a substantial number of employment opportunities in the coming years. The position of an Embedded Software Engineer is therefore a promising career choice in Singapore, offering long-term prospects and a thriving job market.