Live data from Hacker News

How did you go from being an adequate to exceptional programmer?

news.ycombinator.com

1–10 of 22 posts

How did you go from being an adequate to exceptional programmer?

#1
I'm new to web development and am primarily self-taught. I know enough to get my own site live, make it look good, and make somewhat nuanced decisions about its architecture and the best method for accomplishing X task.

But now I feel stuck. I just started working full-time as a software developer (!) and was hoping this experience would help me learn a ton--however, for whatever reason, work is relatively slow and I end up doing what I already know or am left out of any "teaching" going on.

I'm a little nervous I'm stuck when it comes to my skills and don't know what to look/ask for next. What experience/situation allowed you to learn the most? Was it an awesome mentor, a great freelance project, some course you took? Is it something I could find at work or does real learning come when you're working on your own projects?

Re: How did you go from being an adequate to exceptional programmer?

#2
The three great virtues of a programmer are laziness, impatience and hubris. I picked up some skills from the first guy I worked with out of college (pair-programming is great), but more important than that was the attitude. Cultivate a sense for when you're doing something by hand that the computer should be able to do for you, then figure out (or ask someone) how to get the computer to do that. Keep doing that and in a few years what you do looks like magic to your previous self.

Re: How did you go from being an adequate to exceptional programmer?

#3
post #2

The three great virtues of a programmer are laziness, impatience and hubris. I picked up some skills from the first guy I worked with out of college (pair-programming is great), but more important than that was the attitude. Cultivate a sense for when you're doing something by hand that the computer should be able to do for you, then figure out (or ask someone) how to get the computer to do that. Keep doing that and…

Thank you--those are three things I suppose I could get better at. :)

Re: How did you go from being an adequate to exceptional programmer?

#5

Teach yourself more about the tools you use, like frameworks, servers, OSes, editors, etc.

Well, what do you mean by "teach yourself?" It's one thing to read up/use trivially vs becoming fully competent at speaking about it and using it. Or is it normal to be googling things every day until it sticks?

Re: How did you go from being an adequate to exceptional programmer?

#8
I will give you one general advice about getting exceptional at anything which should also apply to programming. When you learn something, try to learn the "why" of it and not just the "what and "how". Once you master the "whys" of a topic, you will realize you have got really good at it already. Challenge yourself and others about conventions and understand why things are done a certain way. What if you try to do it differently ? Does that make sense ? Does it make it better or worse ?

When it comes to programming,learn to break things. In programming, it is easy. Put bad code on purpose and see how and why it breaks ? I remember one of our excellent CS professors who told us that the best way to learn pointers in C/C++ is to write pointers that don't work. Leak some memory. Create null references. I never understood that for a while but now I do.

Oh and the common advice: practice practice, practice. Do the same thing over and over again even if it is repetitive. Again to give you an example, I was really good at Math as a kid and I remember I got even better when one of the teachers gave me a book in which for every topic, there were 50+ questions that were very similar. he wanted me to do all 50 of them. I was like "why cannot I just do 3-4 of each type and move on to next". But again, after doing the 50, I mastered it.

Having said all this, I don't think I am exceptional at most of the things (certainly not programming) but I am so sure that these are some of the actions that makes one exceptional.

Re: How did you go from being an adequate to exceptional programmer?

#9
not saying that I know anything, but from what I can tell it is time and practice. Don't think that something is "beneath" you, just keep building stuff. Read books, talk to other people that know something. Talk to people who don't. I am not sure if you should ever reach being an exceptional programmer, because there is always more to learn. Also: depending on the language, try to solve problems without looking up how to solve it, and then compare your solution to other peoples. You may solve the problem, but sometimes you can be quite surprised about how much more someone knows, so they can teach you little things that really deepen your understanding of a language.

Re: How did you go from being an adequate to exceptional programmer?

#10
post #8

I will give you one general advice about getting exceptional at anything which should also apply to programming. When you learn something, try to learn the "why" of it and not just the "what and "how". Once you master the "whys" of a topic, you will realize you have got really good at it already. Challenge yourself and others about conventions and understand why things are done a certain way. What if you try to do it…

This is really helpful advice--being primarily self-taught, I've probably missed out on a lot of the "whys." Thank you. :)
Post reply on HN