
About us
ob Description
We are seeking candidates who can have a great conversation with Window/*nix kernel in C/C++ or Rust. The candidate will work with eBPF and Windows/Linux Kernel. The candidate will work closely with the Computation Engineer to port the ML layer into the kernel module.
Requirements
- C/C++ is a must. Rust knowledge is a huge plus.
- Good exposure to debugging (more than just `!analyze -v`). We suck at debugging here, so can use your help!
- Great version control (Git) hygiene and familiarity with CI/CD. Test- and issue-driven development (that's our new term).
- Candidate should prioritize documentation to meeting (can't emphasize enough). Who has time to talk and listen (and forget) when one can write and read? During the interview, we may ask you how to organize your notes, references, and knowledge.
- Familiarity with scripting languages such as Python/Powershell/bash is appreciated. Python is used a scripting language everywhere in our stack.
- If you don't know Java, that's +1 ;-p (just kidding).
Regards
Team Merito

Similar jobs
Senior Robotics Engineer (ROS 2 Migration & Systems) - WorkFlow
Department: R&D Engineering
Location: Octobotics HQ (Noida/On-Site)
The Mission
To successfully migrate our legacy ROS 1 architecture to a high-performance ROS 2 Native ecosystem, architecting a navigation stack that survives the "unheard-of" edge cases of the real world.
1. The Context: The Great Migration
Octobotics is at a pivot point. Our legacy stack was built on ROS 1 (Noetic). It got us to MVP.
But to scale, we are tearing it down and rebuilding in ROS 2 (Humble/Iron).
We are not looking for someone to maintain old code. We are looking for an Architect to lead this migration. You will deal with the pain of bridging ros1_bridge, porting custom messages, and rewriting node lifecycles from scratch.
If you are afraid of breaking changes and complex dependency hell, stop reading now.
2. The "Scorecard" (Outcomes)
- The Migration: Port our core navigation and control logic from ROS 1 to ROS 2. This involves rewriting nodes to utilize Lifecycle Management and Node Composition for zero-copy transfer.
- Nav2 Architecture: We don't just "install" Nav2. You will write custom Behavior Tree plugins and Costmap layers to handle dynamic obstacles in unstructured environments.
- Middleware Optimization: You will own the DDS layer (FastDDS/CycloneDDS). You must tune QoS profiles for lossy WiFi environments and debug discovery traffic issues that traditional network engineers don't understand.
- Sensor Fusion & State Estimation: Implement and tune EKF/UKF pipelines (robot_localization) to fuse IMU, Wheel Odometry, and LiDAR. You must understand Covariance Matrices—if your covariance grows unbounded, you have failed.
- Serialization Strategy: Implement Protocol Buffers (Protobuf) for high-efficiency, non-ROS internal data logging and inter-process communication where overhead must be zero.
3. Technical Requirements (The Hard Skills)
The Stack (ROS 1 & ROS 2):
- Deep ROS 2 Mastery: You know the difference between spin(), spin_some(), and Multi-Threaded Executors. You understand why we are moving to ROS 2 (Real-time constraints, DDS security, QoS).
- Navigation Stack: In-depth knowledge of Nav2 (Planners, Controllers, Recoveries). You understand Global vs. Local planners (A*, DWB, TEB).
- SLAM & Localization: Experience with Graph-based SLAM (Cartographer, SLAM Toolbox). You know how to close loops and optimize pose graphs.
The Math (The "Weeder"):
- Linear Algebra & Geometry: Rigid body transformations are your second language. You understand Quaternions, homogeneous transformation matrices ($T \in SE(3)$), and how to avoid Gimbal Lock.
- Kinematics: You can derive Forward and Inverse Kinematics for Differential Drive and Ackermann steering chassis.
- Probabilistic Robotics: Understanding of Bayesian estimation. You know that sensors are noisy and that "Ground Truth" is a myth.
The Code:
- C++ (14/17): Real-time safe coding standards. RAII, Smart Pointers, and template metaprogramming.
- Python: For prototyping and complex orchestration.
4. The "Topgrading" Filter (Do NOT apply if...)
- You think roslaunch is the same as ros2 launch.
- You have never defined a custom .msg or .srv file.
- You struggle to visualize a TF tree in your head (map -> odom -> base_link).
- You think latency "doesn't matter" in a control loop.
5. The Challenge: Surfing the Tsunami
Let’s be honest: AMR (Autonomous Mobile Robots) is hard.
We are solving problems that are unheard of in the standard "warehouse" world. We deal with dynamic crowds, changing lighting, and network black holes.
There will be days when the Sensor Fusion drifts for no reason. There will be days when the DDS discovery fails because of a multicast storm. There will be architectural "Tsunamis" that threaten to wipe out our sprint.
We are looking for the engineer who doesn't run for higher ground, but grabs a board and says, "I’m ready to surf."
Requirements:
- 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.
At BrainAlive, we develop next-generation BCI technologies that transform how humans use biosignals. We build devices and systems that allow you to develop a crisp, conscious understanding of your physiology, especially relating to your cognitive and emotional abilities. With a mission is to become the innovation leader in the area of Brain-Computer Interface (BCI), we are building our reputation as the industrial powerhouse in BCI applications in the education and healthcare space.
Role - Embedded Firmware Engineer – II (Brain-Computer Interface)
As an Embedded Firmware Engineer at BrainAlive, you will have the opportunity to pioneer, develop and build out our footprint in consumer hardware. You will build and launch smart BCI wearables and other related products in line with BrainAlive's ambitious and visionary objectives. Your primary focus will be to enhance the efficiency, stability and scalability of hardware system resources. We need you to be versatile, display leadership qualities and be enthusiastic to take on new problems as we continue to push technology forward.
- Develop codes for utilising various hardware and capabilities built into a microcontroller, such as ADCs, timers, RTCs, power-saving and sleep modes, etc
- Perform debugging and provide technical support to the service team
- Participate in requirements analysis and collaborate with internal teams to produce firmware design and architecture
- Revise, update, refactor and debug code
- Drive peer reviews and peer testing across different modules developed
- Develop documentation throughout the product development life cycle
- Serve as an expert on applications and provide technical support
Required Qualification
- Bachelor Degree in Electronics / Electrical Engineering or Computer Science or related field
- 3+ years of experience in Microcontroller programming
- Experience in developing codes for the effective functioning of communication protocols such as UART, SPI, I2C, etc.
- Experience with hardware debugging tools and interface like JTAG, SWD
- Experience with BLE and USB protocols
- Highly experienced in developing and debugging in embedded C/C++, RTOS
- Product development experience with 32-Bit STM ARM Microcontroller Architectures
- Familiarity with source control management software (SVN, Git)
Preferred Qualification
- Experience at handling huge codebases and designing of multi-layered architectures
- Experience in optimisation of Microcontroller codes for specific goals like power efficiency, very low response times, memory space optimisations.
- Deep understanding of microcontroller's architecture and its working
- Experience in prototype bring-up and debugging, functional verification and manufacturing support
- Prior Brain-Computer Interface Device development experience
- Excellent troubleshooting and communication skills
Bachelors/Masters Degree in Engineering
Position : BSP Engineer
Total experience : 4+ yrs to 10 yrs
Desired Skills And Experience
4+ years of experience in application development, drivers development.
At least 4 years of working experience in the design and development of u-boot and Linux kernel subsystems and drivers.
Excellent programming skills in C/C++ and Hands-on experience in ARM-based SoC.
Experience in BSP and Boot loaders
Linux Device drivers Development and knowledge of RTOS.
Device drivers experience preferably for following devices: UART, I2C, I2S, SPI, GPIO, PCIe, MMC, USB etc.,
Hands-on experience on WIFI and SDIO has added advantage.
Strong debugging skills.

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
· 150+ Engineers, Projected to 300+ engineers in FY22-23.
· 10+ Key Global Clients/Customer
· 50+ Global Project Successful deliveries.
· Key organization having EMBEDDED & DATA SCIENCE/ AI in one shop.
· ISO9001:2015 Certified & Established QMS Policies.
Key responsibilities :
Embedded Software application development using Programming language C / C++
Infotainment ECU software development on Linux IVI systems
Bluetooth/Wi-Fi/Tuner/Android AUTO/ Car play to work
AUTOSAR Module Configuration using vector tools for BSW Modules such as
Integrate MATLAB Models in to AUTOSAR Framework using MATLAB and Vector Tools
QUALIFICATIONS: B.E./ B.Tech. (Electronics/ Electrical/ Mechatronics/ Mechanical)
EMPLOYMENT: Permanent / Full Time
LOCATION: Ahmedabad
EXPERIENCE: 1 to 3 years within automotive industry / software development.
ROLES AND RESPONSIBILITIES
- Develop, Debug simulink/stateflow models according to functional, technical requirements, MAAB guidelines.
- Derive software requirements from system level requirements and establish bi-directional traceability within the models and generated code.
- Generate Code from developed models, generate test vectors, automate tests and document code reviews, test results.
- Automate the data exchange flow between MATLAB models, excel sheets, code testing using m-scripts.
SKILLS AND EXPERIENCE
- Experience in model based development and testing using Mathwork Tools such as MATLAB/Simulink, Stateflow, autocode generation tools Embedded coder or TargetLink.
- Good understanding of the Automotive software development cycle and tool chains
- Should possess a good understanding of C coding, m-scripting, with good debugging and software testing skills.
- Experience in developing MATLAB/ Simulink models from scratch for automotive applications.
- Should have experience in requirements management, and be able to write test cases from them.
- Experience in MBD testing such as MIL/ SIL/PIL.
- Good communication skills in English and Hindi Language.
- Experience in MATLAB verification and validation toolbox like Simulink Design Verifier, Simulink Test, Simulink Coverage is advantageous.
- Basic understanding of Control System Design and Electric Vehicles is a plus.
- Programming experience in embedded C and python
- Experience in embedded systems development and troubleshooting and with real-time operating systems.
- Experience with embedded C programming for microcontrollers like PIC, Microchip in MPLAB
- Basic execution of process commands in Linux
- Experience in handling the raspberry pi







