DEV Community

Musa Barighzaai
Musa Barighzaai

Posted on • Edited on

_

Top comments (4)

Collapse
 
tom profile image
Info Comment hidden by post author - thread only accessible via permalink
tom

I'm going to turn this question back on you: why do you want to expand your knowledge into other areas?

What interests you?

"Full stack" is an endlessly huge area of learning: distributed systems, databases, networking, operating systems, security, hardware, graphics... it goes on forever.

You have a couple of options that will help drive your learning and keep you motivated through feeling like a complete beginner all over again:

  • find a problem that interests you and follow it. The right language and toolchain will be either obvious or not important.
  • find a language that interests you and learn it. The kinds of problems to solve will either be obvious or not important.

Good luck!

Collapse
 
ssalka profile image
Info Comment hidden by post author - thread only accessible via permalink
Steven Salka

I would just note that being a fullstack engineer is not about the languages you're writing in, but rather the domain in which the code runs. Eg you can be a fullstack engineer that writes only JavaScript - learning other languages certainly opens more doors, but is not a requirement to be considered "full stack". I use JS (though not exclusively) for all types of code - frontend, backend, dev/cli scripts, database ops (via mongodb shell), largely because of its approachability for newcomers to the team as well as code reuse and minimal pain of context switching. Nowadays, many people are even using JavaScript to write cross-platform mobile apps!

If I had to jump between Type/JavaScript, Python, Scala, and bash all in the same day, I'd probably lose it. Still, I know a fair number of people who work that way every day, so +1 if you enjoy that. To me, being a fullstack engineer is more about where the code lives & how far it reaches across the system - the language(s) you use are just a choice you get to make based on what makes the most sense for you (and your team, if working on more than a side project).

Good luck, and happy hacking!

Collapse
 
fnh profile image
Info Comment hidden by post author - thread only accessible via permalink
Fabian Holzer • Edited

Independent of what will be the programming language you will choose for backend work, my advise would be

a) to deeply familiarize yourself with relational database systems.
b) read one (or several) good book on API Design.
c) acquire some experience with virtualization/containers

Since you are already comfortable the node, I think it could be beneficial to leverage your knowlegde there. But if you want to pick up another language for backend work, I'd suggest to play around and experiment with everything (time-boxed) and then choose one and commit yourself on it. I personally would also take the wider ecosystem into account. Maturity of documentation, librarys, size of the community, etc.

But be it node, a .net based Language, a JVM based language, Go, Python, Ruby most of them are rather safe bets. Have fun!

Collapse
 
onyeka profile image
Info Comment hidden by post author - thread only accessible via permalink
Onyeka Aghanenu • Edited

I went from Frontend to fullstack as well, and I don't regret it. It's great to be able to take an idea from your mind to fully executed with needing to bring extra hands on.

For me what helped was working with CMSs: Huge codebase, modules I could easily read and customize. So Wordpress and Drupal helped me pick up PHP, and Django REALLY helped me pick up Python.

Start small, with a personal project with harder than usual functionality and try to create that with an existing platform of your choice.

Some comments have been hidden by the post's author - find out more