How To Get Better At Programming

Photo by Brett Jordan on Unsplash

Programming is not easy. Anyone who has tried programming for even a few days will agree with me on this. It takes immense mental power and grit to be a programmer. To show up day after day after feeling like I haven’t achieved anything because it is not an easy job. A computer programmer’s work requires hours and hours of dedicated practice time to improve the necessary skills.

One does not become a good programmer overnight. I notice when it comes to programmers, they feel lost and helpless on a regular basis, and sometimes multiple times a day. The most challenging part about programming is to feel like you are good at it. I have attended tens and hundreds of conferences and meetups where I meet developers in abundance, most of them share this quality of not being enough which is popularly called as the — Imposter syndrome.

To be confident about a skill is hard. Especially, like the skill of programming. This is why at some point I had to stop comparing. I remember the feeling of not being good enough for years. Then gradually I decided I do not need anybody’s appreciation or recognition.

The minute I stopped comparing myself to others I realised it was easy to ask for help. If someone knew better than me on a topic I allow them to teach me and I return the favour when someone needs help.

In this article, I want to focus on what’s required to be a successful programmer.

[Disclaimer: It’s my own opinion and experiences I share here. I would like to hear what worked for you in comments]

Mindset

You might have noticed attending a lecture was way more effective while learning than reading yourself. Pair programming is one of the fastest way to upskill and cross pollinate knowledge.

Pair programming takes high Emotional Intelligence(EQ). A while ago, I started making note of the qualities that make a good pair in order to learn better you have to know to communicate effectively with people.

It is easier for individuals who — have an open mind to different solutions, demonstrate empathy, embrace vulnerability when they are wrong, exhibit a growth mindset, are patient, and trust their teammates fully.

If you find these qualities intimidating, do not worry like any other skills these qualities are a byproduct of practice and learning.

Philosophy

Initially, when you start with a problem probably you have no idea that problem existed or how to solve it. This is a state of — Unconscious Incompetence.

But as you go you discover the problem but now you know that you don’t know how to solve it. Now you are in a state of — Conscious Incompetence.

Once you understand the problem, the final step is to tackle it by doing whatever it takes to solve the problem. If you finally end up solving it, you have finally arrived at the state of Conscious Competence.

You can always get help to upskill from devs you trust. When you pair program you go from Unconscious Incompetence to Conscious Competence with the help of a pairing partner who has the same goal as yours. The process of figuring it out together needs extreme levels of trust in each other.

Keeping an open mind to experiment with the process of learning is one of the important things a dev should know for personal development.

Work Smart [Not Hard]

You need to develop strategies and methods to learn effectively. So working smartly and making the most of your work time is the best way to go about it. Working hard is overrated. You don’t need to burn the midnight oil to achieve your goals. Set small achievable goals that aren’t overwhelming.

The process is the reward. Enjoy the process.

All you need is a learning strategy and regular habits to follow up. The habits and learnings compound over a period of time and you become an expert in your area pretty fast if you are consistent.

According to a study, if you want to be good at something practice and learn something new for at least one hour a day. In only a few months or years you will be able to know almost everything you need to get the job done.

Community

Join a community. Talk to people about you goals. Network, attend events and ask how someone can help you achieve your goals. In return offer your help with something they need support. Community is all about helping each other and people are all the more happy to help if approached.

Doing it alone is not easy, find accountability partners or mentors who are empathetic and can guide you when necessary.

Do not hesitate to ask for help. You will realise people aren’t bad after all. ;)

Let’s have faith in humanity! Our only hope. Together we are better.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store