Text copied to clipboard!

Title

Text copied to clipboard!

Embedded Software Engineer

Description

Text copied to clipboard!
We are looking for an Embedded Software Engineer to join our dynamic team of engineers. The ideal candidate will have a passion for developing and implementing software for embedded devices and systems. In this role, you will be responsible for designing, developing, coding, testing, and debugging system software. You will analyze and enhance efficiency, stability, and scalability of system resources. You will also collaborate with hardware design engineers to ensure that designs are efficient, operable, and scalable. You will be involved in all phases of the software development lifecycle, from requirements analysis to integration and testing. Our projects range across various industries, requiring innovative solutions that push the boundaries of technology. The successful candidate will have a strong background in computer science or engineering, with a deep understanding of software engineering principles. You will need to be proficient in C/C++, have experience with RTOS, and possess a solid understanding of hardware/software integration. This role requires a creative thinker who enjoys working in a team environment to solve complex problems. If you are passionate about embedded systems and have a track record of success in software development, we would love to hear from you.

Responsibilities

Text copied to clipboard!
  • Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
  • Design, develop, code, test, and debug system software.
  • Review code and design.
  • Analyze and enhance efficiency, stability, and scalability of system resources.
  • Integrate and validate new product designs.
  • Support software QA and optimize I/O performance.
  • Provide post-production support.
  • Interface with hardware design and development.
  • Assess third party and open-source software.
  • Collaborate with cross-functional teams to solve complex problems.

Requirements

Text copied to clipboard!
  • Proven working experience in software engineering.
  • BS degree in Computer Science or Engineering.
  • Experience in hands-on development and troubleshooting on embedded targets.
  • Solid programming experience in C or C++.
  • Familiarity with software configuration management tools, defect tracking tools, and peer review.
  • Excellent knowledge of OS coding techniques, IP protocols, interfaces, and hardware subsystems.
  • Adequate knowledge of reading schematics and data sheets for components.
  • Strong documentation and writing skills.
  • Experience with embedded systems design with preemptive, multitasking real-time operating systems.
  • Familiarity with electrical engineering principles.

Potential interview questions

Text copied to clipboard!
  • Can you describe your experience with real-time operating systems?
  • How do you approach debugging software on embedded devices?
  • What strategies do you use to ensure your code is efficient and reliable?
  • Can you explain a complex project you worked on and your role in it?
  • How do you stay updated with the latest technologies and trends in embedded software development?