DEV Community

Discussion on: A Little Closer to Becoming a Full-Stack Developer (or Bald, Probably Bald...)

anduser96 profile image
Andrei Gatej

IMO what's happening is normal, it is part of the process.

I remember I had not such a great time building my portfolio, I also had to find inspiration, at least design-wise. But then I thought that, at least for version 1.0 of my portfolio, it's not that important to look amazing, it has to look decent. And the most important thing is what the portfolio contains, what projects, what's the impression it gives to the users and potential clients.

I'd say the first step is to understand the fundamental programming concepts, because with their help you'll be able to find solutions to your problems. Not only that, but you'll also be able to build upon them and become better and better. I've started programming ~3 years ago, now I'm stuck at university, but I think(and I hope) I overcame the first steps, which are always the most difficult. And one lesson that I've learnt is that getting the fundamentals right is crucial. Especially if you want to become a full stack dev(this is also my goal), you can't do it without understanding how the web works and without being comfortable with JS. Thus, I'd suggest you read on these topics first:

  • how the web works
  • how web browsers work, what's their role in this web development thing
  • what is HTTP
  • what is a server

You don't have to go into much detail, but IMO it's important to have at least a basic understanding of how these things work. This will be extremely helpful when you'll get started with Node.js(assuming you'll want to use Node.js on the backend) and you will have to start the server; if you have a basic understanding of what a server is, you find everything a bit less daunting and you'll be able to focus on what you're trying to learn or on what problem you're solving.

After that, apart from HTML, you should know a bit of CSS. With flex and grid you should be able to obtain every layout you wish and, as a web dev, this is something you'll definitely have to face. Some great resources to learn CSS from that I'm aware of: Kevin Powell and CSS Tricks.

Now onto the JS part, I'd recommend you watch at least one introductory video on it and then, there are some ways to improve on it:

As far as the portfolio is concerned, I found it very helpful to see other people reviewing portfolios, so that I make sure I won't make any notable mistakes. I'd recommend:

I'm sorry if it looks overwhelming, but you'll have to take it step by step. A friend of mine also wants to get into freelancing, but he doesn't have the patience to go over the fundamentals first, so he often struggles with problems that would be much easier to solve if some more time would've been spent on learning the fundamentals. You might feel like you're not productive, but you need to a foundation to build on. This doesn't mean that if you don't finish all the 33 concepts, you won't be able to build websites. At some point, you will become comfortable enough with the language and although you might now it very well, you'll be able to quickly find resources and learn from them.

Also, if you're looking from programming wisdom, I'd recommend this channel.

I'd like to mention that all I've shared it's just my perspective on things. It's what I've used to reach the point where I am today and I really hope you don't feel discouraged now. It's a long journey and I'm sure you can do it. If you need help, feel free to reach out.

mariullom profile image
Mari Ullom Author

Thank you so much for all the awesome resources.

I start my next semester of college in a couple of days, couple of IT classes, as well as Advanced C# Programming, and Advanced Python Programming *(which I am NOT looking forward too. Python and I do not get along.)

Unfortunately my college program doesn't offer the exact degree I wanted, but offers one similar too it. So I am having to learn a lot of it on my own. It is really overwhelming because there are so many different pathways, and finding one to stick with is probably the hardest part. I can't decide which one I like better, since I'm having to figure it out on my own, my resources are online, but the information you get online is based off of someone else's personal preference and any person you talk to will tell you something different. I think that has been the most difficult part.

I've just been experimenting with them all to figure out which ones work the best, and I've figured out really quickly that it depends on what exactly I'm building as to what works better. So based on the project I am doing, I will work with something different, and then for personal projects I just work with whatever I'm liking better at the moment lol.