Full Stack learning advice
Posted by Kairu-2-1@reddit | learnprogramming | View on Reddit | 13 comments
Im planning to be a full stack dev, i learned dart and flutter, node js and express js(still mastering), mysql, firebase, rn l planned on learning react, next js and mongo db during vacation, I dont know whats next for me after that and if I skipped something, so any advice on what should I learn and focus on rn?
letsrediit@reddit
my from pov:
fulfillthevision@reddit
Question about auth in express - for practice/learning purposes, how would you go about it? I've learned with Passport JS, but should I do it from 'scratch' to learn better
RandalSchwartz@reddit
I'd focus my RDBMS knowledge more on Postgres than MySQL. Postgres has full-support JSON columns that essentially make it a NoSQL database as well as a SQL database.
ZelphirKalt@reddit
Your learning plan sounds waaay frontend heavy.
My advice would be to be more balanced, if you are really aiming for full stack, and not just be like: "I do frontend, but want to use my frontend tech for backend purposes.".
If someone tells me they are a fullstack dev, I would expect the following, in order starting from frontend to backend, not because of priority:
(1) The frontend basics: HTML, CSS, JS, TS. All in modern versions, and knowing how to use actual web standards, which doesn't mean just using whatever the latest version of Google Chrome supports. The skill to choose good representations of information on web pages, that work across various browsers and don't limit accessibility. Being able to produce websites, that are not just a whitescreen, when I visit them without having JS enabled.
(2) A frontend web framework. For example Vue.
(3) A backend web framework, that does not run on frontend only tech. There are places, where frontend shenanigans are not accepted in the backend and many more places, where they would be accepted, but their dependency trees are extremely overkill for what is needed. That means a backend web framework and a backend programming language. Many choices there. Mainstream ones: Go, Python, Ruby, Java. Probably forgot to list some. Not so mainstream ones: Other languages on the JVM, Rust, Elixir. Probably forgot to list some. Many exotic ones there. Each has their go-to (micro) web frameworks.
(4) Knowing a backend programming language well, being able to use it fluently, just as fluently as you use JS/TS.
(5) Knowing how to use a database. SQL the language of course, but no need to know everything, if you can work by looking things up that you need to know. Better Postgres, not so great MySQL or MariaDB, worse MS SQL shit. MongoDB is meh, very situational, often not what you would actually want, unless you must have document storage in the database. Firebase is also very situational. Can you set up a Firebase on your own server, or are you relying on Google hosting?
(6) All the other typical backend things like: Containerization, being able to create container images that are useful and flexible. Understanding mounts and such things that come with containerization. Educated management of dependencies with reproducibility in mind. Probably shell scripting skills. An understanding of at least roughly how GNU/Linux distros work, the usual command line tools and system tools like cronjobs, rsync, ssh, and so on. You feel at home on the command line.
"Fullstack Dev" is deeper than most people, who label themselves as such. It has become a buzzword in HR job ads, but they don't know what the word means.
Truly being a fullstack developer means having a very broad set of skills and knowledge. Few "fullstack" engineers are truly fullstack. Most who call themselves that these days are nothing more than frontend devs, who know 1 frontend web framework, and think that their NodeJs or NPM stuff is gonna fly on the backend too. Well, for some companies it might. They put "fullstack" on their CV to increase their ability to be hired, but it doesn't really reflect their skill. They are "fullstack devs" but limited to frontend tech.
itzdaninja@reddit
I suppose it entirely depends on your career goal, maybe branch out look at some infrastructure type stuff Terraform or Ansible. Stacking skills is fine but do you get to use them in the real world?
Alone-Flatworm3709@reddit
honestly your stack is already solid, most jobs won't care if you know mongo vs mysql as long as you can build stuff
react + next is a good call. after that i'd focus less on learning new things and more on building a real project end to end. like something you'd actually use yourself
the gap between "learned X" and "can build with X" is where most people get stuck
Easy_Rider_OK@reddit
Das ist der richtige Weg. Lieber einige Dinge nehmen und darin Meister werden als viele Dinge und alles nur ein bisel zu können.
Organic-Present4304@reddit
This is the time to be AI Native engineer. Go through the stream and be ready for what is needed.
Ordinary-Cycle7809@reddit
Well Ig you need watch this video https://youtu.be/GBqlXajrdL8
Kairu-2-1@reddit (OP)
lol thats what I also thought and its funny our university offers a program for full stack development maybe to explore ourselves into and know what we may want to focus on
Conscious-Pace7669@reddit
VoluminousPoster@reddit
Your stack looks pretty solid already man. I'd say maybe focus more in mastering what you already started before jumping to new stuff. Like you mentioned still working on Node and Express - those are huge and there's always more depth to explore there.
One thing I noticed is you don't mention any version control or deployment stuff. Git is absolutely essential and learning how to actually deploy your apps somewhere like Vercel or Railway will teach you ton about how everything works together. Also maybe look into some testing frameworks once you get comfortable with React.
From design perspective I can tell you that knowing bit of CSS frameworks or design principles helps a lot when you're building full applications. Doesn't have to be fancy but understanding spacing and typography makes your projects look way more professional. The backend knowledge you're building is definitely the harder part so you're in good track.
Kairu-2-1@reddit (OP)
Well I forgot to mention that I learned git and have tried deployment platforms like render while developing my API, I still lacked the knowledge on deployment tho, I always feel like there is always something missing and lacking which is making me anxious and asked for advice if I missed something, figuring that Im on a good track well maybe Im lacking on building portfolios to stand out and figuring out clients