Live data from Hacker News

How to Become a Great JavaScript Developer

blog.ustunozgur.com

151–160 of 171 posts

Re: How to Become a Great JavaScript Developer

#151
post #107

Earlier quoted context omitted.

Knowledge work is different. How to become great at Chess: - Read books about chess. - Watch other people play chess. - Read in-depth analysis of past chess games. How to become great at Math: - Read books about math. - Watch other people perform math. - Read in-depth analysis of math. You also skipped a key assertion from the author: "Do exercises and try to explain common JavaScript concepts such as inheritance in…

I don't think that's actually the best way to be great at chess, or math. On chess, from a GM: "The key to their success is that they kept playing a lot, and learning from stronger opponents. Don't get me wrong: I am not suggesting stone age technologies in studying. Of course, you should take advantage of the best modern learning methods. However, the most important component of success (at least at weak GM and belo…

Completely agree. I never truly understood discrete math until I had to teach it. I didn't understand sales until I ran a vendor booth for my wife's sci-fi novel. I didn't understand ballistics until I built model rockets and potato cannons from scratch. I didn't understand cooking until my coworkers at Waffle House marooned me at the grill during a Sunday morning rush. I didn't understand linear algebra until I had to write a software rasterizer and a best-fit modeling function. I didn't understand money management until I was poor. I didn't understand relational algebra and database systems until I wrote an ORM. I didn't understand digital electronics until I had to build a kiosk system from scratch (for a client!). I didn't understand analog electronics until I had to build a music synthesizer. I didn't (really) understand AC until I had to rewire my house!

Maybe some people can read a book and just know how to do things based on that. I used to be very caught up into thinking I needed a book to learn things. But that's not really me. I have to do. Most books aren't written in that regard. The authors want to pontificate on minutia. Now, I know I just need to jump in the deep end of making something and--somehow, be it through Wikipedia or Wolfram Alpha or StackOverflow or MSDN or MDN or what have you--I will learn what I need to get it done. Give me a cheat-sheet, some pliers, and a bail of wire any day. Until then, it's all just noise.

I think it ties in naturally to the Lean Startup ideology, i.e. the whole "release early, release often" thing. Using the example of chess, if you're just reading books on chess and are not playing games, then you're no better off than a startup who is working out of someone's basement, no marketing plan, no market feedback, just coding away based on some blue-sky ideology. "Release early, release often" isn't so much about success as it is about getting out of the basement, seeing the flow of things, and opening your eyes to reality.

Re: How to Become a Great JavaScript Developer

#152
post #90

No. Not this. Net even close to this. Let me illustrate: How to become great at Sports: - Read books about sports. - Watch other people play sports. - Read in-depth analysis of past sports games. How to become great at Playing Violin: - Read books about playing violin. - Real sheet music by the great masters. - Listen to many concerts. It's inherently obvious that the above approaches are totally and completely wrong…

I think of books/knowledge as an experience accelerant. One could set a log on fire and it will burn, but it will burn a 'hek of a lot faster when liquid oxygen is poured onto it. Books do the same thing for practice. You'll get there one day with practice but you'll get there much faster when you're practicing under the influence of performance enhancing books. One example from my own experience is Estimating. It's…

[deleted]

Re: How to Become a Great JavaScript Developer

#153
post #107

Earlier quoted context omitted.

I don't think that's actually the best way to be great at chess, or math. On chess, from a GM: "The key to their success is that they kept playing a lot, and learning from stronger opponents. Don't get me wrong: I am not suggesting stone age technologies in studying. Of course, you should take advantage of the best modern learning methods. However, the most important component of success (at least at weak GM and belo…

a lot of people out there don't have access to mentors, so I (unfortunately) feel that the self-learning by books approach is still the most practical, generally speaking.

This is a pattern of behavior I see in people, that they think they need a "mentor" to get good at anything. I've even had people explicitly ask me to be their mentor. Like, people here, on HN, reading my comments, contacting me through my email address in my profile, asking me to be their mentor.

Frankly, now that I'm experienced, if someone were to agree to be my mentor when I was a beginner, I should have been suspect of their expertise, because I don't know anyone who is actually any good at what they do who has time to do anything called mentoring.

Where does this idea of mentorship come from? I have never seen it. I've had examples in my life of people to look up to, but when people talk about mentorship they seem to be talking about some sort of creepazilla relationship where the student sits at the feet of the master and receives wisdom. Yeah, no, that doesn't exist in the real world, at least not for the vast majority of people.

If that's what it takes to be successful, to be reallly good at anything, then buddy, we're all in a world of hurt. It's an appealing idea, but who the hell does it ever actually happen to? I'm convinced it's a fantasy.

Re: How to Become a Great JavaScript Developer

#156
post #28

Tastes in books varies wildly between developers: there are many on there that I wouldn't say helped me as much as others, but to each their own! With that in mind, I'd put a plug in for David Herman's _Effective JavaScript_. It goes beyond simply stating the mechanics of JavaScript into what pitfalls can be had, and uncommon but critical factors to consider when writing your code. The point about UTF-16 code points…

Best JavaScript book I've read. Advanced topics!

Re: How to Become a Great JavaScript Developer

#157

Earlier quoted context omitted.

Ah, the "minify" bug: forcing people to put statement separators into a line oriented language. Think of semicolons in JS like colons in BASIC: they let you stack multiple statements on a line. Then, go learn what the language REALLY thinks is the end of a statement, which is not "I put in a semicolon". Too bad JS doesn't use (an explicit) backslash for line continuation, rather than guessing when a line/statement wa…

Missing semicolons have more pitfalls than just minifiers being naughty. return someExpression will parse out as: return; someExpression; and you have assumption of function call in x = y (z).whatever() which parses out as x = y(z).whatever() Nothing hint or lint wouldn't catch though. IMHO, you really need to be special to avoid explicitly writing out semicolons, but to each his own. I can maybe give it a point for…

How would semicolons have prevented the first of those misunderstandings?

-- Don't get me wrong, those are good cases to know what is going to happen. But I think you are making the case that semicolons provide a false security blanket, since the language can complete a line you meant to wrap, or, alas, merge 2 lines you meant to have separate.

I think shell (and a few other languages) actually got it right: 1 line = 1 statement, unless there is an explicit continuation.

Re: How to Become a Great JavaScript Developer

#158
post #135

Earlier quoted context omitted.

Missing semicolons have more pitfalls than just minifiers being naughty. return someExpression will parse out as: return; someExpression; and you have assumption of function call in x = y (z).whatever() which parses out as x = y(z).whatever() Nothing hint or lint wouldn't catch though. IMHO, you really need to be special to avoid explicitly writing out semicolons, but to each his own. I can maybe give it a point for…

Only evil people put their return value on a second line... Regardless: http://blog.izs.me/post/2353458699/an-open-letter-to-javascr... Although to be fair: http://benalman.com/news/2013/01/advice-javascript-semicolon...

Wow, I got schooled. Did not realize rule 4 about lines starting with array subscript brackets or function argument parens. (regardless of the line's intent of perhaps being an array literal or simply starting with an expression to be evaluated early)

The sad reality, taking the second link to its satirical conclusion, is that all JS should be written on one line, with semicolons between statements. No guessing about the effects of line breaks if there aren't any. "I say we take off and nuke the entire site from orbit - it's the only way to be sure." :-)

Re: How to Become a Great JavaScript Developer

#159
post #20

Earlier quoted context omitted.

Yes, Genius: http://genius.it/5088474/ejohn.org/files/jquery-original.htm...

Thanks for this link. I will be reading it for sure. I also stumbled on the annotated source of Underscore.js a few days ago ( http://underscorejs.org/docs/underscore.html ). Would love any more stuff like this that anyone knows of.

The Annotated Version of Eloquent JS (this was mentioned in the article) is similar except the annotations are for a book rather than a library.

https://watchandcode.com/courses/eloquent-javascript-the-ann...

Re: How to Become a Great JavaScript Developer

#160

Earlier quoted context omitted.

a lot of people out there don't have access to mentors, so I (unfortunately) feel that the self-learning by books approach is still the most practical, generally speaking.

This is a pattern of behavior I see in people, that they think they need a "mentor" to get good at anything. I've even had people explicitly ask me to be their mentor. Like, people here, on HN, reading my comments, contacting me through my email address in my profile, asking me to be their mentor. Frankly, now that I'm experienced, if someone were to agree to be my mentor when I was a beginner, I should have been sus…

Strictly speaking, you don't need a mentor to get good at anything. However, it can really help in the areas that are defined more by people than by things working or not.

As a mentor, I have found that is mostly about reviewing others work and thinking and giving feedback. For instance, you don't really need a mentor to get better at solving problems. You may need a mentor to help you communicate details about the solution.

Somewhat related: http://jeffrey.io/writings/apprentice.html

Post reply on HN