Fullstack Developer
- Posted 7 days ago
- Over 50 applicants have applied
Job Description
We are looking for a Full Stack Developer with a strong foundation in UI/UX design and a keen interest in real-time streaming data, including live video and telemetry. You will design intuitive, user-centred interfaces and build the front-end and back-end components that ingest, process, and display live data streams with low latency.
Key Responsibilities
- UI/UX design: Conduct user research and translate requirements into user flows, wireframes, and high-fidelity prototypes (e.g., in Figma) for data-rich, realtime web applications.
- Design system: Establish and maintain a consistent design system and component library, applying principles of information hierarchy, alert prioritisation, and reduced cognitive load for users monitoring live information.
- Front-end development: Translate designs into responsive, accessible, and high-performance user interfaces using modern frameworks such as React, Angular, or Vue.js.
- Real-time video streaming: Integrate and display live video feeds (e.g., RTSP, WebRTC, HLS) in web applications, with a focus on low latency and stable playback across multiple concurrent streams.
- Real-time telemetry: Build pipelines and interfaces that ingest, process, and visualise live device and sensor telemetry (e.g., positions, status, and events) using WebSockets, MQTT, or message brokers such as Kafka or RabbitMQ.
- Map and data visualisation: Develop map-based views and live dashboards that display geospatial data, real-time status, and analytics outputs.
- Back-end development: Design and implement RESTful and/or GraphQL APIs and services using Node.js, Python, Java, or .NET to support front-end applications and real-time data services.
- Database design: Model, optimise, and maintain relational, time-series, and NoSQL databases (e.g., PostgreSQL/PostGIS, TimescaleDB, Redis).
- DevOps and deployment: Containerise and deploy applications using Docker and Kubernetes on private or on-premises infrastructure, and maintain CI/CD pipelines (e.g., GitLab CI/CD).
- Quality and testing: Write clean, maintainable, and well-documented code, with unit, integration, and end-to-end tests, and run usability testing with end users to validate designs.
- Collaboration: Work closely with product owners, system architects, and fellow engineers, and participate in Agile ceremonies, code reviews, and design reviews.
- Documentation: Prepare technical and design documentation, including UI specifications, API specifications, and deployment guides.
Requirements
- Degree in Computer Science, Computer Engineering, Information Technology, Artificial Intelligence, or a related field.
- Formal training in UI/UX design (e.g., coursework, a specialisation, or a recognised UI/UX programme), with a portfolio showing user research, wireframes, prototypes, or shipped interfaces.
- Proficiency in a UI/UX design tool such as Figma, and an understanding of usability principles, visual hierarchy, and accessibility.
- Hands-on full stack web development experience through internships, final-year or school projects, hackathons, or personal projects.
- Proficiency in JavaScript/TypeScript, HTML5, and CSS3, with experience in at least one modern front-end framework (React, Angular, or Vue.js).
- Working knowledge of at least one back-end language and framework (e.g., Node.js/Express, Python/FastAPI or Django, Java/Spring Boot, or C#/.NET).
- Understanding of real-time streaming data, through projects or coursework involving video streaming (e.g., WebRTC, RTSP, HLS) or telemetry data (e.g., WebSockets, MQTT, Kafka, RabbitMQ).
- Basic understanding of relational and NoSQL databases and data modelling.
- Experience designing and consuming RESTful APIs.
- Exposure to map-centric or geospatial applications using tools such as Leaflet, OpenLayers, Mapbox, CesiumJS, or PostGIS.
- Strong problem-solving skills, attention to detail, and the ability to work independently and in a team.
- Good communication skills, with the ability to explain technical and design
- decisions to non-technical stakeholders


