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
-
Implement and improve robot boot-up sequences and service orchestration to ensure reliable system bring-up.
-
Configure and debug Linux networking — TCP/IP stack, HTTP, iptables, ARP, DHCP, DNS — for robot-to-cloud and inter-robot communication.
-
Help build and maintain CI/CD pipelines using ArgoCD, GitHub Actions, and containerized workflows to ship software to robots.
-
Work with Docker-based deployment and runtime environments on robot and cloud infrastructure.
-
Write and maintain bash scripts and tooling for fleet management and diagnostics.
-
Collaborate closely with robotics, perception, and application teams to integrate platform capabilities.
-
Follow and help improve best practices around Git workflows, branching strategies, and code review.
-
Take ownership of well-scoped components — debug issues end-to-end, ship fixes, and iterate quickly.
Requirements
Must haves-
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
-
SOLID principles
-
Python scripting
-
Classes — definition, instantiation, inheritance
-
Dunder methods — understanding and implementing double-underscore methods
-
Functions — positional and keyword arguments, *args/**kwargs, return values
-
Global Interpreter Lock (GIL) — implications for threading vs. multiprocessing
-
File I/O — open/read/write/close, context managers (with), text vs. binary modes
-
Bash scripting
-
Usage of shebang
-
if / elif / else — test expressions, comparison operators, combining with && and ||
-
case / esac — pattern-matching switch construct
-
File testing — [ -f ], [ -d ], [ -e ], [ -r/-w/-x ] and practical use in scripts
-
Function definition and call — function foo() {}, local variables, return codes
-
Git — CLI usage, branching, merging, rebasing, conflict resolution
-
Standard UML diagrams — flowchart, sequence diagram, deployment diagram
-
Windowless text editor — basic usability in at least one of: vim, nano, or equivalent (full proficiency not required)
Nice to Have (7/10 or better)
-
C++ programming — C++17, OOP, templates, STL, RAII
-
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 — pub/sub, services, actions, lifecycle nodes, DDS transport
-
CMake build system — targets, find_package, CTest integration
-
Docker — writing Dockerfiles, docker-compose, remote image registry management
Interview Specifications
AI & Search Policy Origin Autonomy encourages supervised use of LLM-based AI agents (such as Claude) in day-to-day work. However, any use of AI tools or internet searches during the interview process is strictly forbidden. You must be able to demonstrate command over all claimed skills without external assistance.
Webcam & Screen-Share Requirements A webcam is mandatory for all interview stages. Certain stages will also require screen sharing. Please attend using a laptop or desktop computer with a single screen connected. Attending via a mobile phone is not allowed. Failure to comply can result in immediate termination of the interview process and disqualification of the candidate.
Benefits
-
Gain experience in a dynamic startup environment at the forefront of robotics and AI innovation.
-
Contribute to the development of technology that will revolutionize the construction industry.
-
Work alongside a talented and passionate team committed to making a real-world impact.
-
Learn from experienced professionals and accelerate your growth in robotics and platform engineering.
-
Gain practical experience in a real-world engineering environment.
-
Contribute to a project with the potential to make a significant impact on the construction industry.