
Tech Lead – Embedded Software Development
Emerson
full-time
Posted on:
Location Type: Hybrid
Location: Pune • India
Visit company websiteExplore more
Job Level
About the role
- Design and implement embedded real-time software that meets functional safety and cybersecurity requirements
- Collaborate with product owners, architects, and global engineering teams to understand and translate product requirements into robust software designs
- Contribute to system and product architecture, including system, subsystem, and user interface requirements
- Allocate system requirements to appropriate technical areas and subsystems
- Plan and execute software development activities aligned with sprint goals in an agile environment
- Perform object-oriented design and development using C and C++ on embedded Linux platforms
- Participate actively in sprint planning, backlog refinement, reviews, and retrospectives
- Conduct code reviews and ensure adherence to established coding standards and quality practices
- Manage source code and changes using version control tools such as Git
- Develop and execute unit and integration tests to verify firmware and system requirements
- Debug software and hardware/software integration issues using simulators and target hardware
- Prototype software on custom hardware and support low-level board bring-up activities
- Improve software quality and performance through optimization, refactoring, and continuous enhancement
- Use lab tools such as oscilloscopes, logic analyzers, meters, and sniffing tools to diagnose and resolve hardware-level issues
- Apply secure coding practices and perform static and dynamic analysis to identify and mitigate vulnerabilities
- Address cybersecurity and compliance requirements, including EU-CRA or similar product certifications, throughout the development lifecycle
Requirements
- Strong experience developing embedded software, particularly on Embedded Linux platforms
- Advanced programming skills in C, C++, and shell scripting
- Hands-on experience with device driver development, Yocto image creation, and device tree configuration
- Practical exposure to boot loaders (such as U-Boot) and an understanding of Linux kernel concepts
- Experience working with embedded processor architectures (for example ARM or PowerPC) and common peripherals such as Flash memory, ADCs, and RTCs
- Working knowledge of communication protocols including I2C, SPI, CAN, RS-232/RS-485, or Modbus
- Familiarity with lightweight data storage methods such as SQLite, JSON, or similar
- Experience creating and executing unit tests, using manual or automated approaches
- Proficiency in debugging using tools such as GDB on both simulated environments and hardware boards
- Experience using JTAG or J-Link tools for programming and debugging
- Understanding of secure coding practices and open-source licensing considerations
- Experience working in agile development environments and using DevOps tools such as Azure DevOps
- Ability to implement encryption and security mechanisms to protect firmware and sensitive data
- Awareness of cybersecurity standards and the ability to identify and address software vulnerabilities
Benefits
- Opportunities for continuous learning
- Culture that values collaboration
- Inclusive environment
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
embedded software developmentCC++shell scriptingdevice driver developmentYocto image creationboot loadersLinux kernel conceptscommunication protocolsunit testing
Soft Skills
collaborationagile developmentcode reviewproblem-solvingcommunication
Certifications
EU-CRA