Embedded Software Engineer

Job brief

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.

Embedded Software Engineer 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

Embedded Software Engineer 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