How long does it take to learn Node.js?

Hi Friends,

I just read this article to get a better understanding which technology or service I should use to build a backend:

The author suggests to use a Backend as a Service provider for beginner, so I am not sure anymore if it is worth it to learn Node.js and backend development when I can use other services instead.

I need to build a basic backend where user can login and after the login the users can see specific informations on there profile page as well as sharing files with me and reciving files from me. Is this something I can build within one week or does it take longer to build a backend like that for a beginner?

Would you suggest to use an external Service for that or should I just learn everything on my own in order to controll my beackend exactly the way I need it and to learn reliable skills for web development jobs?

Thanks for answers! :slight_smile:

BaaS providers and learning Node.js are not mutually exclusive. While BaaS providers do a lot, they don’t do everything, and in some cases you might find yourself needing to supplement them with your own back-end application.

Typically these BaaS providers should be used with a front-end application that you build, to accelerate development time and spare you from having to write a lot of back-end logic. In that sense they can be extremely useful for beginners looking to get a full-stack application built quickly.

What you’re suggesting will probably take longer than a week, and honestly I can’t imagine you’d be able to quickly implement file sharing either. Depending on how new you are to web development, it could very well take you upwards of months to build a production-grade application that supports file sharing.

Building back-end applications in general (via any platform or language, not just Node.js) can be a very large and complicated task. While you can quickly learn the basics, it can easily take years to master. But don’t let that discourage you. Just be aware that learning proper practices for back-end development using Node.js will take a long time.


If you use a BaaS like Firebase, or one of its competitors, you could do this in a week. if you have experienced integrating your client-side with Firebase.

If you’ve never used Firebase before, and or don’t have your front-end setup to work with Firebase this will probably take much longer than a week.

Firebase (and its competition) can handle the auth, basic data information (like who can share to who), and file handling more or less out of the box. However interacting with Firebase has its own intricacies that will require you to work with that platform’s “rules”. Something like securing which endpoints/data each user can interact with requires you to manage Firebase’s access rules in their own file format.

If you wanted to go out and build your own version of this, this will take significantly more time even if you knew what you were doing, as not only would you need to setup all aspects of the back-end yourself, you’d also need to handle the operations, IE where you run/host this back-end yourself, along with having a front-end to interact with your custom back-end.

Depending on your goals, you’d probably want to know how to build/run/manage a back-end yourself. This would make you stand out from those that only focus on the front-end.

Obviously using a BaaS is helpful and allow you to build stuff faster, but as said above there are limitations and considerations. Something like Firebase can prevent you from doing exactly what you want as it only supports specifics. Something as simple as plain-text search requires you to pay for an external search service or create your own custom setup within their database. There’s also cost considerations and nightmare scenarios where a badly written firebase app costs developers thousands of dollars an hour.

1 Like

Thank you for your opinions!

I will use a backend service provider, because I can already see myself getting totally lost with building a custom backend…

Can you recommend another Backend Service besides Firebase?