Bike

Coding everyday nearly 10 hours for 4 years

What I Have Learned from Coding Every Day for the Past 4 Years of My Decade-Long Career

Writton on January 24, 2024 by Laup Wing

8 min read
--- views

I have been coding for nearly a decade now, around 8 years. In the beginning, it was perhaps 3 sessions a week, each lasting somewhere between 2 to 3 hours of programming. However, for the past 4 years of my coding career, I have managed to code every day. These coding sessions are not just for a few hours; there were months where I was able to code for 10 hours straight. (Note: I was using the Pomodoro technique during these sessions, but I will discuss this later in the article.)

In this article, I will discuss the most important lessons I have learned from coding each day and developing my coding skills.

Learning Less, Developing More

Let’s begin with THE most important lesson I have learned from coding every day, which is to learn less and develop more. What do I mean by that statement? The main reason why I code every day is to learn coding and become better at it. So, why learn less?

The reason for that is because learning to code does not equal becoming better at coding. You've probably heard this before, but there is something in the programming world called "tutorial hell" – a stage in your coding journey where you are constantly watching tutorials and learning new things.

Watching tutorials gives you the feeling that you are making progress and developing your coding skills. While that may be true if you are just starting out, it is definitely not true if you are somewhat further in your journey. In contrast, it will even prevent you from becoming better at programming/coding. I will go more in-depth in a separate article about this subject, but the main issue with watching or following tutorials is that you become too reliant on them. You will lack the ability to solve problems on your own.

A big part of programming and coding is solving problems, not learning syntaxes or programming languages. The problems you are solving are not only coding problems; you can think of UI or UX problems (how should you structure your frontend), what are the best solutions for the business problem, how can you solve a coding bug, what keywords do I need to type to get my answer.

All of these problems you will only encounter by coding projects, or to be more precise, developing projects. And developing on your own. Coding tutorials almost never include the problem-solving part. Everything is laid out for you beforehand, and you don’t have to solve anything.

Focus on a Few Technologies

My biggest regret regarding my coding journey is not picking a few technologies and becoming world-class with these technologies.

If you are learning to code, you probably have discovered that there are loads of languages you can learn. Not only that, there are loads of frameworks for each language you are trying to learn. For frontend alone, you've got React, Angular, and Vue. And these are only the most popular ones. Oh, and there is the backend if you want to go fullstack.

Early in my programming journey, I tried to learn them all. Every time there was a new technology on the market, I would try to learn it, consuming the content and creating yet another application. That’s why I also have over 400 repositories on my Github account.

You could say I was a jack of all trades. And for sure, a master of nothing. I knew all the frontend frameworks at that specific time and period. But the big problem here is that I only knew these frontend frameworks at a surface level. I wasn’t proficient with them.

Why is this a problem? The problem here is that you are just relearning the same knowledge with a different framework. These frameworks are the solution for the thing you want to build, and eventually, all the frameworks in a certain category do the same thing. They may be somewhat faster, but that is for most cases not an issue.

My advice? Just pick a framework that is currently popular and high in demand in your country and run with it. This way, you have the mental bandwidth for learning other parts of web development, such as backend databases or deployment technologies. Unfortunately, coding is mostly a mental skill, and you cannot maintain a long coding session unless you implement the Pomodoro technique.

Pomodoro

Just like the body, your mind also needs rest if you are using it. Although the body can endure hours and hours of intense training, the mind, on the contrary, needs more frequent rests to perform at its peak for longer.

I know this because I am an active participant in fitness as well as in coding.

What I have noticed during my intense learning sessions of 10 hours for weeks straight is that my mind can only endure an hour or two of focus each time. After that, I need to force myself to concentrate, which I did.

The results? Well, the results are that I produce subpar coding results with too much effort, and that's just after maybe 4 hours of loosely coding at max.

By implementing the Pomodoro technique, I have time for focused work. Not only that, I have also increased the total time I could spend programming each day. So, by implementing the Pomodoro technique, I drastically improved my productivity. It is unreal how much more productive I was when I implemented the Pomodoro technique.

My way of using the Pomodoro is by feeling. I do not have a set time I want to take breaks. Everyone is different, and so is every day. Some days I can focus for 2 hours straight, while other days I can only focus for half an hour.

The key here is to take breaks after you feel your focus is fading away. The break should be around a quarter of the time you spend focusing. So, if you have focused for, let's say, an hour, take a 15-minute break.

But really take a break. Spending time on your phone DOES NOT count as a break. What I do is I meditate every time I take a break. The key to the break is to let your mind really rest. Make some tea and just look outside, really let your mind rest.

To take full advantage of your Pomodoro and improve on it, you should try to enhance your level of focus each time.

Improve Your Focus Each Time

This tip, I have recently applied to my routine, and I am really bummed out that I have not applied this sooner in my journey. Although the Pomodoro technique on its own is very good for productivity, it is so much less effective if you are listening to loud music and doing 10 other things at the same time.

After reading the book "Deep Work" by Cal Newport (who is also a fellow computer programmer/nerd), I have come to the discovery that focus can and will improve your productivity and the quality of work multiple times. And I can confirm that it is more than the truth.

Nowadays, the ability to focus becomes harder and harder. To keep a long story short, social media is training us to have an attention span of a goldfish. The constant stream of dopamine hits and short-form media shaves our ability to focus and concentrate on skills.

In order to combat this, you have to actively improve your ability to concentrate and also actively reduce your consumption of short, quick social media content. I don’t want to go into depth about this subject, but it's really important that you keep tabs on your attention span. I will probably write a separate article about this.

The main component you want to take away regarding focus is to try to expand the time you can focus on a task. Maybe you start off with only 15 minutes of focused work. That is okay. Gradually expand it.

Also, remove ALL distractions from your environment. If you have games on your laptop, uninstall them. Are you logged in on WhatsApp, Instagram, and Facebook on your browser? Log out of all of them. Even turn off your email notifications. This may seem extreme to some. But know this: Every time you get distracted, it takes at least 15 minutes to refocus on a task.

The last tip I want to add to focus is to listen to music that doesn’t contain any lyrics or distracting tunes. Again, you want to improve your focus. Music is often used to distract yourself from the work you want to do. I usually listen to white noise during my coding sessions.

But I will not lie; after maybe 6 hours of really focused work, I allow myself to listen to some rap music. That works for me because after 6 hours, I often do some light work that doesn't require my full attention.

Those are all the tips I can come up with for now. I have learned more during my daily programming journey and extreme sessions of programming. But the points mentioned in this article are the most important ones. Hopefully, you have extracted some value from this article, and good luck on your coding journey.