
C/C++ Developer
We’re doing things no one has ever done. From developing game-changing technology and solutions to
helping the world’s top brands connect like never before, every day brings new challenges and opportunities
to innovate. We offer the chance to make your mark on something awesome.
What are we looking for?
Strong C/C++ programming and debugging skills in a Linux environment.
Experience with Design Patterns, ACE Framework, and Socket Programming.
Experience in Multi-threaded software development for Multicore Architectures.
Experience in VOIP application development, preferably on client/server platforms.
Understanding of system performance and scaling
Experience in embedded software development
Excellent problem solving/debugging skills design, develop, troubleshoot and debug
Software programs for databases, applications, tools, networks etc.
Requirements:
Bachelor's degree in Computer Science or related field or equivalent experience.
3-6 years of software engineering or related experience.
Location: Bangalore/Hybrid Model

Similar jobs
Job Title : Embedded System Software Engineer
Experience Required : 1 to 3 Years
Duration : 6+ Months (Extendable)
Notice Period : Immediate
Job Description :
We are seeking a motivated and skilled Embedded System Software Engineer to join our team.
The ideal candidate will have 1 to 3 Years of experience in embedded software development with a solid foundation in C++ and Qt 5.
This role involves working with embedded Linux systems and contributing to the development and maintenance of robust embedded applications.
Mandatory Skills : C++, Qt 5, Embedded Linux (Yocto preferred), SOAP/REST protocols, Git, problem-solving, and analytical skills.
Key Responsibilities :
- Design, develop, and maintain embedded software applications using C++ and Qt 5.
- Work on embedded Linux systems, with a preference for experience in The Yocto Project.
- Integrate and manage network communication using protocols such as SOAP and REST.
- Collaborate with cross-functional teams to understand requirements and deliver high-quality solutions.
- Utilize Git for version control and collaborative development.
- Troubleshoot and debug software and system issues efficiently.
- Continuously improve code quality through code reviews, testing, and optimization.
Required Skills and Qualifications :
- Bachelor’s degree in Computer Science, Engineering, or a related field.
- 1 to 3 Years of hands-on experience in software development.
- Proficiency in C++ and Qt 5 Framework.
- Experience working with Embedded Linux; knowledge of Yocto Project is a strong plus.
- Basic understanding of network protocols, including SOAP and REST.
- Familiarity with Git or other version control systems.
- Strong problem-solving and analytical skills.
Preferred Skills (Nice to Have) :
- Experience in cross-compiling and deployment for embedded targets.
- Familiarity with CI/CD tools and automated testing for embedded systems.
- Understanding of hardware-software integration challenges.
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
𝐒𝐞𝐧𝐢𝐨𝐫 𝐒𝐭𝐚𝐟𝐟 𝐄𝐧𝐠𝐢𝐧𝐞𝐞𝐫 – Android Automotive (AAOS)
𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: 4–10 𝐘𝐞𝐚𝐫𝐬
Mandatory skills: Android Automotive OS (AAOS/AOSP), Android Application Framework, System Services, Binder IPC (AIDL/HIDL), Java, C++, Automotive Infotainment, CAN/Ethernet, ASPICE (preferred)
𝐎𝐓𝐀 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫
𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: 5–10 𝐘𝐞𝐚𝐫𝐬
Mandatory skills: Automotive OTA Framework, C/C++, Embedded Linux, Uptane, FOTA/SOTA, A/B partitioning, Bootloader interaction, Secure OTA (PKI, SSL/TLS), CAN, UDS, DoIP
𝐓𝐞𝐥𝐞𝐦𝐚𝐭𝐢𝐜𝐬 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫
𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: 5–10 𝐘𝐞𝐚𝐫𝐬
Mandatory skills: Telematics/Connected Vehicle platforms, Embedded Linux, C++, 4G/5G, Wi-Fi, Bluetooth, GNSS, Vehicle Data, MQTT, HTTP/HTTPS, LwM2M, CAN, Ethernet, UDS.
Mandatory Skills:-
C Programming and data structures.
Linux Internals ( System calls, IPC, Network Programming, POSIX Multi-thread programming)
Desirable Skills :-
C++ and OOPs knowledge
Linux system start-up sysvinit, systemd,
Bootloaders : uBoot
Message bus protocols like dbus
Basic Linux Device driver knowledge
Linux Build framework – Yocto-Bitbake, Makefiles
Python scripting
Debug using tools such as GDB
Version control - GIT and SVN
C, C++ , Linux , Device Driver , Linux Internals ,
Processor knowledge like Arm , Intel , Protocol SPI , I2C . Networking experience,
L2 protocols knowledge, knowledge on Python/Perl ,
Broadcom DNX/XGS device experience is desirable,
Interested to learn New things,
C,C++, LINUX INTERNAL OR IPC, LINUX OS CONCEPTS, DEVICE DRIVERS,
PROCESSOR KNOWLEDGE
SCRIPTING KNOWLEDGE EIHER PYTHON OR PERL
You 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)
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








