Source description
About the role
As an Embedded Software Engineer at our company, you will be responsible for designing, developing, and optimizing embedded systems for high-performance and real-time applications. You will collaborate closely with hardware and cross-functional teams to ensure seamless integration of software with system-level hardware components. Key Responsibilities: - Design, develop, and maintain embedded software using C++ for real-time and high-performance systems - Work on FPGA-based development including design, simulation, and validation - Collaborate with hardware teams for system architecture design and board bring-up activities - Develop low-level drivers, firmware, and middleware for embedded platforms - Optimize system performance, memory usage, and power efficiency - Debug and resolve complex issues across hardware-software boundaries - Integrate embedded systems with peripherals, sensors, and communication interfaces - Participate in system testing, validation, and deployment processes - Maintain documentation for design, development, and testing activities - Ensure adherence to coding standards, quality processes, and best practices Qualifications: - Strong proficiency in C++ for embedded systems development - Hands-on experience with FPGA development (Verilog/VHDL, synthesis, simulation tools) - Solid understanding of embedded systems architecture and real-time operating systems (RTOS) - Experience with microcontrollers, processors, and hardware interfaces (SPI, I2C, UART, CAN) - Knowledge of board bring-up, debugging tools (JTAG, oscilloscopes, logic analyzers) - Experience in Linux-based embedded systems is preferred - Strong debugging and problem-solving skills in hardware-software integrated environments - Familiarity with version control systems (Git) and development workflows - Understanding of system performance optimization and memory management Good to Have: - Experience with high-speed interfaces and signal processing - Exposure to networking protocols and communication stacks - Knowledge of scripting languages like Python for automation/testing - Experience in product development lifecycle and Agile methodologies Education: B.Tech / M.Tech in Computer Science, Engineering or related field As an Embedded Software Engineer at our company, you will be responsible for designing, developing, and optimizing embedded systems for high-performance and real-time applications. You will collaborate closely with hardware and cross-functional teams to ensure seamless integration of software with system-level hardware components. Key Responsibilities: - Design, develop, and maintain embedded software using C++ for real-time and high-performance systems - Work on FPGA-based development including design, simulation, and validation - Collaborate with hardware teams for system architecture design and board bring-up activities - Develop low-level drivers, firmware, and middleware for embedded platforms - Optimize system performance, memory usage, and power efficiency - Debug and resolve complex issues across hardware-software boundaries - Integrate embedded systems with peripherals, sensors, and communication interfaces - Participate in system testing, validation, and deployment processes - Maintain documentation for design, development, and testing activities - Ensure adherence to coding standards, quality processes, and best practices Qualifications: - Strong proficiency in C++ for embedded systems development - Hands-on experience with FPGA development (Verilog/VHDL, synthesis, simulation tools) - Solid understanding of embedded systems architecture and real-time operating systems (RTOS) - Experience with microcontrollers, processors, and hardware interfaces (SPI, I2C, UART, CAN) - Knowledge of board bring-up, debugging tools (JTAG, oscilloscopes, logic analyzers) - Experience in Linux-based embedded systems is preferred - Strong debugging and problem-solving skills in hardware-software integrated environments - Familiarity with version control systems (Git) and development workflows - Understanding of system performance optimization and memory management Good to Have: - Experience with high-speed interfaces and signal processing - Exposure to networking protocols and communication stacks - Knowledge of scripting languages like Python for automation/testing - Experience in product development lifecycle and Agile methodologies Education: B.Tech / M.Tech in Computer Science, Engineering or related field
More at Open Futures