What next JavaScript?


#1

I finished the JavaScript path on CodeAcademy a couple of days ago and am keen to keep building my knowledge in the language. I've also been following tutorials on Angular/React which have been very interesting but I'm not sure how much I'm actually learning from them.

Basically my question is, where should I go next with JavaScript? I signed up to CodeWars to see how I'd get on with their Katas and pretty much got my a*** kicked (couldn't even understand what the questions I was being asked were asking for!) What have other people found works for them, I'd be really interested to hear.

Thanks


#2

Codewars sounds like an excellent idea, I think you should look at more katas there, skip whataver is cryptic or you don't like for whatever reason!

If you're looking to use javascript for the web you might be less interested in algorithms, but you'll still be doing the stuff that the easier katas feature.

If you need help approaching problems then I think you'll find that there are always those more than glad to help you along, provided that you show that you have every intention of learning what's required to solve it yourself as opposed to getting help with solving them directly.


#3

Thanks ionathan, I've been trying quite a few things for a while now (well, since last November anyway) and even did a coding bootcamp but still feel I'm not quite clear on the basics. I'll persevere with Codewars (have just signed up for a meetup next week to pair-code some of them) and will hopefully start to get more traction soon! Thanks for the advice.


#4

Not sure where the bottleneck is, but once you know your functions, data types, loops, variables, conditions - then you've got most of the essenital tools. When it comes to string formatting and such, that's just a matter of using a search engine. If you look something up often then you'll start remembering it, and if not, then you don't need to.

With the ability to manipulate values and looking up functions out of the way, you can focus on the problem without being limited by your understanding of the language. You're looking to pick apart the problem, look for solvable parts, finding alternative perspectives. Enter the world of mathematicians.

There is certainly much to know about how to implement the solutions that you dream up, but the real action is where you get to distance yourself from the computer a bit and just think in terms of what can be executed, what can be done

Definitely don't try to do your reasoning in code as you try to come up with a solution to a problem, you would be limiting yourself. And additionally, it is useful to split up the work of figuring out a solution, and implementing it. If you do both at the same time, you're making it much more difficult to do either. (divide and conquer, split up a problem into simpler ones, solving them individually, here into solution and implementation)

It may also be useful to write down the solution in English. You can for example write each step as a comment, to be accompanied by the corresponding code at a later time. Intentions being stated in comments helps quite a lot in debugging as you can read the code and consider if it matches the intentions.

You might also come across solutions which are completely unreadable with single letter names and super short. don't do this - you're gimping your ability to reason about your own code. This is something one might do to shave off a few minutes for code that you can write in your sleep, code that will only be used once and then discarded. If you have to keep everything in your head all at once and have to look at where names were defined to figure out what they represent, then you are making it very difficult for yourself.


#5

Thanks for the kind words of advice ionatan, very helpful and supportive of you! I think the point you make about learning the language to the point where I can really begin to think about problems without being hampered by lack of knowledge of the syntax - that's exactly where I want to get to.

I'm quite excited about having a go at pair-coding CodeWars next week, this can be a bit of a lonely furrow to plough (as I'm sure you're aware) so knowing that other people are in a similar position to me (and that others like yourself are willing to give words of encouragement) is a real help.

I'm going to keep plugging away with functions, loops and the rest and hopefully I'll be pro before too long :wink: