New adventure as developer - I want to be full-stack-developer

Hi coders,
I ask a question that I have in my mind for long time: I’m beginner developer (although I have been programming for a long time, I still consider myself a beginner).
I have seen many languages ​​during these years (Java, C #, Python, some Javascript, HTML, CSS, a little PHP and the various MVC architectures, APIs , networking and a little SQL and MySQL).
But even though I’ve seen all these things, I’d like to create something, even to find a job and prove to myself that I can program (sometimes there are days that discourage me because of my skills because sometimes I consider myself logical :frowning_face:).
My problem that I saw a lot of sites even for freelancers and I saw that there are so many people who know how to do many things and have many years of experience so I am very discouraged by this as I won’t be able to find a job (I’m currently in an internship, but I don’t like it).
I asked for suggestions about it:
-What languages ​​should I concentrate on? (I am now adoring Python and I’m also looking at some Javascript and Golang)

  • What principles or architectures should I look further? (aka MVC)
  • What projects should I consider to include in my developer portfolio?
  • What are the steps to becoming a full-stack developer?
    If there were any suggestions on paths to take before becoming a good programmer are welcome!
    (Sorry for long post :bowing_woman:)
    P.S Sorry also for my bad English, but It’s not my first language ( I’m Italian girl :pizza:)
    Thanks and regards,

Hello @camcode!

First of all I’d like to tell you that programming is hard, especially when you are beginning! I know sometimes it can be very discouraging, but don’t make less of yourself and you have to make sure you know that all those freelancers and other people you see building nice stuff have started somewhere and in the beginning didn’t know much as well - and probably felt really lost.

Don’t be so hard on yourself. It seems that you have already learned a lot. Try looking back a while ago and compare to what you knew back then. You will surely see advance. If you focus on your achievements so far rather than the difficulties you will realize that you have already learned a lot and that is awesome!

And our industry needs people! We have a lot of demand and many opportunities lying ahead. Of course, sometimes it is not always easy to reach them, especially when starting, but with persistence I am sure you will be able to!

Ok, so my tips for you are:

  • There are no better or worse languages, just languages that are better for some occasions depending on what you are trying to achieve! My only advice would be: focus on one (or two since you are going full stack!) and try and become good at it.
    If you are liking Python, great, stick to it! It is a very popular language and has many nice usages. If you want to build nice things with Frontend code than Javascript is what you should aim at!
    With those two you can surely do amazing things!
  • I do believe that we learn better from practicing. Sure, it is nice to know principles and learn about things like Object Oriented Programming, Functional Programming, Design Patterns and else. But I think you would benefit better from learning on the way.
    Start a personal project. Search for common architectures and patterns used on the language/framework you are using in it and try to apply them to your project. And on the way you will certainly encounter many things you don’t know (which is ok!) and then you will be able to look for them and try to understand more. But always remember that you do NOT have to know everything! Nobody does.
    I also believe this way is much better for you to retain information, since you will understanding not only the concepts but how they actually apply in a development scenario!
  • Start with very simple applications, maybe just a TO DO List project. And then when you feel comfortable you can start adding complexity to the projects. Be creative and think about things you’d like to build! When we are building something that we like it is certainly much more motivating.
  • There are many amazing resources online - like FreeCodeCamp - and you probably already know some of them. Udemy, Pluralsight, Youtube and many more. Just go for them as much as you can, complete courses and follow tutorials; you can also use those courses/tutorials to build things as your personal projects.
  • If you like it, books are also usually a very nice option, we have many amazing books in our industry and I think it is an amazing way of learning. Since you are looking to get better at your developer game I’d recommend “Clean Code” which is a nice book regarding best practices for developers.
    You can look for books for specific topics (like Python, Javascript, Web Applications, etc.) or books for development in general (like Clean Code).
  • About your portfolio just show everything that you build - and be proud of it! In the beginning you won’t have much to show, maybe nothing at all. So you can build some personal projects to add there as well, this way you will learn a lot and also show the world the amazing things you are build and what you are learning from them.
  • About the steps to becoming a full-stack developer I think you are at it already! You are already learning programming and most important of all: you are really interested and trying to be better! Don’t be afraid to look for help and ask questions, just have you mind that you (and everyone else) is always learning and also always have something to teach others.

I hope I was able to help you somehow and I also hope that you achieve the goals you set for yourself!

Best regards from someone that has been in the industry for six years now and has quite some experience, but also do not know a lot of things, is always learning and most importantly has also been where you are now! :wink: