3 Helpful Tips To Improve Yourself As A Programmer

Eason Chai
6 min readJan 27, 2021
Photo by Clément Hélardot on Unsplash

Over the past year, the pandemic has affected a large number of people. Many of us are out of jobs and are constantly finding new ways to help us navigate through the harsh conditions we now find as the new normal. A large number of us are getting into web development or programming, in general, because it’s free and relatively easy to learn. It’s also a pretty lucrative and in-demand job in this day and age, which as a result has brought a lot of fresh faces to this industry.

During my time conducting talks and teaching people about programming, I realized that the biggest question (asides from which programming language to learn) is “How do I improve myself?” or “How can I be a better programmer?”. Whether you are learning programming to land a job or just to future-proof yourself, listen up.

Tip #1: Practice Solving A Need

Constantly coding and churning out websites might be a great way to practice your skills. Over time, you might learn a few neat little tricks that can speed up the performance of your code, or reduce the number of lines you write. But if you do not practice solving a need, you are missing out on an opportunity to work on two very important skills as a programmer, creativity & problem-solving.

Let’s start with how solving a need helps you improve both of these skills. Firstly, a need that remains unsolved can either be:

  1. New (people haven’t discovered it yet)
  2. Challenging (it is difficult or tricky to solve)

Assuming you are working on a new problem, you will most likely need to think about how you can solve this need. Just that alone teaches you how to think creatively & how you should solve that problem. The same goes for a challenging problem. You still need to think of creative ways to solve that problem. If you are just starting as a programmer, this can seem really daunting. However, I encourage you to start picking up your own projects once you have gained a pretty good foundation in the language/framework you are using. Don’t just keep coding along to YouTube tutorials. I have seen many people get too comfortable with tutorials to a point where they do not know what to do once they are on their own. YouTube, and tutorials in general, are definitely great ways to learn new tools, languages, and frameworks quickly, but they should never be where you stop at. They are also a good source of information which you can use to keep yourself up to date since things move really fast in this industry. But keep in mind that past a certain point, you should try to use it to supplement your daily learning rather than making it your sole focus. In conclusion, the ability to think creatively and solve problems is crucial in any industry. These skills can really take you far and propel your career forward if possess them.

Tip #2: Work With Other Programmers

The best way to improve yourself is to learn from others. This doesn’t mean you learn how to copy and paste other people’s code. You need to learn and understand their thought process. Why did they implement it this way? Why are they using this instead of that? Joining talks or events such as hackathons can be a great way to meet new, and potentially more experienced developers that you can learn from. Plus, since all events are virtual now, there is no harm in trying. Learning how to work together is also an essential skill that you need to have. Unless if you are a freelancer, strong teamwork is a must. Working with others will also give you exposure to tools like Git, which surprisingly, a large number of programmers do not know how to use.

Meeting with other people also allows us to learn from their experiences. I believe that everyone has their own unique insight about a particular topic. Learning from that insight can be very valuable even if the topic does not directly relate to programming. This is because our brains are really good at integrating and associating information to generate new solutions, much like a neural network.

Even if you are new to this space, don’t be afraid to participate in events. There are plenty of developers in this community who are genuinely helpful and will take the time and patience to guide you. You might come across one or two bad apples, but don’t let that discourage you. Also, don’t be afraid to share your knowledge with others. Sharing knowledge can help solidify and deepen your understanding on that particular subject.

Tip #3: Learn How To Shift Perspectives

Some people think that the only way to get better at solving problems or bugs is to face them again and again. Practice makes perfect, right? Well first, if you are always writing code that causes the same bug every time, you should be concerned. I’m not saying it’s wrong to make mistakes, I’m saying that if you are running into the same mistake over and over again, you should try learning from your mistakes more effectively. Some also ask me about which algorithms are the most powerful, and which ones should they memorize? To that I will say, you shouldn’t memorize any of them. Unless if you are preparing for a technical interview, these algorithms won’t be of much use to you. In fact, most companies rarely test you on any algorithm at all, depending on the role you are applying for. But the reason why so many people ask this question is that they assume that you need strong technical skills to solve problems. The truth is, you don’t.

You don’t have to be the smartest guy in the room to solve any problem. Sometimes, all you need to do is just look at the problem in another way. During a TED interview with Linus Torvalds (creator of Linux), there was a moment where he was explaining good taste in code, and there is one key point that I resonated with:

… I want you to understand that sometimes you can see a problem in a different way and rewrite it so that a special case goes away and becomes the normal case, and that’s good code. — Linus Torvalds

My tip here isn’t exactly about how shifting perspectives allows you to write good code, but more specifically, it allows you to approach the problem at a different angle, which can actually lead to a better, more efficient solution. This tip applies to everything in life, even outside of work. If you have been stuck on a problem for a few days, instead of attacking it repeatedly from the same point of view, try taking a step back and going at it a different way. If you are the type of person who jumps in and starts coding without a plan, perhaps you can try to draw a diagram that illustrates your program’s flow. Then, you can analyze the best course of action to take. It’s kind of like being stuck in a maze. If you could zoom out and get a bird’s eye view, you could easily figure out where to go.

Bonus Tip: Communication Skills

The reason why I kept this separate from other tips is that it doesn’t have a direct effect on your programming skills. However, communication is one of the biggest factors of success for any field out there. It is also often the most overlooked skill no matter what job you work. Although there are a bunch of memes and stereotypes about how programmers are huge introverts, I believe that if you are employed as a developer, you are almost instantly thrown into situations where you need to communicate what you are working on every day. These include daily stand-ups, presentations, and sometimes discussions with clients. If you can’t communicate effectively, you are at a huge disadvantage compared to your peers.

So there you go! Three tips and a bonus on how to improve yourself as a programmer. Below is a TLDR/recap of everything I just mentioned. If you instantly jumped to this section instead of reading through the whole article, you owe me 5 claps. If you found these tips insightful, show me some love!

TL;DR
1. Practice solving a need as it trains your creativity & problem-solving skills.
2. Working with other programmers allows you to learn from them and improve your teamwork skills.
3. Learn how to shift perspectives. Not every problem needs the most technical solution.

--

--