A while ago, I published some ideas on how to become a faster programmer on Quora. Since then, people have left comments and wrote follow-up questions.
I think I have dipped into an interesting topic and decided to collect my tips in a blog post. I hope you’ll find it helpful and it will make your life as a programmer more productive.
What does fast even mean?
When I read the question of how to be a faster programmer, my initial reaction was: ”What does fast even mean?”.
If you’re like me, you might say that being fast has nothing (or at least not much) to do with being a successful / productive programmer. Right?
The journey of a programmer.
Let me be absolutely clear. I’m not going to you show you how to become a programmer or how to become a great one.
So, if you’re looking for a guide or resource on how to become a programmer, I recommend to check out this blog post instead.
Fast vs good vs cheap
Price & quality of code play an immense role when thinking about speed. And in many software projects, shortcuts are taken in order to achieve the goal of being fast.
Being fast and successful.
Today, I’d like to give you some inspiration on how to become a faster and more successful programmer.
It might be a roller coaster ride, but once you’re there, you’ll be impressed and proud of yourself.
So, let’s get started!
Most time isn’t spent on programming.
If we take a closer look on the time spent as a programmer, we’ll see that programmers spent most of their time doing other things than programming.
Here’s a list of things which take a fair amount of time:
- Reproducing and fixing errors or things which are simply not working
- Writing experimental code to test some idea
- Searching (googling) for problems you face
- Writing test cases and conducting tests
Practice makes you faster.
There’s one paradigm in programming. And the paradigm is called practice. Practice is everything.
Practice will make you:
- Faster at navigating
- Faster at reading
- Faster at articulating your problem &
- Faster at finding solutions
With practice, you will become a much faster programmer. Trust me.
Putting yourself in focus mode is an important tip when it comes to being faster. Emails, Slack, Skype, Facebook, Twitter and so on should be secondary.
Believe me or not. All these notifications shooting across your screens are giving you a hard time focusing on the more important things.
2.8 seconds and you’re out.
That’s the amount of time it takes you to get distracted by something.
Managing those distractions is one of the first steps in order to become a faster and better programmer. So better manage your distractions well.
Using the right tools.
If you’re like me, you probably enjoy testing new tools and software. There are so many tools available for every single aspect of the programming process.
And even though that is fantastic, it is also very distracting. And it can make you very unproductive.
Setting up an effective toolchain straight-away isn’t that easy. From idea generation, to first prototypes to an up-and-running system. In this previous blog post, we’ve shown you a very effective tool set for web development which you can regularly use to turn your ideas into real web applications.
I know what you’re thinking: How should slowing down help me be a faster programmer? Isn’t that a conflict?
No. I don’t think so. Let me explain.
Let’s take a second and consider what you’re trying to achieve:
- As a programmer you want to be in full command of your powers.
- You have a clear outline of where you are in your project and where you need to go and what needs to be done.
- You want to have a sense when you or the project is going in the wrong direction.
With that in mind, you probably understand where I’m heading. Slowing down helps you to stay on track and keep those goals in mind.
Slowing down can be achieved through the following “techniques”:
- Get enough sleep: Nothing has a higher impact on your productivity than a healthy sleep cycle
- Change location: Creativity can be fostered through location change. Get out of your office from time to time and simply walk around or put yourself in a new work environment (like a coffee shop).
- Listen: Listening (to other people, podcasts, audiobooks, etc.) not only helps you to slow down when things are busy, but also sparkles creativity.
Wrapping it up.
There are a lot of things (which might help you to be a faster programmer) which I haven’t tackled here. You need to have a clear understanding that programmers spend their time with a lot of other tasks besides the real “programming”.
Last, but not least I’d like to keep it with Jeff Atwood’s words:
- Stop theorizing.
- Write lots of software.
- Learn from your mistakes.