We are seeking a highly skilled and motivated Embedded Software Engineer to join our team. As an Embedded Software Engineer, you will be responsible for developing, testing, and maintaining software for embedded systems. Your primary focus will be on writing efficient code in C and C++ to control and operate various hardware devices and embedded systems. Responsibilities:
Design, develop, and debug software for embedded systems using C and C++ programming languages.
Collaborate with hardware engineers to define system requirements and specifications.
Write efficient, reusable, and reliable code for embedded devices and applications.
Develop low-level device drivers and firmware for hardware peripherals and interfaces.
Conduct thorough testing and debugging of software to ensure high-quality performance and reliability.
Perform code reviews and collaborate with team members to ensure adherence to coding standards and best practices.
Optimize software for resource-constrained embedded systems, including memory usage and power consumption.
Collaborate with cross-functional teams to integrate software components into complete embedded systems.
Document software design, specifications, and test procedures.
Stay updated with the latest trends and advancements in embedded software development.
Requirements:
Bachelor\'s degree in Computer Science, Electrical Engineering, or a related field.
Proven experience in embedded software development using C and C++.
Solid understanding of embedded systems, microcontrollers, and hardware interfaces.
Proficiency in debugging and troubleshooting embedded software and hardware.
Familiarity with real-time operating systems (RTOS) and embedded software development tools.
Experience with version control systems (e.g., Git) and software development methodologies (e.g., Agile).
Strong problem-solving and analytical skills.
Excellent communication and collaboration abilities.
Ability to work both independently and as part of a team.
Attention to detail and a commitment to producing high-quality software.
Preferred Skills:
Experience with ARM or other microcontroller architectures.
Knowledge of communication protocols such as UART, SPI, I2C, and Ethernet.
Familiarity with low-level programming, assembly language, and hardware debugging tools.
Understanding of software development life cycle (SDLC) and software testing methodologies.
Familiarity with software tools for code analysis and optimization.
Experience with embedded Linux or other embedded operating systems.
Knowledge of additional programming languages, such as Python or Java, is a plus.
If you are or you know someone who might be interested, feel free to reach out at joe.nuevo@adecco.com so we can schedule a confidential chat. JN -052023-104695
Beware of fraud agents! do not pay money to get a job
MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.