
Summary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will identify and fix issues and work collaboratively with engineers, product managers, and others on various teams.
Responsibilities:
- Design and build embedded systems, including embedded system firmware
- Test and debug the systems
- Monitor and maintain the system after development
- Improve system efficiency and stability after development
- Collaborate with customers to create systems based on their needs
Requirements:
- Minimum of a bachelor's degree in computer science or engineering
- Professional experience in embedded systems
- Significant programming experience in C or C++
- Experience in trouble-shooting embedded systems and microcontroller peripherals
- Experience in working in real-time operating systems
- Experience in interfaces, IP protocols, and hardware subsystems
- Proficiency in working with common embedded systems communication protocols
- Strong interpersonal and writing skills
- Ability to work as part of a team
- Exceptional analytical and problem-solving skills
- Self-motivated and passionate about your work and embedded systems
- Always eager to learn and improve

Similar jobs
🚨 Hiring Alert 🚨 Hiring Alert 🚨 Hiring Alert 🚨
📌 Job Role: C++ Developer
📍 Location: Chennai
We are looking for skilled C++ Developers with strong hands-on experience in software development, preferably in the automotive or embedded domain.
🔹 Key Requirements
✅ Strong proficiency in C++
✅ Good understanding of OOPS concepts
✅ Experience in debugging & performance optimization
✅ Exposure to Embedded / Automotive systems preferred
✅ Linux environment experience (preferred)
📩 Interested candidates can share updated CV
📌 Subject Line: Application for C++ Developer
#Hiring #CppDeveloper #CPlusPlus #EmbeddedDeveloper
#AutomotiveSoftware #ChennaiJobs #ExpleoHiring
#SoftwareEngineer #TechHiring #ImmediateHiring
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
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
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 environmentYou would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
Primary Skill: System Software Development
Skill sets req:
- Linux porting/development; Linux kernel concepts
- Expertise in Linux BSP device driver development
- Customizing kernel + Porting + Developing Applications Linux Device Driver Development (Character devices) Good Concepts of Network Drivers File Systems Concepts
- Expertise in porting, network stack; optimization, network programming
- Bootloader/Uboot porting
- Camera driver development (Good to have)
DUTIES & RESPONSIBILITIES
- Own & lead full cycle development: design, implementation, testing & debugging for an automotive product.
- Create conceptual system designs, assess risks, conduct design trade studies, and develop a product that meets feature requirements for integrating sensor, processing and software systems.
- Lead innovative system development projects with responsibility for achievement of cost, schedule, and technical requirements, with an eye toward technology maturation, transition, and follow on work.
- Generate comprehensive engineering documentation.
- Responsible for end-to-end system firmware development to include power management, boot loaders, scheduling, RTOS and /or bare metal implementations.
- Troubleshoot and resolve complex software problems in embedded real-time systems.
- Source code development, review & maintenance (C/C++).
- Dive into & take ownership of critical design issues.
- Analyse & propose solutions for performance bottlenecks.
- Address all aspects of technology readiness, including manufacturability.
- Help build robust methodology and processes to deliver the technology to products.
REQUIRED SKILLS & EXPERIENCE
- Experience in embedded architecture, external interfaces, product constraints, along with ability to develop architectures / features that meet these constraints while providing new value for the platform.
- Experience in system architecture, operating system, device architecture, hardware design.
- Strong background in software methodology & full cycle development (Design, implementation, testing & debugging).
- Expertise in embedded microcontrollers’ architecture.
- Expertise in software designing and programming in C/C++ is a must.
- Algorithm modelling, benchmarking, implementation & digital signal processing.
- Understanding of hardware & software co-verification & emulation platforms
- Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
- Experience with lab instrumentation like oscilloscope, logic/ protocol for debugging embedded systems at HW level.
- Bachelors | Masters degree in Computer Science or Electronics & Communication engineering with 2-5 years of relevant experience is a must.
Job Area Engineering - Software
Location Remote
Job Description
This position is ideal for a Senior SW engineer who is passionate about solving challenging business problems and building security services that provide an excellent client experience. You will be an integral part of the vulnerability assessment product development team focusing on designing, coding, and testing new and enhanced security services for z/Linux. The successful candidate should be a self-motivated individual with expert software engineering skills and solid expertise with IBM mainframe technologies. Candidate must be flexible and willing to switch tasks based on team's needs.
Qualifications
Basic Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
- 1+ years experience with Programming Language such as C, C++, Java, Python, etc.
- Linux kernel and device driver development
- Experience with development boards such as DragonBoard
- Experience with python, perl, rust, shell scripting
- C programming and debugging skills
Preferred Qualifications
- CPU and cache architectures
- Experience with JTAG and GDB debuggers
- Linux Kernel upstream patch submission
- CPU performance and power analysis
- Independent and self-motivated problem solver and strategic thinker
- Proficient in Git for development and patch/branch management
Essential Functions
- Good planning, time management, decision-making, presentation, and organization skills
- Effective written and verbal communication
- Excellent interpersonal and teamwork skills










