You'll never get what you want.

People sometimes ask me “How can I get good at programming?” “How can I get really good at Javascript?” The sad thing is, I don’t bother answering these questions any more. What inevitably happens is, I give people a list of things to read and try out, then come back 6 months later to find them in exactly the same spot. So what’s going wrong here? I think they’re after the wrong thing.

The problem here is that they know what they want to be, not what they want to do. The reason this is important is because there’s only one answer to these kinds of questions. Work hard at it. Do lots and lots of it. Do it every day. Do so much of it that it starts to affect you. The funny part is, by really enjoying what you’re doing, you inevitably get good at it. As they say, practice makes perfect. If you want to be a famous guitarist, you have to play and play and play guitar until your fingers bleed. Like Mr Olympia Ronnie Coleman says, “Everybody wanna be a bodybuilder; ain’t nobody wanna lift this heavy-ass weight!” You can’t really disagree with someone who uses 200-pound dumbbells.

At student conferences, people ask what they should do once they’ve finished University. Unfortunately, the best answers I can give are:

Don’t ask for too much money

There are loads of people coming out of Uni expecting a £38k salary. You can get it, but it won’t do you any favours. Either you’ll be unqualified for the job, or you won’t have anyone to learn from. Seriously, take a pay cut, for a year, and work hard under someone who’s way, way better than you. It’s kinda like an internship – you won’t get rich, but you’ll be better off for it. Plus, money is useful, but ultimately it’s bullshit. I’ve been wealthy and miserable, and I’ve been broke and happy. Key words here: “Shared accommodation.”

Take your time

Even when you’re blasting through a prototype, and you can get it done in a day, there’s still time to sit back and just think about it. In a way, rapid prototyping tools fail us here, because they encourage diving straight into development too early – especially when the whole team consists of one developer. Unfortunately, our brains don’t work that way, and you’re destined to forget something. I built a project recently which I nearly put live before I realised it didn’t actually have any navigation. Everything worked, but there were no links to get from place to place. I was rushing. Not only that – you never know where and when your ideas are going to come from. If you proceed slowly, I’ll bet you anything you have more ideas during development that you can then integrate, which is far better than tearing your whole application apart later on. Key words here: “Make haste slowly.”

Your code sucks.

If you think you’re a genius, that’s great. But you’re not. Even if you are, realise that you aren’t. Even if you actually are, keep it to yourself. Key words here: “Show, don’t tell.”

All code sucks.

The corollary to the previous point, this idea is meant to remind you that opening your source code is not the same as showing off your faults. The cool thing about the open-source community is that it’s helpful, not critical. If your code has some bits you don’t get, politely ask for help.

Enjoy it.

There’s no substitute for really enjoying what you do. You’ll be more productive, and people will want to work with you. Don’t complain about what other people are doing wrong, fix it. Try not to be negative about people, or code. If there’s one thing that’s certain in this industry, it’s that you’ll have to fix stuff you don’t like. So get used to it, and learn to enjoy it. Key words here: None. You’re getting paid to fuck around with computers. It’s awesome, and if you don’t like that, then you should do something else for a living.

Fix other people’s problems.

This is a business model in itself. Learn to enjoy solving other people’s problems. Notice how they react when you solve something, or when you give them something they can enjoy using – it’s really, really rewarding. Don’t get into tech support, though. Key words here: I’m trying to spin programming as altruistic.

Like I said, there’s no easy route. If you’re looking for the quick way to be well-known, or to be really good, or whatever – you’re looking for the wrong thing. Look for whatever makes you happy today, and tomorrow und so weiter. That’s what you should do.

Long story short, do what you enjoy. Do it lots and lots. You’ll get better at it. There’s no easy way to success.

29 November 2009
13 comments
Viewed 14,837 times



Archives:
I love the approval process.
On Failure
•  You'll never get what you want.
Highlights of Buildconf
Announcing Chatrbox
I forgot to eat lunch yesterday.
Release open, release awesome.
On Usability
Speed: The Secret Code of the Baristi

Comments (13)

Love this post especially the last point.

I helped someone out on a forum the other day with a few problems they were having with their site design. I looked at their code and seen they were doing a few thing wrong. So i fixed the problems with their code and sent them a link back & they are really grateful of my help.

Seanhood Sean Hood (@SeanHood)
3 months ago

I agree, the last point is a great one. I've learned more from helping other people with their code than from all the reading and coding I've done for myself combined. I've been a member on a programming forum for the past 9 years and have written over 18,000 posts answering people's questions.

Helping someone else out with their code requires reading and understanding their code, which if done enough will really make you an expert at understanding others' code even if the coding style doesn't match your own. You'll pick up on new languages and new paradigms easier.

Helping someone else often also involves doing some basic research, so you become an expert at finding and reading tutorials, language manuals and API documentation very quickly. Another skill which transfers into being a more productive and effective programmer in your own work.

Djg Dan Grossman (@djg)
3 months ago

I wish more people I work with understood this.

Mfloryan Marcin Floryan (@mfloryan)
3 months ago

totally agree wit all the points.....enjoy wat u do....do it again and again..fix other's problems....very true..i hav been answering in allexperts and it has helped me so much in learning new things.u neva knw few problems unless u face them or someone comes to u for help..
there is no easy way to success !!

Ameerirsh MD Ameer Irshad.H (@ameerirsh)
3 months ago

"Look for whatever makes you happy today, and tomorrow und so weiter."

Great sentiment, and I agree completely. Harder said than done, n'est pas?

Figelwump Vishal Kapur (@figelwump)
3 months ago

Elliott, quality post mate. That last point is great, it's the kick you get for helping people!
Completely agree with all of this!

Dougaitken doug aitken (@dougaitken)
3 months ago

I think this is great advice for people looking to do anything, really. Sometimes, people will go out and find a path on their own--I found mine programming. I love what I do and I'm glad that I get to do it every day. (not that it doesn't have its moments.)

I also think you nailed it on the head when you said, "they’re after the wrong thing." I could be wrong, but fame and wealth seem to be side-effects of working hard at something you love. People reward passion.

Weilawei Rob Crowther (@weilawei)
3 months ago

Love it, spot on.

Mynameisharry Harry Llewelyn (@mynameisharry)
3 months ago

Amen !!!

Iceberg4u Sumiran Pradhan (@iceberg4u)
3 months ago

I agree with the the sentiment of this article but, when thinking of your career, the meat of it is:

- "…money is useful, but ultimately it’s bullshit."
&
- "Look for whatever makes you happy today, and tomorrow und so weiter. That’s what you should do."

Aarlof Aaron Arlof (@aarlof)
3 months ago

humnn nice post.

Dharmmotyar Dharmveer Motyar (@dharmmotyar)
2 months ago

Long story short, do what you enjoy. Do it lots and lots. You’ll get better at it. There’s no easy way to success. great sentence and very inspiring one.

Rakshaaanand Anand Raghavendra (@RakshaaAnand)
about 1 month ago

Dropping knowledge, fantastical post. Enjoying what you do and understanding that "talent" is the hours put into something you enjoy keeps me grounded. Very inspirational indeed, thank you.

Iamglenn Glenn Weatherson (@iamglenn)
8 days ago