Live data from Hacker News

Twelve Tips to Master Programming Faster

breckyunits.com

21–30 of 54 posts

Re: Twelve Tips to Master Programming Faster

#21

This scares me. I can relate to the OP in that I denied my interest technology until my twenties until finally embracing it. Evidently, we're both looking to up our game and become better programmers. However, a few of his points are really... concerning. "Great code is easy to read" Not at all. JWZ's code challenges me; heck, some of the Rails code baffles me until I sit down and think carefully. A lot of code can b…

If it's Head First Design Patterns, then yes. :P

In all seriousness, I highly recommend the Head First series of books. They read so much smoother than other large reference/learning books.

As for Design Patterns, the value in that was not that I learned any specific patterns, but rather that it got me to analyze software design in a systematic way rather than a "I like this" way.

Re: Twelve Tips to Master Programming Faster

#22

Point #1 is in the same vein as Peter Norvig's Teach Yourself Programming in 10 years. http://norvig.com/21-days.html

I'm currently reading "How to write a lot" from Paul J. Silvia, where he is saying that you shouldn't try to find time for writing, but you should allocate time for writing and start doing it.

This is very similar to this Tip #1, take your calendar, find a sport where you have time each week and allocate this time to coding (or to learn coding, you are also allowed to read books about coding in this time, or do your research regarding coding, etc. - but whatever you do, it should be relevant for coding).

Re: Twelve Tips to Master Programming Faster

#23
post #15
post #12

"Something that you’ll spend 5 hours panicking to learn will take them 2 minutes to explain to you." I disagree with the mentor one. The Internet has always provided faster better and more complete answers than the "ask a co-worker" method, for me anyways.

From someone that is 100% self-taught I can say from experience that its more an issue of "you don't know what you don't know. This is the major crux of self-learning. How can google possibly help you if you don't know how to frame the problem or even what terms are involved in whatever it is you want to learn? One example I remember was learning about database optimization; how do I know to search for "normalization…

but have you ever been on the other side? seems like people ask, you explain the right way, they look at you like you're speaking greek, and go back to copy + pasting...

in other words, i think timing matters. once you're bored with the copy + pasting, you'll either listen to advice, or be on the lookout for a solution while googling.

Re: Twelve Tips to Master Programming Faster

#24
post #8

As to #6—software engineering, at a sort of medium level, is mostly object-oriented. At a high level, when talking about how to parallelize and scale, it's more relational, and at a low level, when designing algorithms, it's first very functional and mathematical, then when optimizing them, very imperative. OOP is only really done to figure out what you're building; once you know that, figuring out how you'll build i…

Agreed, at the end of the day, Programming is just structures and functions that operate on those structures. Languages like Java tell you that's a "class" and do some extra nice book-keeping to make it much more clear to say dog.bark() (as opposed to, for example, dog->bark(dog) as you might do in C), but there's really nothing super fundamental about it.

Re: Twelve Tips to Master Programming Faster

#25
All you have to do to be great is love it.

When you love it, you pass on the other stuff to do it. You buy the books and read them purely out of your own interest. You take on projects you don't have time for because they're too damn cool to pass up. Most importantly, you talk to your friends about it all the time, because it's what's on your mind and it's what you want their opinions on.

And guess what, that's not just a "Programming" thing.

Re: Twelve Tips to Master Programming Faster

#27

All you have to do to be great is love it. When you love it, you pass on the other stuff to do it. You buy the books and read them purely out of your own interest. You take on projects you don't have time for because they're too damn cool to pass up. Most importantly, you talk to your friends about it all the time, because it's what's on your mind and it's what you want their opinions on. And guess what, that's not j…

Oh, good Lord, no. If I had a nickel for every hard-slogging, monomaniacal, talentless writer, poet, painter, actor, singer, musician -- and yes, programmer* -- I'd met in this life, I'd probably have more than enough money for a down payment on a house I couldn't possibly afford to live in. Love isn't enough. Love and study together aren't enough. Love, study and application aren't enough. Love, study, aplication and diligent practice aren't enough either -- one may be able to elevate himself above equally apt colleagues, but actual aptitude counts for a lot. As does the ability and willingness to realise that most people (and therefore, probably, himself) are merely adequate to the task.

*Okay, there's a difference between self-deluded artistes and self-deluded programmers. Artistes can always claim to be before their time, misunderstood, and operating on a whole different spiritual plane. Programmers need, at a minimum, to create something that works in order to claim any success or ability at all. A real genioid can produce code good enough to receive "Works on My Machine" certification, and that can be proven to scale to five or more "simultaneous" users (depending on how many automated virtual machines he can get to hit the server from his laptop, his workstation, and that old Pentium II in the basement).

Re: Twelve Tips to Master Programming Faster

#28

The author got the 10,000 hours-rule slightly wrong. :) It's not as simple as merely doing something for 10,000 hours and then you magically become an expert. The 10,000 hours-rules refers to the act of performing 10,000 hours of "deliberate practice" (or sometimes called "deep practice") in order to become an expert. And that's something very different to simply code 10,000 hours in your day job. When googling for t…

I'm tired of seeing the 10,000 hours everywhere, there are so many counter-examples I have no idea why anyone buys it.

It doesn't take 10,000 hours to become a master striker in football, they are all young and the older you get, the worse you get. Does it take 10,000 hours to write master songs? No. Look at virtually any modern band. Not many people go through the same gruelling tours as the Beatles did before success.

Also, to pretend the complexity of the task has no bearing on the hours it will take to master it is nonsense.

You don't need 10,000 hours in virtually anything to be an expert. 10,000 hours to be a master of tic-tac-toe? No. Does it take 10,000 hours to become an expert coin-flipper? No. An expert dish washer? An expert waiter?

I also have take umbrage with the word expert. I think if anything it should be something like virtuoso, an exceptional ability, not just an expert. All of the examples I've seen used are people with exceptional abilities, not mere experts.

Ach, I don't know why I get so annoyed at it, it just seems to me that it's trotted out for totally inane lists like this one all the time.

Re: Twelve Tips to Master Programming Faster

#29

The author got the 10,000 hours-rule slightly wrong. :) It's not as simple as merely doing something for 10,000 hours and then you magically become an expert. The 10,000 hours-rules refers to the act of performing 10,000 hours of "deliberate practice" (or sometimes called "deep practice") in order to become an expert. And that's something very different to simply code 10,000 hours in your day job. When googling for t…

I'm tired of seeing the 10,000 hours everywhere, there are so many counter-examples I have no idea why anyone buys it. It doesn't take 10,000 hours to become a master striker in football, they are all young and the older you get, the worse you get. Does it take 10,000 hours to write master songs? No. Look at virtually any modern band. Not many people go through the same gruelling tours as the Beatles did before succe…

Most young footballers that becoming professionals have probably played over 10000, certainly the ones around 20 (not so much the 16 year olds)

Re: Twelve Tips to Master Programming Faster

#30

The author got the 10,000 hours-rule slightly wrong. :) It's not as simple as merely doing something for 10,000 hours and then you magically become an expert. The 10,000 hours-rules refers to the act of performing 10,000 hours of "deliberate practice" (or sometimes called "deep practice") in order to become an expert. And that's something very different to simply code 10,000 hours in your day job. When googling for t…

I'm tired of seeing the 10,000 hours everywhere, there are so many counter-examples I have no idea why anyone buys it. It doesn't take 10,000 hours to become a master striker in football, they are all young and the older you get, the worse you get. Does it take 10,000 hours to write master songs? No. Look at virtually any modern band. Not many people go through the same gruelling tours as the Beatles did before succe…

Wow, a single post where football, the Beatles, coin-flipping, dish-washing, waitering and the implied programming ... appear together.

> Look at virtually any modern band

If modern bands don't have to practice so much to be famous, that says so much more about their quality and the record labels that promote them.

And I don't see any "modern band" being as popular and as eternal as the Beatles. Michael Jackson was close, but he wasn't exactly known for his quick and painless path to success.

Post reply on HN