Free · takes a minute · your resume fills your profile
CoreHRx never asks candidates for money. If anyone does, .
Role at a glance
You will
The role focuses on developing, modernising, validating, and supporting programmable control platforms, with a particular emphasis on…
Design, develop, and maintain firmware using Embedded C and Assembly Language.
Develop low-level firmware components, including device drivers and hardware abstraction layers.
Experience
8–12 years
Education
Bachelor's degree
Must-have skills
Secure CodingC
How well do your skills match this job?
Sign in to see your fit: the skills, experience and location this job asks for, checked against your profile.
Job description
Job Title: Tech Lead - Firmware Engineer Experience: 8 - 12+ Years
About The Role :
We are seeking a highly motivated Programmable Platform Specialist with strong expertise in PLC programming, industrial automation, and software development. The role focuses on developing, modernising, validating, and supporting programmable control platforms, with a particular emphasis on iPro/CC200, LogicLab/ISaGRAF migrations, and secure, compliant software solutions.
Key Responsibilities :
Design, develop, and maintain firmware using Embedded C and Assembly Language.
Develop low-level firmware components, including device drivers and hardware abstraction layers.
Work with Microchip and NXP microcontrollers to implement product features and enhancements.
Analyse, modify, and optimise existing firmware for performance, stability, and scalability.
Review hardware schematics and collaborate closely with hardware engineering teams.
Implement secure coding practices and support product cybersecurity requirements.
Perform firmware debugging, validation, testing, and defect resolution throughout the development lifecycle.
Create and maintain technical documentation and design artefacts.
Technical Skills:
Embedded C Programming
Assembly Language Development (Microchip & NXP MCUs)
Microcontroller Architecture and Peripherals
Low-Level Driver Development
Firmware Debugging and Optimisation
Secure Coding Practices
Hardware Schematic Reading and Analysis
Firmware Validation and Testing
Primary Technology Focus
Embedded Firmware Development | Microcontroller-Based Systems | Device Drivers | Secure Embedded
Software | Hardware-Software Integration
Preferred Qualifications
Bachelor's degree in Electronics, Electrical, Computer Science, Embedded Systems, or a related field.
8-12 years of experience in firmware development for embedded products.
Strong understanding of MCU architecture, memory management, interrupts, communication interfaces, and peripheral integration.
Experience with firmware modification, optimisation, and troubleshooting in production environments.
Excellent analytical, problem-solving, and collaboration skills.
Ideal Candidate
A hands-on firmware professional with deep expertise in Embedded C, assembly programming, low-level driver
development, and microcontroller architectures, capable of delivering secure, high-quality embedded solutions across the product lifecycle.
This guide helps Indian freshers and experienced developers prepare for C programming interviews for software, embedded and systems roles, from a campus placement round to a senior firmware or Linux position. It has 60 questions in three levels. Easy covers data types, operators, pointers, arrays and strings. Medium covers memory management, structs, the preprocessor, file I/O and debugging. Hard covers undefined behaviour, volatile, atomics, linking, memory layout and performance. Each answer is written the way a strong candidate would say it aloud, and every code example was compiled with gcc -std=c11 -Wall -Wextra, with each stated output taken from a real run. Answer each question aloud before reading ours, then take the mock test to practise against the clock.
Questions you may be asked
What are the basic data types in C, and what sizes do they have on 64-bit Linux with GCC?
What happens when an unsigned int goes below zero, and how is that different from signed overflow? Assume a 32-bit int, as on 64-bit Linux with GCC.
What do the / and % operators give for negative integers in C11?
What is the difference between = and == in C, and why does if (x = 5) compile?