Lead Embedded Software Developer
Job Description Summary
We are seeking a talented Lead Embedded Software Engineer to join our team. The ideal candidate will possess strong skills in Embedded C programming and Real-Time Operating Systems (RTOS). The primary responsibility will be to develop and maintain embedded software for our products, ensuring high-quality code and system reliability. Additionally, familiarity with IEC-61850 standards and knowledge of HVDC systems are considered advantageous.Job Description
Key Responsibilities:
- Design, develop, test, and debug embedded software for diverse applications, ensuring robustness and efficiency
- Providing technical guidance to the team and responsible for developing complex modules and driving architectural changes.
- Collaborate effectively with hardware engineers and multidisciplinary teams to seamlessly integrate software with hardware components
- Ensure adherence to established coding standards, software development processes, and agile methodologies.
- Actively participate in code reviews, providing constructive and actionable feedback to peers to enhance code quality
- Conduct thorough software verification and validation activities to guarantee product quality and reliability
- Accurately document software designs, requirements, and test procedures to maintain clear and comprehensive records
- Stay informed about the latest technologies and industry trends in embedded systems and RTOS to continually improve skills and knowledge
- Provide technical support and expertise to other teams as required, facilitating problem-solving and innovation
Required qualifications:
- Bachelor’s or master’s degree in computer science, Electronic & communication Engineering, Electrical Engineering, or related field.
- At least 8+ years of experience in embedded software development.
- Advanced proficiency in Embedded C or C++ ensuring efficient and optimized code development
- Strong Hands-on experience with RTOS platforms such as FreeRTOS, VxWorks, and others, demonstrating capability in managing real-time constraints and system resources.
- Strong proficiency in scripting languages, preferably Python, to automate tasks and enhance productivity.
- Experience working in Agile development environments, showcasing adaptability and collaboration in iterative processes
- In-depth understanding of embedded systems concepts, including hardware/software integration, memory management, and device driver development
- Comprehensive knowledge of software development lifecycle and methodologies, ensuring structured and systematic development practices.
- Excellent problem-solving abilities and debugging skills, capable of identifying and rectifying issues efficiently.
- Ability to work independently as well as collaboratively within team settings, fostering a productive and cooperative work environment.
- Strong communication skills, facilitating effective collaboration with cross-functional teams and stakeholders.
Preferred Skills:
- Familiarity with IEC-61850 standards for communication networks and systems in power utility automation.
- Knowledge of HVDC (High Voltage Direct Current) systems and related technologies.
- Experience with protocols used in industrial automation and control systems (CAN, Ethernet/IP, etc..).
- Knowledge of software configuration management tools such as Git.
- Understanding of cybersecurity principles specifically applied to embedded systems, emphasizing skills in protecting systems against vulnerabilities and threats
Additional Information
Relocation Assistance Provided: Yes