Embedded Software Engineer

The Position

We are looking to hire a skilled Embedded Software Engineer to join our dynamic software design team. As an Embedded Software Engineer, you will be responsible for executing complete embedded software life-cycles for company and client hardware.

Embedded Software Engineers are responsible for developing and implementing software for embedded systems such as routers, smartwatches, televisions, and hybrid vehicles. They are involved in the complete life-cycle of the embedded software product, from building the code through to final testing and device implementation.

To ensure success as an Embedded Software Engineer, you should have extensive experience coding in C and C++, and have excellent knowledge of embedded coding techniques. Ultimately, a top-class Embedded Software Engineer can develop scalable software systems that are perfectly optimized for the embedded device.

Duties and responsibilities

Designing, developing, coding, testing and debugging system software for embedded systems and devices

Meeting with clients and the software design team to determine software specifications.

Designing and writing the embedded software code according to desired specifications.

Testing the software for scalability and structure.

Reviewing the design and code

Analysing, and enhancing stability, efficiency and scalability of all the system resources

Validating and integrating new product designs

Developing a set of FAQs for the system and also optimise I/O performance

Providing after-sales support and service

Designing and developing the hardware for the system

Evaluating and assessing the open source and third-party software

Design and implement software of embedded devices and systems from requirements to production and commercial deployment

Provide post production support when necessary

Interface with hardware design and development

Creating design goals and deadlines.

Implementing the embedded system and interpreting error reports.

Fixing bugs and optimizing the system.

Maintaining the software program.

Documenting software application values.

Define specifications

Develop software bricks (e.g., drivers) or complete products, potentially with security constraints

Participate in the implementation of a software architecture

Run unit tests of modules and take care of debugging

Ensure the maintenance of the delivered code

Report on his activity

Mastering software development in C/C ++ is essential.

Depending on the project, the embedded software development engineer must have worked on one or more architectures using different microprocessors and processors, often with real-time constraints.

This implies the embedded developer must be highly adaptable and fast learning in order to be quickly operational in many different technical environments.

Developing and commissioning software for embedded systems and devices starting with the requirements and helping in all stages till commercial deployment

Requirements and qualifications

3-5 years of experience in embedded software engineering or similar role

3-5 years of experience with development and troubleshooting on embedded targets

Bachelor’s degree in Computer Science or Computer Engineering, or other related fields.

Proven experience in C or C++

Familiarity with software configuration management tools, defect tracking tools, and peer review

Excellent knowledge of operating systems, coding procedures, interfaces, IPs, and hardware systems

Knowledge of different IP protocols, interfaces and hardware subsystems

Sense of ownership and pride in your performance and its impact on company’s success

Experience with a complete life-cycle of an embedded software system.

Prior working experience in some relevant field, preferably as a Software Engineer

Experience in developing embedded systems as well as troubleshooting problems in them

Experience in design of embedded systems with real-time multitasking operating systems

In-depth knowledge of software configuration management tools as well as defect tracking tools, and peer review

Sound understanding of reading data sheets and schematics of components

Proven working experience in software engineering

Experience in hands-on development and troubleshooting on embedded targets

Proven experience in embedded systems design with pre-emptive, multitasking real-time operating systems

Familiarity with software configuration management tools, defect tracking tools

Adequate knowledge of reading schematics and data sheets for components

Critical thinker and problem-solving skills

An analytical mind in addition to a problem-solving attitude

Ability to take quick decisions while working in a fast-paced environment

Team player

Good time-management skills

Great interpersonal and communication skills and the ability to project manage.

Strong documentation and writing skills

Please follow and like us:
Job Type: Full Time
Job Location: Remote (WFH) Based

Apply for this position

Allowed Type(s): .pdf, .doc, .docx