E

Technical Leader – Embedded Software Development

Emerson · State of Mahārāshtra, India

~₹30L (est.)10–18 yrs experiencefull_timePosted Yesterday
Apply now →

Job description

. **Essential Job Responsibilities:** - Design/implement embedded real-time systems that meet rigorous functional safety and cybersecurity requirements - Work in an agile development environment that uses Azure DevOps or similar tools - Collaborate with cross-functional teams located in multiple geographical locations - System/product architecture, system requirements, user interface requirements - Allocation of system requirements to technical areas subsystems and requirements - Plan and execute software development activities to address features planned in sprints - Performing Object-Oriented Design and coding of real-time embedded software - Participate in sprint planning, backlog refinement and retrospective sessions. - Conduct code reviews and ensure the code quality meets the standard coding guidelines - Manage code changes using version control tools such as Git - Creation and execution of unit and integration tests for verifying firmware requirements - Debugging software and hardware/software integration issues - Prototyping software on custom hardware and performing low-level board bring-up - Propose improvements using code optimization, refactoring and enhancement of real time performance - Use scopes, meters, power sources, logic analyzers, sniffing tools etc. to debug issues on the target hardware boards - Follow secure coding practices and perform static and dynamic code analysis to uncover vulnerabilities - Understand cyber security requirements for the product driven by EU-CRA or similar cyber security product certifications and ensure those are addressed throughout the SDLC process. **Technical Skills:** - **Must Have Skills / Competencies** - Minimum of 15+ years of embedded software development experience preferably on Embedded Linux platform - Expert programming skills in C / C++ and shell scripting - Hands-on experience in Device Driver development, building YOCTO image and device tree development - Experience working on boot loaders (U-boot preferred) and a good understanding of Linux kernel internals will be an advantage - Familiarity working with ARM or PowerPC processor architectures, FLASH memory, ADCs and RTC devices used in embedded systems - Experience using communication protocols such I2C, SPI, CAN, RS-232/RS-485 or Modbus - Understanding database management using Sqlite, JSON or similar methods - Experience in developing and conducting unit testing using manual or automation method - Experience in debugging software using GDB debugger or similar tools on simulated environment as well as hardware boards. - Experience with tools such as JTAG or J-Link for board programming - Hands-on experience in secure coding practices and understanding of open-source software licensing for cyber security compliance - Knowledge and experience with agile development methodologies - Experience working on Virtual environments such as VMWare or similar tools for code development - Experience on DevOps using Azure and implementing CI/CD - Experience in implementing data encryption to secure critical data and firmware residing inside the product - Ability to identify security vulnerabilities in software by developing a deeper understanding of architecture as well as tools such as Blackduck and address EU-CRA requirements - **Good to have Skills / Competencies** - Experience working on embedded products used for temperature, pressure, electricity or gas measurement will be an added advantage. - Experience in UML or similar modeling languages for software design and architecture development - Knowledge and experience with RTOS as well as developing UI using QT framework - Knowledge and experience with distributed version control such as (GIT, SVN etc) - Knowledge and experience with static code analysis tools such as PC-Lint, Coverity or MISRA - C Std. - Knowledge and experience with VS Code or similar IDEs for code development - Experience in software build automation using QBS for cross-platform development - Experience in developing multi-threaded, modular design on single/multi-core processors - Experience implementing cybersecurity features and exposure to IEC62443 or EU-CRA compliance - Hands-on experience using copilot tools for code development or unit testing to enhance productivity - Experience in threat modeling using Microsoft Azure or similar tools will be an advantage - Experience working in geographically distributed teams **Education:** B.E/B. Tech in Instrumentation, Electronics & Telecommunication **Additional Competencies** - Strong verbal & written English communication - Strong analytical and problem-solving skills. - Strong learning ability and experience in handling ambiguity - Guide and act as a technical mentor for other members within the team