Hey everyone. I am studying to become a fulls stack web developer. My goal (albeit lofty) is to become a freelance developer. I am learning about all the different technologies used in full stack development. I have settled on learning the MERN stack once I get a good grasp of HTML, CSS and JavaScript. As a independent developer, is MERN the route to take? Also, should I also learn Python and Django along with SQL or just stick with the Javascript full stack. Any advice would be great and I know its subjective, just looking for input.
Thanks
No matter which front/back-end framework you choose, SQL is a must. It's the main powerhouse when it comes to data management. There's hardly any company in the world which doesn't use SQL. So there are high chances that you will be interacting with relational databases while working on real world projects. My suggestion therefore would be to focus on SQL as much as possible. Any relational database (MSSQL/MySQL/Postgres) will work.
About web developments frameworks, I believe in having more than 1 programming language in your skill set. Sure it's easy to learn only 1 and use it for both frontend and backend which is the case of MEAN/MERN stack. But main advantage of being a polyglot is that you get the chance enhancing your own thinking process. Every language comes up with it's own set of pros and cons. Implementation of problem X in Python may vary in Java or Go. By interacting with multiple languages, you learn new was of observing and attacking a problem.
Then there's also a possibility that some other framework may work much better than node/JS for the development of backend for reasons related with nature of the business problem, scalability, performance and technical debt. On smaller scale, these may not matter that much but as application starts to grow, they can become a huge bottleneck.
Finally, having diverse tool set increases your chances of getting hiring too simply because you know more stuff as compare to those who're stuck with single ecosystem. It can also send a signal to recruiters that you're flexible enough to learn things which are outside of your comfort zone (some disagree with this point).
In the case of web app development, I would suggest you to learn JS for frontend and Python/Java for backend. Whatever combination you decide in the end, SQL is a must.
Awesome advice. That where I has heading with my question. I intend to learn MERN as well as PostgreSQL since it works with Node. I also intend to learn Python and Django so that I have a broad range of tools to use. I think with the following toolset, I should be able to function well in the market place: JS ES6, React, Express, MongoDB, PostgreSQL, Python, Django. This should be a good target and then learn more as needed.
MERN stack is truly a good stack to work upon. If your a free lancer it'll be better that you stick to once stack and build plenty of projects out of it. Avoid learning many languages as much as possible. MERN stack is here for another 8 ~ 10 years and if you continue mastering MERN and end up with chunk loads of projects , Django or Deno or any other language will be fairly adaptable for you to learn