We are seeking a skilled Embedded Software Engineer to join our dynamic team.
As an Embedded Software Engineer, you will be responsible for developing robust and efficient embedded software solutions for a variety of applications.
Your expertise in programming, particularly in C++, and your deep understanding of algorithms, data structures, and object-oriented programming will be essential in this role.
Responsibilities:
Develop and maintain embedded software solutions for a range of applications, ensuring high performance, reliability, and efficiency.
Collaborate with cross-functional teams to understand project requirements and design specifications.
Implement algorithms and data structures to optimize software performance on embedded systems.
Write clean, modular, and maintainable code in C++, adhering to coding standards and best practices.
Utilize version control systems such as Git or SVN for code management and collaboration.
Develop unit and functional tests to verify the correctness and robustness of embedded software components.
Interface with sensors, signal processing systems, and camera systems on embedded boards.
Troubleshoot and debug issues in embedded software, addressing performance bottlenecks and system integration challenges.
Stay updated on emerging technologies and industry trends in embedded systems development.
Requirements:
Bachelor's degree in Computer Science, Electrical Engineering, or related field.
Proven experience in embedded software development, with a strong understanding of standard programming concepts.
Expertise in C++ programming language, including proficiency in the Standard Template Library (STL).
Experience working with large-scale code bases and implementing complex algorithms and data structures.
Familiarity with version control systems such as Git or SVN.
Ability to write unit and functional tests for embedded software components.
Experience with embedded boards and interfacing with sensors and camera systems.
Knowledge of shell scripting and Linux OS fundamentals is advantageous.
Strong problem-solving skills and attention to detail.