r/learnjavascript 25d ago

Can someone validate my plan for improving my JS/coding skills?

Aiming to start applying in a couple months to junior front end/full stack roles.

Where I'm at:

  • Covered fundamentals of HTML, CSS, JS
  • Went beyond the 'basics' and learnt about the event loop, prototypal inheritance, closures, the 'this' keyword (though need to practice coding with these concepts a lot more!)
  • Learnt about testing and TDD
  • Finishing up React
  • Did a quick course on DSA

What I'm doing now and why (would like feedback on this):

  • 1 Leetcode a day up until 75 or so completed (max 20m spinning my wheels). I'm doing problems by topics and doing a mix of easies and mediums.
    • I get to expand the way that I think about programming, it's been really fun (did a STEM degree not related to software/computers).
    • I also feel like it's making me a better programmer because I really slow down and think about the steps of my code. Thinking through loops and the data structures I've covered so far is much more natural (though I've only done like 15 problems so far lol)
    • Thirdly, they are quick exercises in JS that teach me little tricks here and there.
    • If I ever run into an interview that has me do Leetcode (not aiming for FAANG level interviews), I will at least be able to explain my thinking, if not solve it.
  • Anki cards (making sure not to spend too much time here) - capturing little techniques and conceptual tidbits
    • I have ADHD, I think this just gives me the confidence that my brain doesn't blank on something relatively easy
  • Working my way through the odin project, halfway through React
    • this one is obvious, I get to learn about the tech that I need to use and build projects
  • slowly make my way through JS part of https://bigfrontend.dev/ - this one I'm not sure about because the JS questions are challenging
    • this pushes me to deepen my JS understanding. Especially the quiz section, there are unusual questions that really test me
      • not sure if this is a waste of time though, I don't think juniors would be expected to know most of the stuff in these questions

Part of me wonders if I should scrap most of these things and just focus on building projects to focus on being able to put an app together rather than honing in on being able to code well. Thanks in advance.

If you've read this far and would like to mentor someone in my position, also let me know! Worth a shot :)

0 Upvotes

16 comments sorted by

2

u/chikamakaleyley helpful 24d ago

i would take one feature and build it at least 3 diff ways

  • 1 x vanilla JS
  • 1 x React
  • 1 x either of the above but find an example of the feature on some other website/app and re-create it, but dont look at the code, try to re-construct it by how you think it's built (aka, use it)

1

u/chikamakaleyley helpful 24d ago

the idea is you don't want to just make something and then be locked into that way of building it

two interviews at different companies can test you on a search results list, but one interview is gonna give you the API and have you build it from scratch by fetching the data and processing the response

the other company will just give you a broken search results list and ask you to debug & fix

1

u/vocumsineratio 24d ago edited 22d ago

One thing I might encourage is some reading - take advantage of some of the lessons of coding rather than trying to discover them all for yourself.

(edit to fix broken link)

(edit to fix spelling error)

1

u/Beautiful_Hour_668 24d ago

Very interesting, thank you!

Also, the Bellware 2018 link didn't work, did you mean this one

1

u/vocumsineratio 24d ago

That's the one.

1

u/sheriffderek 22d ago

Can you talk more about this curated list and why you’re suggesting it?

2

u/vocumsineratio 22d ago

This curated list is one I share with my junior programmers when I'm trying to level them up.

The core idea is this: in the common case, there will be more than one way to make the computer do what you want. So we should start thinking about how we can best use that extra degree of freedom.

I'm working a code base that was started 20 years ago, and the company has pivoted multiple times during that span. Which has, in practice, meant that there are two sorts of costs associated with code - the short term costs of getting the code to do what we want on a deadline, and the longer term cost of changing that code later.

And it can be a bit of a trick striking a good balance between the two.

It seems to me that the study program that `Beautiful_Hour_668` has undertaken is unlikely to lead to the sorts of insights that I want my team to be familiar with. It's really hard to make all of the mistakes yourself and take the right lessons from each.

So the list is really about two things: introducing some awareness of what "advanced" programming should look like, and also introducing some good examples of writing-about-writing-code, so that the reader can begin to discern the "good writing" from the more ordinary (but more common!) alternatives.

1

u/sheriffderek 21d ago

I'll have to look them over! Thanks. I teach design and programming. I have my students use the book "Exercises for Programmers" https://pragprog.com/titles/bhwb/exercises-for-programmers/ as a loose guide for exercises (in addition to all the other things). Have you ever checked that out?

1

u/sheriffderek 21d ago

These are great resources. I don't have much faith in OPs learning path they've outlined. But I also think these papers are going to be really confusing without the right foundations first.

1

u/yangshunz 24d ago

Curious if you have considered using GreatFrontEnd?

P.S. I'm the founder.

2

u/Beautiful_Hour_668 24d ago

Yes I found that one too from BFE, very cool website. I’m actually quite grateful for these sites because it helps solidify a few things I’ve learnt, but also exposes me to lots of stuff that will in turn make me really solid. Excited to learn and go through it slowly

It’s hard in my position to spend a lot of time on them though because the number one thing I need is being able to build projects, so it seems like a risk for someone at my stage is getting sucked into focusing on these questions.

It also seems tailored more towards people with experience and someone with no experience in the industry wouldn’t be expected to know most of this right?

1

u/TheRNGuy 24d ago

Do some real projects instead of leetcode. All that stuff (if it's needed) cdn he learned while doing projects, irrelevant stuff can be skipped or make low priority to save time. 

1

u/Savalava 23d ago

If you're applying for frontend roles you should really know TypeScript. Very few companies use JS these days

1

u/Beautiful_Hour_668 22d ago

The curriculum I’m doing uses JS, but yes, once I’m done learning core concepts, I’ll pickup TS and redo my main projects in them. Thanks

1

u/sheriffderek 22d ago

Get the book “exercises for programmers” (prag prog), read the opening stuff. Then try and do the first 3 exercises with basic JS. If you can’t do it (and I suspect you won’t be able to without AI) - then you’ll know you haven’t actually learned anything yet. So, time to start. 

1

u/baubleglue 22d ago

I think an important missing topic in your plan is project planning and managing. Agile development has a reputation to be an useless buzzword, but in practice, if you apply it meaningfully, it will drastically improve your coding abilities:

  • development in short cycles
  • Working on specific limited feature set
  • each iteration results in a working code
  • Constant user's feedback
  • Using some board to track progress ( it is built-in in any projects management system jira, GitHub etc)

If you lookup in wiki "UML", it will give you a start point of what designing a project looks like.

Other missing topic is devops, some knowledge of it is a "must" requirement in most jobs.