Scroll to top
© 2020 OCTOCODE

Code Kata and other ways to increase efficiency


octocode - May 6, 2021 - 0 comments

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. 

Kata 

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. 

https://play.typeracer.com/

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. 

What else? 

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 🙂

Related posts

Post a Comment

Your email address will not be published. Required fields are marked *