Full Stack Software Engineer
About Us
At dot. we're developing next\-generation smart detection products that use advanced sensors, machine learning, and odour biomarkers to identify pests, pathogens, and other biological threats in real time. Our first smart product is nearing launch, with a broader platform vision across agriculture, animal health, and human diagnostics.
Every one of those devices produces a stream of data — trap activations, temperature, humidity, battery state, detection events. Our software is how that data becomes something a customer can act on. As we scale, we're looking for a hands\-on Full Stack Software Engineer to help build the web applications and APIs that turn device data into clear, reliable, useful products.
The Role
You'll help build and maintain the web applications our customers and internal teams use every day. Our stack is React on the front end and NestJS on the back, TypeScript throughout, with PostgreSQL behind it. You'll be working on front\-end interfaces, dashboards, and data\-driven features, on the TypeScript APIs and services behind them, and on the database solutions those services depend on.
You'll work closely with Software, Product, R\&D, Engineering, and Data teams to bring our IoT devices to life through responsive interfaces and live data views. The software you build is what customers see, so getting it intuitive, accessible, and fast genuinely matters.
We're a small team building a product that's about to meet real customers, so this role comes with real scope. You'll own features end to end, from a set of requirements and a design through to something running in production that you support. We're looking for someone who can take an ambiguous problem, ask the right questions to pin it down, and ship a sensible solution. You'll have senior engineers to think out loud with and a review culture that takes code seriously.
Key Responsibilities
- Build and maintain web applications with a focus on clean UX, intuitive workflows, and responsive design.
- Translate product requirements and design mockups into polished, performant UI components, using and contributing to our shared component library.
- Build dashboard and visualisation features that make time\-series sensor data readable at a glance.
- Integrate data APIs that connect device data (e.g. trap activation, temperature, humidity, battery status) into user\-facing applications.
- Own features end to end: scope them with Product, build the front end and the API behind it, test it, ship it, and support it once it's live.
- Design and maintain database solutions, schemas, queries, and migrations that keep device and application data query\-able and performant as it grows.
- Write and maintain tests, unit and integration for the code you write, and end\-to\-end coverage for key user journeys.
- Follow software best practices, including documentation, git commits, and code reviews. That means reviewing other people's code as well as having your own reviewed.
- Collaborate with Product Managers, Hardware Engineers, and Data Scientists to keep customer needs at the centre of what we build.
Must\-haves:
- 3–5 years' professional experience building and shipping web or full stack applications.
- Strong front\-end skills in React or a comparable framework, with an eye for UX and customer\-centric design. Experience with a modern router and data\-fetching stack (TanStack, Next.js or similar) is a plus.
- Solid back\-end development in Node.js and TypeScript, with experience building and consuming REST APIs.
- Solid understanding of relational databases and noSQL, writing and optimising queries, designing and maintaining DB schemas.
- A track record of owning features end to end, you've taken work from a rough requirement through to production and supported it afterwards.
- Confident with Git and pull request workflows, and comfortable reviewing other engineers' code.
- Comfortable working cross\-functionally with Product Managers, Engineers, and Scientists, and able to explain technical trade\-offs in plain terms.
- Pragmatic and self\-directed, with good judgement about when to seek input and when to make decisions independently.
- Experience with NestJS or another structured Node framework.
- Familiarity with cloud platforms (AWS preferred).
- Exposure to PostgreSQL, database migrations, or an ORM such as TypeORM or Prisma.
- Experience building charts or data visualisations (Recharts or similar).
- Awareness of web accessibility standards (WCAG, semantic HTML).
- Exposure to real\-time data (WebSockets, MQTT) or IoT connectivity (WiFi, LoRaWAN).
- Familiarity with agile/scrum workflows.
- Interest in sensing, biology, chemistry, or hardware\-software products.
Within your first 12 months, success in this role means:
- You've built features end to end. You've taken several features from a rough idea, often something R\&D asked for directly, through design and build to running in production. You look after them once they're live.
- R\&D and Product trust you. You understand what the science and product teams are trying to do, and you spot the real problem behind the request. When the first ask isn't the right one, you say so and suggest something better. You help decide what gets built next.
- Your work is reusable and easy to pick up. Components go into the shared library instead of being rebuilt. Working with the Lead Full Stack Engineer and the Lead Data Engineer, you've left code and notes clear enough that someone can extend your work without asking you why it's built that way.
- What you build works for more than one product. dot. plans to take the same platform into new applications. The interfaces, APIs, and data structures you build generalise, so a new service, feature, or customer doesn't mean starting again.
- It holds up in production. The features you own are reliable. Tests catch problems before release, and when something does break you find it quickly.
- Be part of a fast\-growing, mission\-driven company working at the intersection of science and technology.
- Your work will live in physical products that create measurable impact across public health, agriculture, and more.
- Play a real role in shaping the software foundation of a pioneering product portfolio, at a stage where what you build sticks.
- Genuine ownership of customer\-facing surfaces, in a team small enough that your decisions carry, with a review and pairing culture that keeps the bar high.
- Collaborate with a multidisciplinary team of scientists, engineers, and domain experts.
Applicants must have a pre\-existing right to work in the UK without time limitation. Visa sponsorship is not available for this role.
Pay: £45,000\.00\-£50,000\.00 per year
Ability to commute/relocate:
- Edinburgh, City of Edinburgh: reliably commute or plan to relocate before starting work (required)
- Have you built or worked hands\-on with production back\-end APIs using Node.js?
- What is your current notice period, in weeks?
- Have you independently built and shipped production user interfaces using React?
- Have you written TypeScript in a professional setting?
- Briefly describe a feature you owned end to end, from requirement through to production. What was your contribution, and what would you do differently?
- Full Stack Engineering : 3 years (required)
- United Kingdom (required)
This listing is from Indeed. View original listing ↗