Backend Software Engineer (Node.js)
Ubiquiti
Get hot jobs first on Telegram
New positions appear faster in our channel
- Location
- Prague
- Job Type
- full-time
- Work Format
- 🏢 Hybrid
- Salary
- Competitive salary
- Posted
- July 26, 2026
Job Description
About Ubiquiti
At Ubiquiti Inc., we create technology platforms for Businesses, Smart Homes, and Internet Service Providers, driven by our goal to connect everyone, everywhere. To date, Ubiquiti has shipped over 100 million devices worldwide, from ISP networking products to next generation of IT solutions. Our growth is made possible by the dedicated team of hundreds behind the scenes. From software developers and product managers to designers and strategists, Team UI is driven to achieve our common goal: Rethinking IT. At Ubiquiti, you’ll heighten your potential and broaden your horizons - all while shaping the future of connectivity.
Join forces with us on our mission to build a better IT industry. We are currently looking for a highly skilled Backend Software Engineer (Node.js) to join our team in Prague.
Candidates should be prepared to work from our Prague office at least two times per week.
Team:
You will join the UniFi OS team, which develops and maintains the core operating system powering UniFi Cloud Gateways, NAS, and NVRs. The team provides the secure and stable platform that UniFi applications depend on across networking, camera surveillance, VoIP, and access control.
This role is well suited to an engineer who enjoys solving complex product and platform problems, improving reliability, and working across backend, embedded, cloud, and application boundaries.
Responsibilities:
- Design, build, and maintain backend services in Node.js and TypeScript.
- Develop secure, scalable, and maintainable APIs and service workflows.
- Contribute to architecture and code design decisions across the team.
- Review code and help maintain strong engineering standards, release quality, and development workflows.
- Investigate production issues, debug complex failures, and ship robust fixes.
- Work closely with embedded, web, mobile, product, and design teams to deliver platform capabilities used across the UniFi ecosystem.
- Improve the reliability, observability, and developer experience of the services you work on.
Requirements:
- 5+ years of professional experience with Node.js and TypeScript
- 3+ years of experience working with SQL databases such as PostgreSQL
- Experience building software for connected devices, infrastructure products, networking systems, or similarly complex environments
- Good understanding of web security, including OWASP, browser security fundamentals, and OAuth
- Strong debugging skills and experience with defensive programming
- Professional experience with Git, Unix/Linux, and Docker-based environments
- Ability to work independently and take ownership of technical work
- Strong written and verbal communication skills
- High proficiency in English, both written and spoken
Nice to have:
- Experience with Rust or Go
- Experience with gRPC
- Experience with WebRTC
- Experience with DevOps, CI/CD, and build pipelines
- Practical experience using AI tools and LLMs to improve engineering productivity and quality
- Czech language
Benefits:
- Competitive salary and 5 weeks of vacation per year
- Discretionary bonuses based on individual performance
- Flexible working hours, home office
- Top floor office near Andel with terrace and amazing view of Prague
- Kitchen packed with food, snacks & sodas, coffee, meal allowance
- Teambuilding activities
- A collective of developers who want to make the best product. Maximum effort to keep processes to a minimum, no complex reporting and similar habits
🎯 Who is this job for?
Senior Backend Software Engineer suitable for an independent, ownership-driven engineer with 5+ years of professional Node.js and TypeScript experience, including 3+ years with SQL databases such as PostgreSQL. The role requires skills in secure API and service development, web security, debugging, defensive programming, Git, Linux, Docker, and reliable scalable system design. The candidate should be familiar with building and maintaining backend services for connected devices or infrastructure products, investigating production issues, contributing to architecture, reviewing code, and collaborating across embedded, cloud, web, and mobile teams.
💬 Potential Interview Questions
How would you design a scalable Node.js and TypeScript backend service for UniFi OS devices?
I would separate transport, business logic, and persistence layers, define clear contracts, and use asynchronous, non-blocking operations. I would also design for limited device resources, graceful failure, observability, secure defaults, and backward-compatible API evolution.
How does Node.js handle concurrency, and what can cause performance problems in a backend service?
Node.js uses an event loop for non-blocking I/O, while some operations are delegated to the operating system or worker pool. CPU-heavy work, synchronous APIs, inefficient queries, excessive serialization, and unbounded concurrency can block the event loop and reduce throughput.
How would you structure error handling and defensive programming in a TypeScript service?
I would validate inputs at service boundaries, use typed error categories, handle expected failures explicitly, and avoid leaking internal details. Unexpected errors should be logged with context, produce safe responses, and trigger appropriate alerts or recovery mechanisms.
How would you design and optimize a PostgreSQL data model for a backend service?
I would model data around access patterns, enforce integrity with constraints and transactions, and add indexes based on measured query plans. I would use migrations, parameterized queries, connection pooling, and monitoring to detect slow queries and lock contention.
What steps would you take to secure a REST API handling device and user data?
I would apply strong authentication and authorization, validate and sanitize input, use TLS, protect secrets, implement rate limiting, and avoid exposing sensitive information in responses or logs. I would also address OWASP risks such as injection, broken access control, CSRF, and insecure configuration.
Explain how OAuth works and how you would use it in this platform.
OAuth delegates authorization through access tokens issued by an authorization server, allowing clients to access specific resources without sharing user credentials. I would validate token signatures, issuer, audience, expiration, and scopes, and use short-lived tokens with secure refresh-token handling.
How would you investigate a production issue affecting UniFi gateways or other connected devices?
I would first establish the scope and impact using metrics, logs, traces, and recent deployment information. I would reproduce the failure where possible, isolate whether it is device, service, network, or database related, mitigate customer impact, and then ship a tested fix with a follow-up root-cause analysis.
What observability practices would you implement for Node.js services?
I would use structured logs with correlation IDs, service-level metrics such as latency, error rate, throughput, and resource usage, plus distributed tracing where appropriate. Dashboards and alerts should focus on user impact and meaningful thresholds rather than excessive low-value notifications.
When would you choose gRPC instead of a REST API for internal services?
gRPC is useful for strongly typed, low-latency internal communication with efficient binary serialization and streaming support. REST may be preferable for public APIs, browser compatibility, simpler debugging, and broad client interoperability.
How would you improve the reliability of a Docker-based Node.js service and its delivery pipeline?
I would use minimal pinned base images, multi-stage builds, non-root containers, health checks, and reproducible dependency installation. CI/CD should run linting, type checking, unit and integration tests, security scans, image publishing, and controlled deployments with rollback support.
📋 Job Summary
Ubiquiti is hiring a Backend Software Engineer (Node.js) in Prague to help power the UniFi OS platform for gateways, NAS, and NVR products. You’ll design and maintain secure, scalable services and APIs using Node.js, TypeScript, PostgreSQL, Git, Linux, and Docker while solving complex reliability and production challenges. This is a hybrid role requiring at least two days per week in the Prague office, with a competitive salary, performance bonuses, five weeks of vacation, flexible hours, and home-office options. Apply to shape the future of connectivity alongside a talented engineering team with minimal bureaucracy and excellent benefits.
Required Skills
Never miss a JavaScript opportunity
Subscribe to get similar jobs and weekly insights delivered to your inbox
Hiring JavaScript developers?
Post your job to 7,300+ registered developers. Starting free.
See PricingRelated jobs
Is this your listing? Claim or request removal