
We are searching for a talented embedded developer to join our team. You will be working along-side with other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
The candidate should be proficient in C and C++ and possess detailed knowledge of microcontroller protocols. The candidate would be responsible for,
-
Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
-
Design, develop, code, test and debug system software
-
Review code and design
-
Analyze and enhance efficiency, stability and scalability of system resources
-
Integrate and validate new product designs
-
Support software QA and optimize I/O performance
Mandatory Skills:
-
Experience in C++ based applications development for embedded system applications
-
Solid understanding of OOPs, SOLID Principles, Design Patterns.
-
Drivers/BSP development on peripherals like ADC, SPI, I2C, UART etc
-
Firmware development experience on ARM Series of microcontrollers
-
Strong knowledge of hardware architecture such as ARM, MIPS, and x86.
-
Familiarity with hardware protocols including USB, UART, I2C, and SPI.
-
Familiarity with OS platforms such as Linux, Unix, and RTOS.
-
Knowledge on different communication protocol like Wi-Fi, Zigbee, Bluetooth and sub–GHz.
-
Basic Hardware knowledge and debugging skills
-
Strong analytical and problem-solving abilities.
-
Strong organizational and project management skills.
-
Strong knowledge of SDLC, test cycle and logical thinking on various complex use case call scenarios.
-
The ability to keep abreast with the latest advancements in technology and techniques.
Desired Skills:
-
Knowledge on IoT based systems
-
Preferably worked on a Linux based project.
-
Ability to lead the team & handle the project and own all technical aspects of design and development of systems from scratch.
-
Meticulous and very organized.
-
You will not hesitate to ask questions and call upon the knowledge of your coworkers to make sure you produce the best possible documentation for our customers.
-
Worked on 3-5 project from starting of project to delivery of project (Depending on experience)

Similar jobs

C++ Developer / Test Engineer (GoogleTest / G-Test)
About the Role
We are seeking a highly skilled C++ Developer / Test Engineer with strong expertise in unit testing, debugging, and software quality engineering. The ideal candidate will have hands-on experience developing and executing automated test cases using GoogleTest (G-Test) and validating enterprise-grade C++ applications.
This role requires strong implementation capability, debugging maturity, and a deep understanding of software testing methodologies to improve application stability, code quality, and production readiness.
Key Responsibilities
- Design, develop, and execute unit test cases using GoogleTest (G-Test).
- Improve code coverage and ensure application reliability.
- Perform debugging, root cause analysis, and issue resolution.
- Validate server-side customizations and application behavior.
- Analyze logs and troubleshoot production and development issues.
- Collaborate with development teams to resolve defects and improve software quality.
- Support CI/CD pipelines and automation initiatives.
- Contribute to software quality, maintainability, and testing best practices.
Required Qualifications
- 3–6 years of experience in C++ development and/or testing.
- Strong hands-on experience with GoogleTest (G-Test) or similar unit testing frameworks.
- Excellent understanding of Object-Oriented Programming (OOP).
- Strong knowledge of STL, pointers, memory management, and data structures.
- Experience in debugging, log analysis, and root cause investigation.
- Familiarity with Git, Jenkins, and CI/CD workflows.
- Ability to work independently on real-world implementation and testing challenges.
- Comfortable working in a hybrid setup from Pune.
Preferred Qualifications
- Experience with Teamcenter customization or PLM applications.
- Exposure to enterprise software development environments.
- Knowledge of software quality assurance and automation practices.
What We're Looking For
- Strong practical implementation skills.
- Ownership of testing and debugging activities.
- Experience working on production-grade applications.
- Ability to analyze complex issues and drive resolutions.
- Focus on software quality, reliability, and maintainability.
Evaluation Criteria
Candidates will be assessed on:
- Practical C++ implementation capability.
- GoogleTest framework expertise.
- Debugging and problem-solving skills.
- Understanding of OOP, STL, and memory management.
- Real project ownership and execution depth.
- Code quality and testing best practices.
Education : B.Tech / M.Tech only
MANDATORY CRITERIA:
- It's a Contractual role for a particular project ongoing in the company, duration will be 1 year or may exceed as per the project requirement, After that the candidate will be kept on permanent role.
- The candidate will be on company's payroll only.
- Candidate should be comfortable for directly visiting and working with client's place.
- Immediate to 15 days joiner preferred
- 3 to 5 years of hands-on experience in Linux Device Driver development
- Strong experience with Linux kernel programming & memory management
- Experience with Zephyr OS / device driver model (porting bare-metal drivers).
- Familiarity with RTOS linux kernel internals and hardware protocols (They mainly use AXI protocol, i2c, spi).
- Strong knowledge of PCIe and DMA drivers
- Proficiency in C / C++ programming languages
- Experience working with hardware interfaces/protocols (AXI, I2C, SPI)
REQUIRED SKILLS:
- Proven experience in developing Linux Device Drivers.
- Preferred experience in Zephyr (need to port bare metal drivers to zephyr OS/device driver model).
- Strong knowledge of PCIe and DMA drivers (Good to know Xilinx's IPs like AXI-DMA, XDMA etc).
- Expertise in Linux Memory Management.
- Proficiency in C/C++ programming languages.
- Preferred familiarity with real-time operating systems (RTOS), linux kernel internals and hardware protocols (They mainly use AXI protocol, i2c, spi).
Immediate to 15 days joiners are preferrable we need to close it asap.
Requirements:
- Very good programming knowledge in C/C++
- Experience in Multi-threaded software development
- Understanding of operating systems concepts, system performance, and optimization
- Familiar with working in an Embedded Linux development environment.
- Excellent problem-solving/debugging skills, design, development, troubleshooting, and debugging
- Knowledge of embedded tools like emulators, linkers, makefiles, etc
- Experience in voice applications development, preferably on client/server platforms
- Knowledge of RTOS programming will be added advantage.
- Understanding of different processors. microcontrollers architectures.
- Familiarity with development tools such as GCC, GDB, Eclipse, GNU Make, etc
About Monarch:
At Monarch, we’re leading the digital transformation of farming. Monarch Tractor augments both muscle and mind with fully loaded hardware, software, and service machinery that will spur future generations of farming technologies.
With our farmer-first mentality, we are building a smart tractor that will enhance (not replace) the existing farm ecosystem, alleviate labor availability, and cost issues, and provide an avenue for competitive organic and beyond farming by providing mechanical solutions to replace harmful chemical solutions. Despite all the cutting-edge technology we will incorporate, our tractor will still plow, till, and haul better than any other tractor in its class. We have all the necessary ingredients to develop, build and scale the Monarch Tractor and digitally transform farming around the world.
Description:
We are looking for engineers to work on applied research problems related to control in autonomous driving of electric tractors. The team works on path planning and control to deploy on resource constrained hardware.
Technical Skills:
- Necessary Skills: C++, Eigen, Boost, ROS.
- Solid theoretical knowledge in Linear Algebra and Differential Equations, Control systems, Model Predictive Control, Robotics.
- Knowledge of some numerical algorithms or libraries among: IPOPT (cppAD), HPIPM would be a plus.
- Experienced candidates in ROS & C++ projects with no prior control experience willing to apply their knowledge to vision problems are also encouraged to apply.
- Experience in simulation frameworks such as Gazebo would be a plus.
Responsibilities:
- Ability to formulate math for a given problem statement/approach and prototype in C++.
- Work in conjunction with other sub-systems for integration.
- Testing/tuning the controller in simulation and on real-world hardware.
- Communicate and collaborate with team members in India and abroad for the fulfillment of your duties and organizational objectives.
- Thrive in a fast-paced environment and can complete the assigned sub-task.
What you will get:
At Monarch Tractor, you’ll play a key role on a capable, dedicated, high-performing team. Our compensation package includes a competitive salary, excellent health, benefits commensurate with the role you’ll play in our success.
Lifespark Technologies is looking for individuals with a passion for impacting real lives through technology. Lifespark is one of the most promising startups in the Assistive Tech space in India, and has been honoured with several National and International awards. Our mission is to create seamless, persistent and affordable healthcare solutions. If you are someone who is driven to make a real impact in this world, we are your people.
Lifespark is currently building solutions for Parkinson’s Disease, and we are looking for an embedded software lead to join our growing team. You will be working directly with the founders on high impact problems in the Neurological Healthcare domain. You will be solving some of the most fundamental and exciting challenges in the industry and will have the ability to see your insights turned into real products every day
Responsibilities :
1. RTOS based multithreaded software development
2. Building future ready, scalable software architectures
3. Liasing with hardware team to decide project requirements
4. Realtime IoT functionality development on ESP32 platform
5. Integration of third party services for cloud based communications and computation
6. Maintaining and documenting software via git (GitLab)
7. Coordinating releases, setup and maintenance of CI/CD pipelines
8. Managing AWS based backend services, integration with AWS services such as S3,
Sagemaker
9. Firmware security, Flash encryption, Bootloader encryption, secure communications
10. Deep integration with hardware team - stress testing hardware
11. Development of device drivers
12. Software testing and maintenance
Recommended experience :
1. Good command over Linux
2. Familiarity with real time tasks and timing sensitive system design
3. Familiarity with BLE/Wifi/etc IoT communication protocols
4. Familiarity with major third party platforms for cloud and ML/AI integration
5. Testing actual physical outcomes of programmed solutions
6. Deep familiarity with ESP-IDF
Location : IIT Bombay, Mumbai
Working mechanism : In-person
Compensation range : 4-12 lpa + ESOPs
Job Responsibilities
Responsibilities for this position include, but are not limited to, the following.
Understand requirements and create low-level design using UML
Develop embedded software as per defined software requirements
Software integration & testing
Background & Skills
Education:
B.E/B. Tech/M.Tech/Master (Electronics/Telecommunications/Computers Science)OR equivalent
Experience & Attributes:
2-8 years’ experience in Embedded system software design, development, and testing.
Excellent communication skills, spoken and written English
Must have specialized knowledge :
· Embedded C
· Electronics
· RTOS
· Knowledge of Microcontrollers (RISC, CISC)
· CAN Communication & Protocols like UDS, KWP2000, CANopen and J1939
· MISRA standard - 2000/MISRA 2012
· SDLC, Agile Scrum
· Static analysis & Tools like LDRA or QAC or Vector cast
· Change Management & Tools like JIRA/VSTS
· Version control & Tools like SVN/GIT/Clearcase
· Traceability management & Tools like Reqtify or equivalent
· Design methodologies - like UML
· Software Test Life Cycle
Specialized knowledge – Will be Preferred
· Functional Safety life-cycle & Management - Applies to software design & development
· Safety standards like - IEC-61508, ISO-26262, ISO-25119, ISO-13849
Key Tasks and Responsibilities
· Software requirement specification writing
· Creating design for assigned modules
· Implementing the code for assigned requirements
· Perform unit testing
· Perform peer reviews or inspection of software work products
· Support testing team on defect analysis
· Adhere to Quality processes
Strong in Basic C++, STL, Linux
OOPs, Exception Handling
Design Pattern and Solid principles, concepts related to UML representation
• Solution, design, and architecture concepts
• Knowledge on Pointers and smart Pointers.
• IO streams, Files and Streams and Lambda Expressions in C++ added advantage.
• Features of C++17 and usage of STL in C++ is added advantage.
• Templates in C++.
Communication skill, Attitude, learnability
• Experience in system design and building IoT systems in resource and power constrained environments
• Proficient in C language on embedded platforms and familiarity with hardware design of embedded system is a plus
• Development on Linux Platform/RTOS with an emphasis on embedded device driver development, multi-threading, and firmware debugging
• Experience with mesh network or sensor network and communication
• Good understanding of multiple IoT platform components is essential
• Solid working knowledge using IoT hardware platforms, communication boards, and gateways
• Hands-on in internet protocols and software development using protocols including LoRA, Wi-Fi, BLE, ZigBee, NB-IoT, M2M,6LoWPAN, Ethernet etc.
• Expert hands-on proficiency in developing applications using one or more technology stacks
• Strong hands-on understanding of scalability, security, high availability, and operational requirements
• Sound and proven decision-making skills to influence the technology choice and implementation methodologies
• Hands-on in object-oriented programming principles, design patterns, and software architecture
• Good with rapid problem solving, a strong technical background, and passion for continuous improvement
• Must have had hands on experience with Connected smart products having Product and Application software, data and Cloud
• Must have intimate knowledge of tools and processes used for Product(firmware) and/or Application software and/or Device hardware and/or Cloud
• Must be intimately familiar with Agile and Scrum, in the creation of dashboards for Sprints. An expectation would be to implement Scrum within the organization
• Must have strong familiarity with SMAC(social media, mobile, analytics and cloud) trends and application to saleable product categories
• Must have worked closely with Mechanical/Electrical/Electronics engineering teams in the development of smart/connected products.
2. Embedded development – preferably middleware development
3. Multimedia domain, like – AV, Gstreamer, RDK, DASH, DRM (widevine and playready), HLS, OTT app integration(Chromium/Cobalt integration for any AV apps, such as YouTube, Netflix, Amazon prime, Disney etc.)
Location:Bangalore / Chennai
Type: Permanent
Company Type: AI / Digital Product Design Service based
Job Description
* Experience in C/C++ and have strong experience embedded application development and integration in Linux
* Good in creating unit tests, performing code reviews, optimizing performance and ensuring standards for maintainability
* Debugging, profiling, and performance optimization skills
* Have experience working in a fast paced Agile/Scrum environment








