One man NodeJs team

Rewq.co is built on top of NodeJs.

I am speaking from my experiences.

NodeJs is the only server side programming language I know. I picked it up, because I first learnt Javascript on the frontend and wanted to get into server programming with least effort.

The Winning arguments

Easy context switching between frontend and backend — NodeJS saves me the mental effort.

NodeJS is a great language for small teams. I have to context switch a lot between frontend and backend.

JSONs everywhere reduces the number of data conversions we have to make.

Atleast your MVP can be faster and more robust.

It will scale well — both in terms of size of code and execution performance. Here are two architectures I use to manage the project complexity.

  • Plugins based architecture — less common, more useful for microservices, socket.io driven code, etc
  • MVC based architecture — more useful for usual http applications.

Things that bother me

  • You need to be careful to not make typo mistakes.

You will not know of a typo mistake until you hit them at runtime. So,

It helps to use Grunt . Grunt has JSHint inside . Add the JSHint clause ‘use strict’ on top of your js files.

Focus while you code.

Have a strong review process.

Things that don’t bother me

  • Objects are not the prettiest. But you can get used to them.
  • You cannot think object oriented.

If you really have to write some complex object oriented code, you can probably do that part in a separate micro-service (use pub-sub) and in a different language. You anyway might need a specialist to maintain that piece of code later — example video processing, image recognition, etc.

Note: In NodeJs world, when I need to know if the object is of a type of person, a manager and a woman; I create an array of tags or just use booleans. One can also explore using use a specialized database — such as a graph database.

  • Asynchronous programming — actually I feel relieved that my code is not suboptimal.

Overall, NodeJS works quite well for me and for rewq.co .

Have a freelance gig ? Reach me at flipflopapps@gmail.com . I be happy to help :-)

--

--

Naval Saini
Naval’s Products, Engineering and Startups Blog

Hacker and into fitness and adventure. Leads a simple life and does not try to fit in too much. :-)