Lead Software Engineer - Linux
Origin · Bengaluru, Karnataka, India · On-site
Posted Aug 5, 2026
Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.
About Origin
Origin is building general-purpose autonomous robots for US construction to tackle rising costs, safety risks, and labour shortages. Our modular, multi-trade platform combines purpose-built hardware with real-time site intelligence to navigate complex environments and execute tasks with precision. Trained in high-fidelity simulation and already deployed on live sites, our robots deliver 5x faster execution, 250%+ margin expansion, and significant cost savings. Join India’s most talent-dense robotics team consisting of individuals from IITs, Stanford, UCLA, and more.
About the Role
Origin Autonomy is looking for a versatile, hands-on software engineer to join our growing team. You will work across embedded Linux systems, networking stacks, robotic middleware, and cloud-connected services. This role demands strong fundamentals, intellectual curiosity, and the ability to learn quickly — not just familiarity with buzzwords.
Responsibilities
Design and implement robot boot-up sequences and service orchestration to ensure reliable, deterministic system bring-up.
Configure and manage Linux networking — TCP/IP stack, HTTP, iptables, ARP, DHCP, DNS —for robot-to-cloud and inter-robot communication.
Manage Docker-based deployment and runtime environments on robot and cloud infrastructure.
Write and maintain system administration tooling and bash scripts for fleet management and diagnostics.
Collaborate closely with robotics, perception, and application teams to integrate platform capabilities.
Establish and enforce best practices around Git workflows, branching strategies, and code review.
Lead and mentor a small platform engineering team — set technical direction, conduct code reviews, and drive execution.
Requirements
All candidates must demonstrate solid, hands-on competency in every item listed below.
Linux systems programming in C
File I/O — read, write, seek, memory-mapped files
Multi-threading — pthreads, mutexes, condition variables, thread safety
Socket communication — TCP/UDP sockets, select/poll/epoll
Basic data structures & algorithms — stack, heap, queue, linked list
General comprehension ability — reading technical manuals, datasheets, and RFCs; searching documentation independently
Python scripting
Bash scripting
Git — CLI usage, branching, merging, rebasing, conflict resolution
Strong Advantage
Candidates with hands-on experience in the majority of the following areas will be strongly preferred.
C++ programming — C++17, OOP, templates, STL
Common network protocols — DHCP, ARP, TCP, UDP, DNS
Network configuration — routers, switches, VLANs, subnetting
Server–client application architecture — roles of back-end and front-end
P2P vs. centralised communication — DDS vs. MQTT, trade-offs and use cases
Database management — relational (SQL) vs. NoSQL, schema design, basic queries
Network security — checksums (CRC, MD5, SHA), public-key encryption, digital signatures
ROS2 framework —…