Self-taught dev feeling overwhelmed and looking for advice

<%= @topic_view.topic.title %>
<%= @topic_view.topic.average_rating %> <%= @topic_view.topic.posts.count { |p| !!p.custom_fields['rating'] } %>

Hi guys,

This post is a bit long, so I wrote a TLDR at the bottom. I’ve been learning how to code since late last year with the aim to get a full time job as a Front End Developer here in the UK.

The problem is I feel like I’ve not made any real progression since I started. I’ve built projects such as a News API, OOP Booklist Project and at least 3 Websites using HTML, CSS, JS and SASS, but none of them stand out. I used the portfolio design from Traversy Media’s SASS Project as my portfolio, as I didn’t feel confident in my initial portfolio design. The designs for a few of my projects aren’t anything special, but I feel that with more and more practice I’ll definitely become more confident wiith creating designs. I also dont know whether I should be focusing on my personal projects or projects that will get me hired. I’d also like to know what kind of projects employers are looking for.

With Javascript, I feel as though I should have mastered or at least been very proficient in React or another framework and moved onto a back-end language by now. I’ve tried moving on to advanced projects to put on my portfolio, but I get overwhelmed on where to start. I look at other people’s projects/portfolio for inspiration and end up feeling so overwhelmed, that I go back to learn the fundamentals.

I’m confident in my soft skills. It may just be me overthinking and over analysing things but I feel like the last few months have just passed me by and it’s kind of depressing.

I’m looking to add Webpack, Node.js, Express and React to my current skillset as well.

Please be brutally honest if possible. I’m not giving up and I know that this is the career I want to be in. I’m looking to start freelancing soon and building websites for local business, but I’m not sure if I need to gain more skills before I do so. Apologies if this post does not meet the rules or if it seems incoherent. Thank you in advance, your advice is greatly appreciated.

For reference, the resources I am currently using:

Javascript.info
Modern Javascript from The Beginning (Udemy)
Advanced CSS and SASS (Udemy)

TLDR:

Problem #1: I dont have confidence in my projects and I’m not sure if I’m spending my time wisely by building the right projects.

Problem #2: I’ve spent so much time focusing on trying to master Vanilla JS that I feel I should have moved onto a JS framework/library. I get overwhelmed when trying to start an advanced project.

TLDR:

My projects were terrible at first but they helped when working on much larger applications. Vanilla JS is essential even when working with a framework. Take an advanced project one step at a time; break it down and work on one part then move on to the next and it all comes together.

I’ve been there. I thought my projects were terrible and it was pointless to do them until I started a larger application and what I did in those smaller projects really helped out. I would focus on doing projects that interest you, they don’t have to be some gigantic facebook style application just build what you want. You will at least be able to show people that you can work with JavaScript.

As for the Vanilla JS, I thought for a while that it didn’t make much sense to learn Vanilla JS when everyone wants you to know a framework but you have to remember that a framework is using the same language so what you learn in Vanilla JS is directly related to a framework.

I started working on a more advanced project one step at a time. Its hard to start something when you have this giant project in front of you, instead break it down. Do one page at a time and eventually it all comes together and you realize you were more than capable of tackling something large.

Think about where you were 2 months ago and compare yourself now to that person, don’t compare yourself to Brad Traversy, he has been doing this for 10+ years. He is definitely my go to person for pretty much anything. I guarantee you are a better dev than you give yourself credit for. :sunglasses:

3 Likes

I’m looking to start freelancing soon and building websites for local business, but I’m not sure if I need to gain more skills before I do so.

There’s 5 million skills you could learn to be more ready, but odds are you wont need most of them. You should go out and try to apply yourself to real world problems as soon as possible. Worse case is you find your missing skill X for the given job, but this is important as now you only need to learn X.

There is never a moment when your 100% ready, 100% prepared, and know 100% of everything, if you get to that point you are either lying to yourself, or you stopped learning and challenging yourself. The goal isn’t to be 100% ready, only to be prepared to learn 100% of what is needed for the job at hand.

It sounds like you have good fundamentals, but are having a tough time taking a deeper dive into more complex JS, such as learning Nodejs, Express and React.

Depending on the jobs you want to take you may need to learn some or all of these three, learning more about each will open more doors. Depending on your job situation you could afford to pick and choose jobs where you don’t need to utilize this, or if you find most jobs require some or all of this tech, then you should focus on them more.

I dont have confidence in my projects and I’m not sure if I’m spending my time wisely by building the right projects.

If you have 100% confidence in the projects you build, then you built them to small and they weren’t worth building. If you want to get the most out of your time, pick something that has a mix of things you already know, and a few new things you haven’t tried out yet (nodejs/express/React). The goal is to learn as you go with the newer things. You probably will run into walls and be confused, but good, that means your learning something

I always say, fail 500 times and you learn 500 new things. If you were to get lucky the first time, or don’t try to fail, you miss out on 500 chances to gain experience. You don’t learn by doing things right every time, you learn by doing them wrong.

I’ve spent so much time focusing on trying to master Vanilla JS that I feel I should have moved onto a JS framework/library. I get overwhelmed when trying to start an advanced project.

Programming fundamentals are important to know regardless of what your doing, but its hard to really verify how much fundamentals you know until you start applying what you know to complex situations. Odds are taking up a framework/library will reveal new things to learn. There is no situation where you go into a framework without needing to learn something new.

Going back to what I said above, going into advance projects provides the most areas to learn new things. The fact your lost is an opportunity to find your way. Learning what is wrong/going on is more important than fixing anything. Understanding is more important than doing, especially if your goal is to learn.

Goodluck, keep building :smile: :

4 Likes

If I may ask, how long did it take you to get to where you are now?

So I started web development seriously around January this year.

Thanks for the advice Austin. I’ve taken what you’ve said onboard and it’s really changed my outlook.

Thanks for the advice Brad. This was super insightful and helpful. I think this has been a case of “analysis paralysis” on my part and trying to gain as many skills/knowledge as possible before moving onto the next step. I’ll keep building and I’ll use the opportunity to jump into React this week. Thanks so much for your help.

I see this a lot around here and it always concerns me. If we’re assuming the fundamentals are basic JavaScript, html, and css, then I think this is a huge step back. Maybe I’m wrong, but it’s something I never did. I never “went back” to learn something better.

My reasoning for this is that everything I’ve learned gets applied a hundred times over in every new project. I took a CSS course, then I had enough css knowledge to get by with Google.

Same with HTML and JavaScript. Maybe it helped that I took notes. I don’t know if everyone does that. As a former teacher, I think it is an invaluable step and something that has always worked for me. My idea behind it is that by the time I’ve finished with a course, I’ve interacted with the material 3x. First, when I read it. Second and sometimes third time when I rewrite it in my own words in my notes. And third or fourth time is when I finish the activity, assuming we’re doing some sort of interactive lesson.

Moreover, my notes are always question answer format. Example:

Text says:

You can use the text-align property to align text to the left or right.

My notes say:

What property can be used to align text? Text-align

What does text-align: left do? Aligns text to the left

How can you make it so that text aligns to the right side of a container? Add a text-align:right to the container

After that, I’m not going back to re-do a CSS course. I know enough to search Google if I forget something. Sometimes the google search is “text-align css” to just get a refresh on how it works. Other times it’s “how do I align text to the right of a div” if, for example, I have no idea what I need.

Whenever I didn’t feel confident with my knowledge in an area, I just did more projects, never more courses or re-do material. I made maybe 5-10 React projects without adding much to my toolset before I looked at Redux, router, and eventually back-end. The benefit, besides time, is that projects fill up your GitHub and portfolio as well.

Regardless, it takes a bit of luck to get in front of the right company, and everyone’s path is different. But my initial reaction and advice is to not go backwards. Make projects if you need more practice/confidence.

I’m in exactly the same boat right as you, right now! I started getting serious about learning web development for finding a better job this past February. Every day since then, I’ve sat down to code for no less than an hour. Many months later, I feel really confident in some areas (basic HTML/ CSS/JS) but not so confident in other areas (ES6, ReactJs/JSX, module packages) that it feels pretty terrible and you begin to question whether you’re learning the right things right now.

But I always remind myself that I’ve come a long way since February. It takes time and the more time you can afford to put into this, I say do it. It seems like you’ve been working really hard and that you have been putting in serious time. Try not to get discouraged and keep going.

I wholeheartedly agree with both Brad and Ethan in that you’re never going to be “100% ready” because it’s impossible to know “enough”; there’s always room to learn AND re-learn or refresh. To add to Ethan’s point, once you’re comfortable with the syntax of a language, it’s good to just do a quick search on a term you either (a) learned before but just forgot, and (b) never learned before but that you may want to know for a given task or project.

To add to Brad’s point, tackling new projects and challenges provides opportunities on both reinforcing what you already learned and learning new things. That double-benefit, I now realize, is incredibly important.

Best of luck, my friend. :slight_smile:

1 Like

I total agree with you, when I started I compared myself to say Brady Traversy or Wes Bos. Not realizing they have done this for 10+ years and I had done it, at the time, like 3 months. So I started comparing my abilities to where I was at 2 months prior, even 2 weeks prior. Once I did that I realized just how far I had come. That was when I realized I was much better than I was giving myself credit for.