Re: parallelism, as a useful and simple exercise, try writing a load tester in Python and then try it in Go (simple program that hits yoursite.com as hard as your network connection will allow).
Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
11–20 of 114 posts
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#12I think you have to balance the two and not put all your eggs in the same basket. Choose one or two language and get mastery from these, but also look for other languages to learn from. That way, you'll have a balanced portfolio.
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#13Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#14I don't think the two are mutually exclusive. You need both variety and focus to excel. The key is to know when to shift gear between the two modes. Why don't you just do whatever that you find fun and challenging? That's usually the best indicator of what you should do.
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#15For example use Ruby/Rails on the backend or a web app, learn Objective-c to create an app that gets data from that RoR app, and maybe use go to create an API for a section that is performance heavy, etc... So that everything builds up. You need to establish goals.
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#16But here he is saying that you can't only explore the breadth of programming, you also have to dive deep at some point and get the experience of mastery in something. I can't see either one disagreeing with the statement that you want to have some breadth of experience first but that mastery only comes afterwards from focus.
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#17If you are thinking of learning a new language, ask yourself why. Is it because it's going to make you a better programmer? Is it because all the cool kids down at the Club House are talking about it? Is it because you're stuck with a problem in a language, and instead of overcoming that problem, you're just jumping to a new language hoping that language won't have any problems?
When you've really mastered one language, mastering a second one is much easier. Whereas if you learn the basics of one language, and then the basics of another, ad infinitum, you never really master anything.
Compare to learning to play musical instruments. Who is the better musician - somebody that can play Chopsticks on 20 instruments, or somebody that can play Brahams but only on the piano? The first has a lot more to learn than the second.
Finally, it's better to master a domain than a programming language. In the long run, it's more rewarding (personally and financially) to be the world's leading expert in, say, security in C++ than it is to be the world's 10,000th best developer in Ruby, Clojure, Go, etc.
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#18"We value “T-shaped” people.
That is, people who are both generalists (highly skilled at a broad set of valuable things—the top of the T) and also experts (among the best in their field within a narrow discipline—the vertical leg of the T). This recipe is important for success at Valve. We often have to pass on people who are very strong generalists without expertise, or vice versa. An expert who is too narrow has difficulty collaborating. A generalist who doesn’t go deep enough in a single area ends up on the margins, not really contributing as an individual."
[0] - http://www.valvesoftware.com/company/Valve_Handbook_LowRes.p... page 46
Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?
#19I think you're overemphasizing Hickey's first thought. His second boils down to "be careful to recognize the actual game involved. Programming mastery has little to do with languages" To me it sounds like he's saying "understand the underlying patterns and techniques that make good programs in any language" not "stick with one, and only one, language until you know it inside and out".