
About Niyuj Enterprise Software Solutions Pvt. Ltd.
About
Connect with the team
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."
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.
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
Skills Required:
- Good experience with programming language Python
- Strong experience in Docker.
- Good knowledge with any of the Cloud Platform like Azure.
- Must be comfortable working in a Linux environment.
- Must have exposure into IOT domain and its protocols ((Zigbee & BLE ,LoRa,Modbus)
- Must be a good team player.
- Strong Communication Skills
Must have Skilled and Should Currently have Hand-on experience:
- Programming Language: C, C++
- Operating System: Linux
- Debugging Tools: Valgrind / GDB - required
- Version Control: (Stash- nice to have) & (Git – Required)
- Build and Deployment: Bamboo – nice to have
- Operating System: Linux
- Experience: 5 to 8 years (Min. 4 years)
Email protocols: IMAP, pop, SMTP, etc
You can discuss the below job profile with the candidate before filtering them to the first round.
Role:
- Would be working on Development and Production Support of Email Mx Product which uses email protocols (POP, IMAP, and SMTP) developed on C, C++ technology on Linux Platform.
- Technologies they get to learn: C, C++, GDB, Valgrind, python (python to a certain extent).
- Protocols they get to learn: POP, IMAP, and SMTP and also any and every communication happening in Email Platform
- Source Control: Git, Stash
- Build and Deployment: Bamboo
- Operating System: Linux
- Debugging a Multicomponent – Multi-Threaded – Multi-Server Environment of a Live Product Deployed to Tier – 1 Customer.
- Opportunity for Improving CPU of exiting product.
- Opportunity for Memory optimization along with some good
Job Description:
Looking for engineers with one of the below requirements:
- 2-5 years of embedded development experience in a Linux environment with C programming
- With Option1:
- EDK2 experience
- SCT experience
- knowledge of TPMs
- With Option2:
- worked on bootloaders or uboot









