Hacker News new | ask | show | jobs
by aadilr 4922 days ago
I love the way this article dispels misconceptions and ends with practical solutions.

Does anyone know of an article that does the same for becoming a great developer rather than continuing to wade in the novice waters of programming?

6 comments

I'm not sure anyone knows the answer to that question. My best first approximation is to just jump into an open-source project and try to fix bugs. It gets you to both read code by those who are (presumably) more experienced, while also working your problem-solving skills.

Classical CS education is also important; I went to a school with a fairly math-heavy CS program so that's how I learned it. Our algorithms text was pretty good, but it's on my shelf at home, so I can't recommend it by name.

The lecture notes for CS 182 are reasonably good for the really basic stuff: http://www.cs.purdue.edu/homes/raof/cs182-f12/schedule.shtml

[edit] Not quite as complete as they used to be; it was previously all taught from lecture notes, but they now have 2 textbooks they use as well

It is said that Milo of Croton lifted a calf every day, growing stronger as it grew heavier. Perhaps it isn't very insightful, but I learned to program by trying to accomplish increasingly ambitious tasks. You'll succeed at some and fail at others. The failures are the price of your education, so it helps to choose tasks for which the price of failure is low. It also helps to choose tasks for which the reward of success is high, and to revisit your failures when you're ready to succeed. I always thought Steve Jobs' best talent was picking the right tasks to fail at, and learning to not fail at them the next time.
I recently started reading "Think Like a Programmer" (http://www.amazon.com/dp/1593274246) and I find it quite helpful.
Read the pragmatic programmer. For starters.
I don't know about an article, but tell me what you've learned so far and I can try telling you what to do next.