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.
Containerize your web development: How Docker is solving real world problems for web developers!
Working in web development? Well, then you’ve probably heard about Docker and its recent developments before. Many people call it hotter than hot. Docker containers can be a true productivity booster for your next web apps. As a web developer, it’s not that easy to understand the essence of it. This is why I’d like…
What is Software Testing?
Your software application is acting weird: it’s crashing during quality analysis and the front-end application isn’t working as expected! You need a software testing team to figure out the problem areas of your application. The testing team finds and reports bugs to the developers. The testers just saved the project team from a nightmare! That’s…
22 top CTOs of German tech companies you should follow
In a couple of weeks, we’re going to spend some time in Germany. And we didn’t want to go there without a proper preparation. We wondered what the tech scene, especially the world of CTOs in german tech companies, looks like. Therefore, we put our heads together and did some research.
Designing forms for your website: The good, the bad and the ugly of web forms.
Building a web page or web app takes a lot of time, resources and patience. I get that. And because of these reasons, the little things get overlooked. When building a new website or application, you probably count your website form as one of those little things. But it really shouldn’t be overlooked, this little…
Developing a SaaS product for a global audience #InsideSaaS
More and more SaaS companies are taking off the ground. Building and selling a product to a global audience has never been easier. With great tools and infrastructure around, even small teams can build a global product. Today’s blog post covers the challenges of developing a global SaaS product and summarizes our lessons learned from…
18 Development Conferences to Attend in 2016: Be There or Be Square!
With April 1st just around the corner, we already managed to get through the first three months of 2016. If you’re like me, you probably are looking for new things to learn and new people to meet. Conferences are a good way to catch up with new trends, meet thought leaders, and think about ways…