JOBSEARCHER

Embedded Software Engineer

Job DescriptionWe are seeking a skilled Embedded Software Engineer to design, develop, test, and maintain embedded software solutions for embedded systems and hardware platforms. The ideal candidate will have strong C/C++ programming skills, experience with embedded software development, and the ability to troubleshoot, optimize, and deliver reliable software throughout the full software development lifecycle.Roles and ResponsibilitiesDesign, develop, test, and maintain embedded software for hardware-based systems.Develop operating system-level software, device drivers, and embedded applications.Analyze system requirements and create functional software solutions.Read and interpret hardware schematics, component datasheets, and technical documentation.Collaborate with hardware, firmware, and software engineering teams to integrate embedded solutions.Debug, troubleshoot, and resolve software and system issues.Perform software testing, validation, and performance optimization.Participate in all phases of the Software Development Life Cycle (SDLC), including requirements analysis, design, development, testing, and deployment.Create and maintain technical documentation for software design and implementation.Ensure software quality, reliability, and compliance with engineering standards.Required QualificationsBachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.3+ years of experience in embedded software or firmware development.Strong programming experience in C and/or C++.Knowledge of embedded systems architecture and hardware/software integration.Experience reading and interpreting hardware schematics and component datasheets.Understanding of the Software Development Life Cycle (SDLC) and Agile development methodologies.Basic knowledge of operating systems, computer hardware, and software architecture.Familiarity with development tools, debuggers, and version control systems.Experience troubleshooting embedded software and system-level issues.Working knowledge of databases or development tools such as SQL, Visual Basic, or similar technologies is a plus.Strong analytical, problem-solving, and debugging skills.Excellent verbal and written communication skills with the ability to work effectively in a collaborative environment.Preferred QualificationsExperience with RTOS, embedded Linux, or bare-metal development.Familiarity with communication protocols such as UART, SPI, I2C, CAN, or Ethernet.Experience with embedded debugging tools, oscilloscopes, and logic analyzers.Knowledge of software testing, code reviews, and continuous integration practices.Experience developing software for industrial, medical, automotive, aerospace, or IoT devices is a plus.