Live data from Hacker News

Ask HN: Tips to become a great programmer

news.ycombinator.com

1–10 of 41 posts

Ask HN: Tips to become a great programmer

#1
Hello HN,

I'm coming up on my sophomore year in college as a cs major. I feel as though I understand a good bit more than majority of other people in my classes but I still feel as if I'm only an "okay" programmer. I understand it takes writing a lot of code to get better but other than that are there any tips you might be willing to share to help me on my journey to becoming a great developer?

Re: Ask HN: Tips to become a great programmer

#2
Writing too much code can make you a worse programmer.

The real way to get better is to pick an area of study and research the shit out of it, even non-technical aspects if applicable. Go back as far as you can and read every canonical book you can find on the subject. Even if it's outdated information, it will help you see how we arrived where we are now (as long as it's not a purely technical reference).

Read those things until you feel some things click in your head. Then go back and try to write some code.

This might be difficult to do while in school though. I'm sure you're doing a lot of reading already.

Re: Ask HN: Tips to become a great programmer

#3
Don't give up learning.

Learn from your mistakes and failures.

Don't be afraid to make a mistake or fail.

Fixing your mistakes and failures is called debugging, learn how to debug.

Communication is 80% of the job, develop your social and people skills to avoid acting like a jerk, treat others with empathy and compassion.

Learn to work with others on a team, don't be a Lone Ranger, sometimes you get stuck and need another pair of eyes to look things over.

Learn how to manage stress better so you can get a good night's sleep. If you cannot get 8 hours of sleep at night, consider seeking help for that. If your stress levels make it so you cannot even get sleep, something is wrong.

Re: Ask HN: Tips to become a great programmer

#4
A few tips every developer should learn.

1) Solve the problem before you write the code.

2) Figure out what data structures to use and the code will follow.

3) Debugging is your fault, you screwed up. The language or the compiler didn't (true 99.999% of the time).

4) The difference between genius and insanity is if the algorithm runs faster.

The biggest general tip is learn data structures. They are the fundamentals, you will always use them, get used to them.

Re: Ask HN: Tips to become a great programmer

#5
From my experience there are a few things that I try to keep in mind while working.

1) Keep your code as simple as possible. In the real world if you can call your code complex or clever it is probably bad.

2) When presented with a problem don't immediately reach for the keyboard. Take some time to make sure you understand the actual problem that you are solving.

3) Good enough and working beats perfect and not working. Perfectionists make horrible co-workers and usually end up with horrible code.

Re: Ask HN: Tips to become a great programmer

#6

A few tips every developer should learn. 1) Solve the problem before you write the code. 2) Figure out what data structures to use and the code will follow. 3) Debugging is your fault, you screwed up. The language or the compiler didn't (true 99.999% of the time). 4) The difference between genius and insanity is if the algorithm runs faster. The biggest general tip is learn data structures. They are the fundamentals,…

> The biggest general tip is learn data structures. They are the fundamentals, you will always use them, get used to them.

Yes. E-R data modelling is worth learning early and well, http://www.aw-bc.com/info/riccardi/database/Riccardi_ch4.PDF

Re: Ask HN: Tips to become a great programmer

#7
There's an 80s book with fantastic interviews of programmers before they became business leaders, check out the reviews:

http://www.amazon.com/Programmers-Work-Interviews-Computer-I... & http://www.amazon.com/Programmers-at-Work-Susan-Lammers/dp/0...

Some (all?) interviews free here: http://programmersatwork.wordpress.com/

Post reply on HN