Job Description:
Optilink Networks Pvt Ltd is seeking a Full Stack Developer with strong knowledge Build browser-based management UIs for our networking devices (accessed by default IP), integrate them with embedded Linux services exposed by the device, implement secure firmware upgrade flows, and work closely with embedded, backend and UI teams to deliver a seamless device management experience.
Key Responsibilities:
- Design and implement web UIs served from the device for configuration, monitoring and firmware upgrades.
- Define and implement the device ↔ UI API contract (REST/JSON, WebSocket, gRPC-Web, or similar).
- Build the UI that queries the API (polling or websocket) and renders live values (tx/rx packets, errors, throughput). SNMP or netlink can also be used depending on product needs which embedded kernel exposes network counters.
- Consume kernel and user-space data sources (netstats, system health, logs) and present them in the UI (live counters, charts, alerts).
- Implement secure firmware upload and upgrade flows (file upload on UI → transfer to device daemon → validation → flash/activate → rollback).
- Work with embedded engineers to expose required telemetry via stable and efficient interfaces (HTTP APIs, ubus/dbus, netlink, SNMP, /proc, sysfs).
- Integrate authentication, HTTPS/TLS, session handling, CSRF/XSS protections and RBAC for device UI.
- Build CI pipeline to package UI assets into the rootfs (Yocto/Buildroot/OpenWrt), perform cross-builds and deploy test images.
- Test and debug network interaction using browser devtools, curl/Postman, tcpdump/wireshark and device logs.
- Write documentation for the API contract and UI integration points; mentor UI/backend teams on consuming device data.
- Collaborate with full-stack/backend teams for any cloud/portal integration (if device syncs to cloud).
Requirements:
- Strong front-end web development: HTML5, CSS3, JavaScript and at least one modern framework (React, Vue, or Svelte) and state management (Redux/Vuex/Pinia).
- Experience building SPAs that run well in embedded web servers and with limited resources.
- Experience implementing file upload flows (multipart/form-data), progress reporting, chunked uploads and retry logic.
- Solid knowledge of REST APIs, WebSockets, JSON, and CORS/security implications.
- Deep understanding of Embedded Linux basics — how userspace and kernel expose metrics: /proc, sysfs, netlink/rtnetlink, ethtool, and how to call them from user-space.
- Hands-on experinence of using Linux systems/desktop os (Debian is preferred), should be able to do administrative tasks.
- Ability to read and interpret SoC/chip datasheets and hardware reference manuals to understand which counters and interfaces are available.
- Experience with Yocto, Buildroot or OpenWrt to package UI assets into the root filesystem.
- Familiarity with common embedded web servers (uHTTPd, lighttpd, nginx) and lightweight server stacks (Lua, C, Python, Go) on devices.
- Strong debugging and network tools: browser devtools, curl, Postman, tcpdump, wireshark, strace.
- Knowledge of secure firmware update mechanisms, signature verification, atomic upgrades and rollback strategies.
- Practical experience with Git and modern front-end build tools (webpack, Vite, npm/yarn).
- Good communication skills to work with embedded engineers, full-stack/backend and QA.
- Highly desirable / nice-to-have
- Experience with SNMP, TR-069, NETCONF/YANG, or gRPC for device management.
- Knowledge of backend/cloud integration for device telemetry or fleet management.
Preferred Qualifications:
- Programming languages & tools checklist (explicit)
- Front-end: JavaScript, TypeScript (preferred), HTML, CSS
- Frameworks/libraries: React or Vue (or Svelte) + charting libs (Chart.js, D3 or equivalent)
- Backend / embedded service languages: C, C++, Python, Go, Lua (any one or two is fine)
- Dev tools: git, curl, Postman, tcpdump, wireshark, strace, gdb (when debugging user-space)
- Web servers: uHTTPd, lighttpd, nginx (embedded builds)
- Protocols: TCP/IP, HTTP(S), WebSocket, SSH, SNMP, MQTT
- Security: TLS, certificate handling, input validation, CSRF/XSS mitigation
- Build & packaging: Yocto, Buildroot, OpenWrt, npm/yarn, webpack/Vite (any one or two is fine)
- OTA / upgrade tools: mtd-utils, fw_setenv (U-Boot env), Mender/RAUC/SWUpdate (nice to have)
Job Title: Software Engineer
Location: Mumbai India
Experience: 4-20 years
Job Type: Full-time
Salary: As per industry standards
Work Mode: on-site – Mumbai