Senior Software Engineer - Linux
- Source: Naukri
- Origin Exterminators
- On-site
- Bengaluru
- Full-Time
- Senior
Job Description
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.
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
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
Disclaimer: This job posting has been aggregated from external source. Role details, content, and availability are subject to change. Applicants are advised to confirm the latest information directly on the company website before applying.
Skills
- argo-cd
- Github
- github-actions
- Docker
- Python
- underscore
- vim
- cplusplus
- mqtt
- NodeJS
- cmake
- docker-compose
- compose
You missed this one - but you don't have to keep missing out. Try Club members get matched with open opportunities before they're gone, so you're always first in line, never last.
