Top view mechanical tools arrangement

The Future of Construction Technology

It’s great, because you can use the same language on the frontend and on the backend!

I don’t think its great, actually.

This is a pretty common assumption in the javascript world.
You gain productivity, because you use the same language on the frontend and the backend.
But why exactly? How do you gain productivity? And how much?

Some common arguments and baked in assumptions are

  • You only have to learn a single language
  • You can share code between frontend and backend
  • You get type safety between backend and frontend
  • Easier deployment

It’s hard to disagree with any of these in theory.
All else being equal, everyone should choose to write the frontend and the backend in the same language.

But all else is not equal…

The Arguments

You only have to learn a single language

In any real project, you already use so many languages and tool.

  • Html
  • Css
  • Javascript
  • Typescript
  • Tailwind
  • SQL
  • Prisma
  • Vite
  • Yaml
  • Docker
  • Vercel
  • Serverless vs Server
  • 8 .config.js files

You switch between so many languages, tools and systems constantly. One more is not gonna kill your productivity.

Knowing “frontend” javascript gives you almost no advantage once want to create a server that takes in requests and responds back with json.

If you want to learn that you have to learn

  • SQL
  • How to model your tables / entities
  • Prisma (ORM)
  • How to authenticate on the server
  • How to run long running, expensive stuff in the background
  • How do you even route incoming requests?
  • How do you respond back with json?
  • How do you respond with a 404? When do you respond with a 404?
  • How do you do middleware?
  • How do you accept a file upload and store it somewhere?
  • How do you generate an openAPI definition? What even is that?
  • Wtf is this cors thing?
  • Where do you host it?
  • How do you set up your pipelines to deploy automatically?

Imagine having to figure all these out for the first time in a node app vs a c# app.

No matter how experienced you are in frontend javascript, you gain basically nothing by choosing node over c# over go over django.

Knowing react does not significantly improve your speed in learning or implementing any of these.


You can share code between frontend and backend