Full Stack Software Engineer (Edge / IoT)
Summary
Build and optimize full-stack software for edge/IoT systems, integrating devices, cloud, and user interfaces to process real-time telemetry securely.
Overview
As a Full Stack Software Engineer (Edge-leaning), you will design, develop, and optimize software solutions across the stack, with a strong emphasis on edge and IoT systems. You will build and deploy high-performance, secure applications for distributed devices, while also contributing to cloud integration, frontend user interfaces, and data pipelines. A key part of the role is ensuring that edge devices reliably capture, process, and transmit data, enabling secure, real-time interaction between devices, users, and cloud services. This role involves collaborating with hardware and product teams, and ensuring edge solutions are scalable, reliable, and seamlessly integrated into the full software stack.
Responsibilities
- Participation in the design, development, and deployment of software for edge devices, ensuring performance, security, and scalability.
- Contribution to frontend and backend development for a complete end-to-end solution.
- Developing and maintaining real-time data pipelines at the edge, including telemetry ingestion, preprocessing, and secure data transfer to the cloud.
- Implementing lightweight data storage and caching mechanisms on devices to ensure resilience and availability in constrained or offline environments.
- Collaborating with hardware engineers, UX designers, and product teams to define requirements and deliver user-focused solutions.
- Building secure and efficient cloud-edge integration pipelines, optimized for reliability and latency.
- Troubleshooting and resolving high-level production issues, collaborating with DevOps and platform internal teams.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or related field.
- 2+ years of software development experience in edge computing, IoT, or distributed systems.
Advantageous Skills
- Proficiency in at least one statically typed language (e.g., C++/C#, Java, or Go).
- Strong knowledge of real-time data processing, telemetry ingestion, and device-to-cloud communication protocols (MQTT, gRPC, etc.).
- Hands‑on experience with IoT solutions, device communication protocols, and real‑time data systems.
- Familiarity with cloud‑native platforms and frontend frameworks, with strong focus on edge‑cloud integration.
- Experience with cybersecurity practices tailored to IoT and distributed devices.
- Familiarity with frontend technologies (React, Angular, or Vue) and backend services.
- Understanding of microservices, containerization, and orchestration (Docker, Kubernetes) is a plus.
- Competency with Python, SQL, or similar tools for data processing at the edge.
- Experience in Linux system‑level development (Yocto, Ubuntu), including device drivers, kernel configuration, and performance tuning.
- Familiarity with RTOS and embedded software development, with skills in low‑level debugging, resource‑constrained coding, and hardware‑software integration.
- Familiarity with tools such as GDB, Valgrind, perf, or similar for profiling and debugging embedded systems.
Personal Attributes
- Skilled at prioritizing and managing multiple tasks to meet tight deadlines.
- Strong attention to detail, quality, and a commitment to excellence.
- Able to quickly learn and adapt to new technologies and complex technical environments.
- Able to work in a global, high‑stakes environment with remote collaboration and effective communication.