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.
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.
3 months ago