
We are seeking a high-caliber Firmware Lead to join our Engineering team at Gradera. In this role, you will be the technical anchor for the firmware squad, responsible for translating high-level architectural visions into robust, executable low-level designs (LLD). You will lead the design and development of firmware solutions on NXP-based hardware platforms, ensuring seamless real-time data acquisition and integration with cloud-based Machine Learning (ML) platforms. We are looking for a seasoned expert who can work independently without any supervision, taking full ownership of the firmware lifecycle from hardware abstraction to cloud-edge synchronization.
Our Core Tech Stack
Embedded & OS
- NXP SoCs/MCUs: i.MX, LPC, and Kinetis series.
- Yocto Project: Custom layers, recipes, BitBake, and kernel configuration for Linux.
- RTOS Platforms: Deterministic performance, task scheduling, and interrupt handling.
Development & Integration
- Languages: Mandatory proficiency in C/C++ and C# (.NET on embedded targets/IoT).
- Communication: MQTT, WebSockets, CAN, UART, SPI, and I2C.
- Cloud & ML: Azure IoT Hub, AWS IoT Core, and data streaming via Kafka or Kinesis.
Infrastructure & Security
- Security: Secure boot, encryption, and device authentication.
- DevOps: Containerization (Docker) and CI/CD for firmware.
Key Responsibilities
- Architectural Ownership: Convert high-level blueprints into detailed technical designs for NXP-based systems, ensuring optimal performance across hardware and software layers.
- Autonomous Execution: Lead the end-to-end development of firmware modules, making critical technical decisions and resolving complex blockers without supervision.
- ML Pipeline Leadership: Collaborate with Data Engineering and ML teams to architect streaming and batch ingestion pipelines, ensuring data is correctly structured for ML training.
- Cloud-Edge Synchronization: Design secure and reliable transmission protocols for device-to-cloud communication, focusing on edge-to-cloud integration.
- Standards Enforcement: Act as the guardian of engineering excellence, implementing security best practices (secure boot, TLS) and ensuring high code quality.
- Technical Mentoring: Act as a technical beacon for the squad, conducting rigorous code reviews and mentoring senior engineers in Yocto Linux and RTOS concepts.
- Strategic Troubleshooting: Lead the debugging of critical firmware issues across hardware and software layers, including OTA update implementations.
Preferred Qualifications
- 8 to 10 years of professional experience in embedded firmware development.
- Proven ability to work independently and lead technical squads in a fast-paced environment.
- Expert-level mastery of the Yocto Project and RTOS constraints.
- Deep proficiency in C/C++ and C# for embedded systems.
- Demonstrated track record of delivering low-level designs for edge-to-cloud ML systems.
Highly Desirable
- Industry Experience: Exposure to industrial domains such as Manufacturing, Logistics, or Transportation is highly regarded.
- Experience with Edge AI / TinyML and industrial protocols (Modbus, OPC-UA).
- Knowledge of Cybersecurity standards for secure device provisioning.

Similar jobs
Job Title: Senior Software Engineer (6-Month Contract)
Location: Bengaluru
Experience: 8+ Years
Mandatory Skills:
- C++ and C# programming
- Windows system-level programming
- Strong OOP, data structures, algorithms, and design patterns
Desired Skills:
- Knowledge of security fundamentals (authentication, cryptography)
- Familiarity with networking protocols (TCP/IP, TLS/SSL)
- Experience with REST clients and Windows security mechanisms
Responsibilities:
- Design, develop, and maintain Windows-based applications
- Write clean, efficient code and perform code reviews
- Collaborate with team members and communicate effectively
- Contribute to testing strategies and ensure software quality
- Prepare technical documentation and provide project status updates
Soft Skills:
- Self-driven and proactive
- Strong communication and teamwork skills
Contract Duration: 6 months
Job Title: Senior Software Engineer (6-Month Contract)
Location: Bengaluru
Experience: 8+ Years
Mandatory Skills:
- C++ and C# programming
- Windows system-level programming
- Strong OOP, data structures, algorithms, and design patterns
Desired Skills:
- Knowledge of security fundamentals (authentication, cryptography)
- Familiarity with networking protocols (TCP/IP, TLS/SSL)
- Experience with REST clients and Windows security mechanisms
Responsibilities:
- Design, develop, and maintain Windows-based applications
- Write clean, efficient code and perform code reviews
- Collaborate with team members and communicate effectively
- Contribute to testing strategies and ensure software quality
- Prepare technical documentation and provide project status updates
Soft Skills:
- Self-driven and proactive
- Strong communication and teamwork skills
Contract Duration: 6 months
Key Responsibilities
1. Kernel Lifecycle & Maintenance
Upstream Alignment: Lead the strategy for upgrading enterprise kernels (e.g., migrating from LTS 5.15 to 6.6) while maintaining binary compatibility where required.
Patch Porting: Expertly port functional and performance patches between disparate kernel versions, resolving complex code conflicts and API changes.
CVE Mitigation: Monitor the Linux Kernel Mailing List (LKML) and security advisories to identify and backport CVE patches from upstream to production environments.
2. Deep-Dive Debugging & Stability
Panic Analysis: Act as the final escalation point for Kernel Panics and "Oops" messages. Utilize kdump, crash, and gdb to perform post-mortem analysis of vmcores.
Boot-Time Resolution: Debug critical failures during the early boot process (UEFI handoff, initramfs, and early kernel init) where standard logging is unavailable.
Performance Tuning: Use ebpf, ftrace, and perf to identify bottlenecks in memory management, scheduler latency, or I/O throughput.
3. Driver Development & Hardware Integration
Driver Ownership: Design, develop, or maintain at least one Open Source or Proprietary Device Driver (Network, Storage, GPU, or Character devices).
Hardware Abstraction: Interface directly with hardware registers, managing DMA mappings, and optimizing interrupt handling (MSI-X, Threaded IRQs).
Out-of-Tree Management: Maintain driver compatibility across kernel updates using DKMS or similar frameworks.
4. Infrastructure & Automation
Registry Management: Oversee the distribution of custom kernel builds and modules via GitLab Container/Package Registries.
CI/CD for Kernel: Build automated testing pipelines (Hardware-in-the-loop) to validate kernel stability before enterprise-wide deployment.
Required Technical Skills:
Languages: Mastery of C/C++ Programming (C is preferred)
Kernel Internals: Deep understanding of VFS, Memory Management (MMU/Paging), Process Scheduling, and Networking Stacks.
Debugging Tools: Expert-level use of kprobes, trace-cmd, valgrind, and hardware-level debuggers (JTAG/Serial Console).
Build Systems: Proficiency with Kbuild, Makefiles, and building RPM/Debian packages for kernel distribution.
Security: Hands-on experience with SELinux/AppArmor policy development and kernel hardening (FIPS, KSPP).
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less
-
Perform analysis, design and implementation of assigned projects using sound engineering principles and adhering to business standards, practices, processes, and product / program requirements
-
Engage with global teams to effectively translate customer requirements to software requirements and identify potential solutions that are optimized to operate with in constraints of the product
-
Troubleshoot variety of complex software problems
-
Provide timely status updates and proactive communications on issues to the stakeholders.
-
Able to interface with internal and external stake holders regarding software issues.
-
Contribute as part of teams put together to meet overall organization initiatives/objectives
-
As a technical lead,
-
Guide team efforts towards successful deliverables.
-
Provide technical leadership to teammates through coaching and mentorship.
-
Able to effectively manage escalations and operate under crisis
-
Have the ability and willingness to acquire in-depth understanding of domain and existing products (beyond software) and apply that knowledge to develop new products and to deliver enhancements/ fixes for customer requirements.
-
Background in Industrial Automation
-
Prior experience in supervisory control systems software
-
Bachelor of Engineering degree in Computer Science/Information Science/Electronics/Electrical/Instrumentation with strong back ground in Industrial automation software
-
Strong C, C+ programming on variety of Windows platforms using Microsoft technologies
-
Sound knowledge of Computer Science fundamentals data structures, algorithms, operating system concepts
-
Excellent analytical skills, methodical problem-solving skills and troubleshooting skills
-
Prior experience of working in global teams and interfacing with multiple stake holders
-
Excellent communication skills (verbal and written) and the ability to interact with extended teams spread across the globe.
Post: Embedded Developer
SKILLS REQUIRED:
• Proficiency and Hands on Experience on Embedded C, various protocols such as I2C, SPI, RS232 etc.
• Testing and debugging of hardware and firmware
REQUIRED QUALIFICATION
• B.E. E&TC , Electronics
• Certification in Embedded System Development/Application
• Minimum 1 years of Experience in same domain
You’ll be our: Firmware Engineer
You’ll be based at: IBC Knowledge Park, Bengaluru
You’ll be Aligned with: Embedded Manager
You’ll be a member of: Vehicle Software
What you’ll do at Ather:
A successful candidate is expected to lead the Firmware development and integration effort for various Ather products and be responsible for qualifying and integrating FW at various stages with HW. Responsibilities include:
-
Understanding requirements from different stakeholders and translating these to application features
-
Writing high quality source code to program complete applications within deadlines
-
Unit-testing code for robustness, including edge cases, usability, and general reliability
-
Performing functional and non-functional testing
-
Troubleshooting and debugging applications
-
Designing creative prototypes according to specifications
-
Evaluating existing applications to reprogram, update and add new features
-
Developing technical documents and handbooks to accurately represent application design and code
-
Identifying and communicating possible risks along with preventive and corrective measures
-
Designing HW/SW integration while working with HW/Algorithms/Cloud teams to deliver an integrated solution.
Here’s what we are looking for:
Must have:
-
ECU Software development experience (any of the ARM based Auto ECUs Body Electronics/Infotainment/ Powertrain/Cluster)
-
Previous experience with Low level firmware, Boot loaders, Device Drivers development
-
Hands on Experience Communication Protocols CAN, I2C, SPI, RS232
-
Experience with static analyser, JTAG tools etc…
-
Knowledge in Assembly and compilers
-
Strong testing & debugging skills, experience with logic analysers
-
Language: C, C++
Nice to have:
-
Knowledge of HW design for ECUs
-
Experience with UDS, AutoSAR, ISO26262, MISRA Guidelines
-
Previous experience with SIL and HIL Testing as well as Test case generation for the same.
-
Hand on experience in using CAN tools & CAPL Scripts, Bus Master
-
Real Time operating Systems, Python, Matlab/Simulink
You bring to Ather:
-
BE/B.tech/B.Sc is minimum req with minimum 2-6 years of prior industry experience.
Xfinito is building a portfolio in new product innovation, product contribution and infrastructure goals while providing individuals and teams the freedom to emphasize specific types of work.
Our work focuses on real –world problems that span the breadth of biomedical engineering, embedded systems, computer science, such as machine and deep learning, data mining, natural language processing, hardware and software performance analysis and much more.
JOB ROLE: EMBEDDED SYSTEMS ENGINEER
ROLES AND RESPONSIBILITIES:
- Work with multi-disciplinary engineering team and customer to identify and recommend hardware needs and requirements for project/product.
- Modify or assist in the development of software architecture and design for new products, prototype, or re-design, including sourcing build environments and writing technical support and control documentation.
- Read Block Diagrams and detail circuit schematics and layout of proposed or existing hardware and assess the software and driver requirements.
- Participates in cross-divisional Edge IoT projects and/or proposals.
- Develop, oversee, and document automated tests for electrical hardware design and products as well as final operating drivers and systems.
- Evaluate and investigate product failures, and recommend repair or design modifications based on specifications, cost, resources, and risks.
REQUIREMENTS:
- Ability to creatively approach challenges and cleverly solve difficult problems.
- Ability to independently identify daily design and customer support tasks, self-start and motivate.
- Ability to manage several projects and prioritize appropriately, with minimal supervision.
- Ability to work in a collaborative team environment as well as independently.
- Ability to learn and work in virtual environments (CAD & Hardware build packages) in-which candidate’s skills are low but persevere and overcome skill gaps autonomously.
- Some experience programming with embedded systems designs and multithreaded real-time operating systems is required.
- Solid programming experience. Preferably in C or C++, .NET, and Java programming languages.
EXPERIENCE:
We as a team are looking for freshers or young professionals with (0-4 years of experience) passion and eagerness to create scalable and optimized software systems and execute complete embedded software development lifecycle.









