Senior/Lead Robotics Software Engineer - Linux/Kernel Development
at SigTuple

About SigTuple
About
Company video


Connect with the team
Similar jobs
Senior BLE Firmware Software Engineer
About Company
https://espressif.com/">Espressif Systems (688018) is a public multinational, fabless semiconductor company established in 2008, with headquarters in Shanghai and offices in Greater China, India and Europe. We have a passionate team of engineers and scientists from all over the world, focused on developing cutting-edge WiFi-and-Bluetooth, low-power IoT solutions. We have created the popular ESP8266 and ESP32 series of chips, modules and development boards. By leveraging wireless computing, we provide green, versatile and cost-effective chipsets. We have always been committed to offering IoT solutions that are secure, robust and power-efficient. By open-sourcing our technology, we aim to enable developers to use Espressif’s technology globally and build smart connected devices. In July 2019, Espressif made its Initial Public Offering on the Sci-Tech Innovation Board (STAR) of the Shanghai Stock Exchange (SSE).
Espressif has opened a Technology Center in Pune (Baner), India, which will focus on embedded software engineering and IoT solutions development for our growing customers.
About the Role
Espressif is looking for Embedded Software Engineers to join the software department located in India. You will work in a diverse team where your colleagues are from Czech, Russia, India, Australia and so forth. Here, you get a chance to be a member of the core team in Espressif and work with talented engineers from all over the world.
The BLE Firmware Development Team is now focused on the development of the Bluetooth 5.x standard and BLE Mesh standard.
BLE FW Team is looking for a self-starting, high-technical, energetic individual with keen attention to details. The Candidate will be actively involved in:
- Development of Bluetooth Low Energy (BLE) Firmware for Espressif Bluetooth chips.
- Development of new firmware for BLE latest specification (BLE 5.x, BLE Mesh, etc).
- Development of BLE chip validation and Bluetooth Qualification.
- Research of cutting-edge and challenging Bluetooth technologies (BLE Audio, BLE Direction Finding, Next-Generation BLE Chip, etc).
- Supporting the existing firmware through feature additions, enhancements and maintenance.
- Working with systems team and cross-functional teams to deliver quality software following well-established software development processes.
- Resolving issues as reported by internal test teams as well as customers.
Requirements
Required skills
- Bachlor's degree or above in Electronic Engineering, Communications Engineering, Automation or other related majors
- Familiarity with Bluetooth Low Energy (BLE) protocol or BLE Mesh protocol
- Proven experience in developing BLE stack / firmware (2+ years, both BLE host and controller) or BLE Mesh stack (2+ years)
- Experience with software engineering processes and the full software development lifecycle including requirements, design, implementation, testing, and documenting in Continuous Integration environment
- Strong experience and proficiency in C programming (3+ years) for embedded platforms required
- Excellent problem solving and debugging skills
Bonus point
- Experience in developing BLE profiles and BLE applications (e.g. HID, ANCS, Homekit, etc)
- Good understanding of other networking protocol stacks is highly desired (e.g. Zigbee, IEEE 802.11, UWB, Lora, NB-IoT, etc)
- Strong Real-time systems and software engineering skills required (e.g. FreeRTOS, etc)
- One or more scripting languages (e.g. Python, etc)
- Experience with variety of software productivity tools (e.g. Git, Jira, etc)
What to expect from our interview process
- The first step is to email your resume or apply to the relevant open position, along with a sample of something you have worked on such as a public GitHub repo or side project etc.
- Next, post shortlisting your profile recruiter will get in touch with you via a mechanism that works for you e.g. via email, phone. This will be a short chat to learn more about your background and interests, to share more about the job and Espressif, and to answer any initial questions you have.
- Successful candidates will then be invited for 2 to 3 rounds of technical interview as per previous round feedback.
- Finally, Successful candidates will have interview with HR.
What you offer us
- Ability to provide technical solutions, support that fosters collaboration and innovation.
- Ability to balance a variety of technical needs and priorities according to Espressif’s growing needs.
What we offer
- An open minded, collaboration culture of enthusiastic technologist.
- Competitive salary
- 100% company paid medical/dental/vision/life coverage
- Frequent trainings by experienced colleagues and chances to take international trips, attend exhibitions, technical meetups and seminars.
Please go through with the below mentioned job description
Position title: Firmware Engineer
Experience: 6-12 years
Notice Period: 0-30 days
Location: Bangalore(Sarjapur)
Role type: Permanent
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
Design, code and integrate software for an embedded Linux/RTOS targeted application(applications, drivers, framework)
Customization, deployment and maintenance of Linux distribution
Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
Perform unit test, Integration test, verification and validation of the product developed.
Assist with the hardware design surrounding the processor
Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Specific skills:
Expert in C programming with RTOS.
Hands-On experience with Protocol development.
Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
System level design and understanding of overall system
Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
Hand-on experience on Linux kernel and device-driver development and debugging.
Knowledge/Experience of TCP/IP, Network programming.
Ability to write effective and reusable code according to best practices.
Must be a dynamic, autonomous, and team-oriented individual.
Knowledge of hardware and low-level development is an asset
Please provide below mention details:
No. of years of working experience in Embedded Linux -
Protocol stack development Exp, any specific protocol worked on -
Relevant Experience:
Official Notice Period 30/60/90 Days:
Date of Resignation:
Serving Notice Period and Last Working Day:
Current Company:
Current Location:
Work Location:
Current CTC(fixed,variable):
Expected CTC(fixed,variable):
Interview Availability:
Any Offer:
Relocate to Bangalore(Sarjapur):
company name
company location
date of joining
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 Title: C++ Buffer Developer
Location: Pune, India
Experience: 2-3 years
Salary: 8 LPA
Notice Period: 0-15 days
Job Description:
We are seeking a skilled and passionate C++ Buffer Developer to join our team in Pune. As a C++ Buffer Developer, you will be responsible for designing, developing, and maintaining high-performance buffer systems for our software applications. You will collaborate with cross-functional teams to analyze requirements, implement solutions, and ensure the overall quality of the software.
Responsibilities:
- Design, develop, and maintain C++ buffer systems to meet the requirements of our software applications.
- Collaborate with cross-functional teams, including software engineers, designers, and product managers, to understand project requirements and deliver high-quality solutions.
- Write clean, efficient, and maintainable code following best practices and coding standards.
- Conduct thorough testing and debugging to ensure the stability and performance of the buffer systems.
- Optimize and enhance existing code to improve overall system efficiency and performance.
- Participate in code reviews to provide and receive constructive feedback for continuous improvement.
- Stay up-to-date with the latest industry trends and technologies related to C++ programming and buffer systems.
- Document the design, implementation, and maintenance of the buffer systems for future reference.
Requirements:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 2-3 years of hands-on experience in C++ programming, specifically in designing and developing buffer systems.
- Strong knowledge of data structures, algorithms, and object-oriented programming principles.
- Proficiency in using C++11 or higher versions.
- Experience with memory management techniques and performance optimization.
- Familiarity with Linux/Unix environments and development tools.
- Good understanding of software development lifecycle and agile methodologies.
- Excellent problem-solving and analytical skills.
- Strong communication and collaboration abilities.
- Ability to work independently and handle multiple tasks simultaneously.
- Knowledge of network protocols and socket programming is a plus.
- Experience with version control systems (e.g., Git) is preferred.
If you are a talented C++ developer with a passion for buffer systems and want to contribute to the success of our software applications, we would love to hear from you. Apply now and join our dynamic team in Pune!
Note: The salary mentioned is as per the budget and may be subject to negotiation based on the candidate's skills and experience.
- Developing HMI application in Qt or similar UI frameworks
- Develop C++ or Rust backends for the HMI
- Understand and optimize potential performance bottlenecks

Software Developer (B.Tech, Linux+CPP+ROS)
Job Description:
- Design, implement and deliver custom solutions using the current robotics framework.
- Bug fixing and improving of current application framework.
- Design and implement tools to facilitate application development and testing.
- Work with team members in deployment and field testing.
Requirements:
- Bachelor Degree / Masters in Engineering (ECE and CSE preferred)
- Work experience of 3 to 10 years in software programming.
- Full understanding of software engineering.
- Proficiency in C/C++ and Python programming for Linux based systems.
- Basic Knowledge of Robot Operating System(ROS) is mandatory.
- Good understanding of the algorithms and control loops.
- Able to use tools to manage source code, preferably Git / GitHub.
- Knowledge of video streaming from edge devices is a plus.
Perks and Benefits for the employees
- Paid Leaves (12CL+12SL+12 public holidays )
- career development
- Health insurance
- Work life balance
- Employee recognition and reward programs
- Flexible work hours
- Five working days.
- Remote job for now
Responsibilities and Duties
The team leader will be leading a team of Hardware engineers, firmware and testing engineers. Being a team leader, you will primarily be responsible for fast and accurate delivery from the team which might even include handholding of team members whenever needed. Embedded team would be responsible for the following:
Hardware Design including
- Circuit design as per design requirements
- Schematic capture in the tool
- CAD layout
- QA/QC/functional testing
- PCB assembling and rework
- Lab inventory management
- Component procurement.
Firmware Design Including
- Firmware Design and architect
- Software Development
- Firmware Testing
- Code management over svn
Other Responsibilities
- The team leader would also be responsible for architecting the system, creating detailed design documents as per requirement and maintaining quality control of all the deliverables.
- The team leader would also be required to create a detailed test plan and list of test cases to be executed and if needed, create proper environment for the same.
- Ownership of the ‘ground up’ design and architecture of embedded software for real time applications.
- Decomposition of designs in to structured modules/functions ready for implementationby yourself and the team.
- Hands on development in C of new ARM based embedded software for a range of products currently under development
- Ensure quality of software using appropriate methods(Code Review, Static Analysis, Unit Test etc.) and application of suitable Coding Standards
- Maintain, update and enhance existing embedded software written in C
- Documentation of software products, development and execution of test plans
- Work closely with other members of the engineering team to assist with the correct choice of processors and supporting hardware
Required Experience, Skills and Qualifications
- Experience of 8+ years in field of embedded systems designing and developement.
- Familiar with usage of various LAB instruments.
- Strong fundamentals of electronics (Digital and analog) are must.
- Well versed with circuit designing and HW debugging
- Analog and Digital Circuit designing: familiarity with micro-controllers, memories, communication interfaces, op-amps, comparators, relays, inductors and capacitors, Handling EMI and Noise issues associated with circuits.
- Understanding of BLE protocols will be required.
- Understanding of scientific methodologies of experimentation, data-gathering and interpretation and hypothesis.
- Understanding of basic architecture, debugging of sensors.
- Experienced in embedded-C coding, memory allocations.
- Experience with any RTOS designing preferably with FreeRTOS at least with Semaphores, SW Timers, synchronisation and event handlings, task handling and prioritization.
- Understanding of micro-controller architecture, programming and debugging methodologies, interrupt-handling.
- Experience with any of the IDEs and debuggers for ARM architecture.
- Basic understanding of assembly programing of ARM architecture
- Understanding of basic peripherals like UART, CAN, I2C, Timers, Counters, PWMs, ADCs, DAC.
- Experience/knowledge in IoT devices (sensor, gateway, cloud) handling.
- Familiarity with CAD tools for schematics and layout generation.
- Experience on MS-Office.
- Familiarity in understanding and creating various test plans and documents.
General Skills Needed/ Requirements:
- Strong knowledge of components and should be able to suggest the team with right componenet
- Candidate must have a knack to use his/her technical knowledge to give it back to society.
- Candidates passionate to bring a change in society will be preferred with no compromise on pay check.
- Candidates must be open to work with communities to get feedback on product features so that products are best fit for social upliftment.
- Candidates must be open to travel to needy communities and should not hesitate to get his/her hands dirty to bring a change to the communities.
- Candidates must find associated with the cause and mission of the company.
- Open to work in open startup culture and give his/her 100%.
- Analytical reasoning and fact-based brainstorming capabilities will be highly preferred.
- Ready to relocate to Gurugram.
- Occasional field visits.
- Extensive knowledge of linux kernel internals.
- Good knowledge of C programming language.
- Familiarity with any processor architecture, virtualization, storage and network management.
- Strong experience in debugging linux kernel mode
- Debugging experience across hardware and platform firmware.








