It’s no discovery that the efficiency of our work translates directly into our earnings. The more you do, the more you earn. No matter what field you touch the pattern repeats itself.
As programmers, we face the problem of efficiency quite often, but under a different name “deadline”. Have you ever missed a deadline? It has happened to everyone. It’s all about varying efficiency. Some tasks you do faster, others slower. On top of that there are variables in the form of unspecified requirements, etc.
Have you ever wondered what would happen to your project if you programmed 15% faster? It can be done. Of course everyone has some limitations, but regular practice will help you be more efficient. Today I’d like to introduce you to proven techniques that will help you achieve this.
The word kata comes from the Japanese language and is directly related to martial arts. These are specific sequences of movements that, when repeated long enough, make you fight better. Just don’t go out on the street accosting random people right now. In our trade, we have a different kata.
Code kata. These are programming tasks that generally take 30-60 minutes. They allow you to exercise your mind, your ability to solve problems. The more you practice, the more skilled you become. A mind exercised regularly can surprise you. If you don’t take care of it, you will get rusty very quickly.
The code you produce at work is very often not very creative. You are usually moving through a familiar ecosystem, you know what solutions are expected and all you do is write code. What sets Hangman apart is that you put yourself in conditions that are not so familiar to you. You do tasks that are not directly related to your work. This exercises your creativity and expands your problem solving ability.
So find time to exercise every day. You may think it’s a waste of time, but if you want to be a professional, you need to take care of your craft.
Master of the keyboard
When I went to elementary school, we used an interesting program called “Keyboard Master” in computer science classes. Today you can find such solutions in the form of web applications. It’s all about typing text on time, trying to make as few mistakes as possible.
Doing this regularly you will see that you will write code definitely faster and without typos. If you blog, your frustration level when writing texts will be much lower than before 🙂 I know what I’m saying. While writing this text I catch myself on many typos. But practice makes perfect.
On my part, I recommend my favorite site, where you can literally race with others when writing a text.
Get into new projects
If you’ve only worked on one project for 2-3 years, you probably know it inside out. The architecture is understandable to you. You know what built-in ecosystem features you can use.
What if you were to enter a completely different project now? Would you find yourself in it fast enough? Once in a while I happen to browse through a repository of open source projects. My only purpose in doing so is to learn about other techniques that developers use. Often you can come across solutions that put your mind on hold for a while. However, analyzing other people’s code is one of the best ways to learn. Provided that the code is correct of course 🙂
Besides open source solutions, you can also work as a freelancer. Creating a project from scratch allows you to check yourself in many aspects such as implementation of proper architecture. It’s also a great way to earn extra income, which increases desire to work.
Another way to gain new experience is to create your own projects. If you gain theoretical knowledge, which you do not use in practice, you will very quickly forget what you have learned. Practice is the only way to improve our skills. We can read wise books, but only exercises allow us to consolidate knowledge.
Let me know in the comments if you apply any of the things I mentioned above. Maybe you have your own thoughts on the topic of efficiency? I look forward to your opinion 🙂