How Can I Get Better at Programming?

Recently, I spoke at Cal Poly Pomona to kickstart their Hackathon, Hackpoly 2015: Hackpoly 2015 Keynote Speech — Your Roadmap to Success

I shared my personal story then covered these key points as the basis on how to become a better programmer:
 
1. Consistent and Neverending Improvement.

The first thing to do would be to start with a base of principles, beginning with a Japanese philosophy called kaizen.

What is kaizen and why does it matter to me?

Kaizen is a philosophy of consistent and never ending improvement. To give you an example of just how important this philosophy is, I will share with you a story from a few weeks ago.

Currently, I have been driving a Jaguar for the last 3 months. Prior to that, I had an Infiniti. For as long as I have owned that Jaguar, I never touched my Infiniti. Not once, until two weeks ago. When I got behind the wheel of the Infiniti, I had absolutely no clue how to move the seats, turn on the radio, the a/c or anything. Since all the buttons are placed differently, it was as if my mind had forgotten every single way to function the vehicle.

Now why am I sharing this with you?

It’s simple. Because each day, we either grow or we die. If we practice what we are doing, we will continually get better. The moment we stop, we lose all familiarity with what we are doing. When you are writing code, you may get distracted and want to digress. But when you do, your skills will also deteriorate. So we need to stay focused on continually practicing what we do each day.

Whether you practice on your own computer or on a public network like Stack exchange or Github, get out there and continually work on improving yourself.

2. Desire.

Now I’m sure that everyone in programming sees the huge implications of what a career in programming can do for their future. However, let’s be real some of us are in it just for the money.

Let me let you in on a little secret. If you’re in the programming career just for a huge payday, you won’t make it. Not just that, doing things solely for the money will eventually make you hate every second of what you do.

How do I know?

Because that’s what I did with my prior career in sales. Sure, I made great money. However, I hated every moment of my life. That hate for my life caused me to tumble towards a downward spiral.

You need a strong desire for what it is that you do. If you don’t, then you’re wasting your time. Get out now and go find something else you’re interested in doing.

I wrote online for a year and a half without getting a direct pay day from any single article I had written. I didn’t do it for the money. I did it for the social impact. I built a desire within myself to rid myself of all my selfish desires that had caused me to fall so far from grace, and rebuilt myself to who I am today by making a decision.

That decision I made was to give back. To empower others. To help everyone I could get over all their trials and tribulations, their hardships, and their failures by sharing my own stories. I wrote with one goal in mind: If I could touch the heart and soul of one person, inspire one person to take action, inspire one person to not give up on hope and to live another day, then there would be value in my work.

Why?

Because I was thankful that someone had done that for me. However, in return for my good deeds, I became someone that people had sought to have on their team, on their side and within their companies.

So I continued onwards.

3. Starve ego, feed soul. You don’t have to be born a good programmer.

I starved my ego, but fed my soul. Next thing you knew, as time progressed, people took notice in my writing. My inbox flooded with thousands of messages, people had told me that I had helped them live another day. People had told me that I inspired them to take action. People thanked me for what I had shared.

But let me let you in on a secret. I didn’t get to where I am today because I was born an amazing writer. In fact, in high school, I was a C student in English. It wasn’t until a few years ago that I decided to divulge myself into writing. I read every newsletter I could. I studied all the marketing collateral I could find. But how exactly did I do this?

4. Stockpile resources. Copy. Find Your Style.

Like a squirrel preparing for winter, I stockpiled resources. One of my biggest secrets to my success, that I can share with you is how I was able to cultivate my own style. In writing, and in programming, there are a lot of samples out there. For me, I have millions upon millions of books to read from. For programmers, there are tens of thousands of examples of sample code posted on the internet.

What I did was I found a few of the top 100 authors I could, such as James Altucher, John Maxwell, Don Miguel Ruiz and others. I wrote down their books word for word. What this did for me was it triggered my subconscious mind to figure out why each author had written the way they did. It let my brain understand the trigger points on writing specific words in certain places. As a programmer, I urge you to copy as much code as you can.

Now, this isn’t something that you go out and publicize as your own work. Why? Because you didn’t create it. Just as I had not written the books of these great authors. Instead, what it does is it allows your mind to see why each programmer chose the style they did. Each programmer can write the same program using completely different lines of code. Some can use hundreds of lines. Others will be lean. As a writer, my duty to my reader is to make sure that my content is simple and easy to digest, with as little words as possible. As a programmer, ultimately, this process will help inspire you to create your own methods to creating a leaner style that you can call your own.

Once you begin to find that style, publish it for the world to see. Put it on Github. Stackexchange. Whatever other network there is. Start to help others in the process of fixing their code. Put your desires behind you and become altruistic in what it is that you do. In return, the market will reward you by opening up the doors to other opportunities and success, as it has done for me.

5. No Expectations.

One of the problems I had when I went through my failures was that I always had high expectations to get to where I wanted to be. I wanted a Lamborghini. I wanted a mansion. I wanted to make $500,000 a year. As long as I wanted something, the world did everything in it’s power to stop me from getting it.

Quite frankly, if we were to sit down a year and a half ago and you said “Leonard, in 1.5 years, 10 million people will have viewed your content.” I would call you crazy. There was no way that I could even fathom this kind of success. So I didn’t try. I didn’t expect. I went back to a time when I was young, in the jungle gyms at school, when I used to hang upside down without a worry in the world.

Did I care what happened tomorrow?

No.

All I wanted to do was soak up the moment and enjoy my life as I knew it.

It wasn’t until I rid myself of all my expectations that I was able to get to where I am today. By regaining that childhood mentality I once had of living each day to the fullest, without expectations, I was able to get to where I am now.

6. Baby Steps.

Now, you’re probably looking at my life, comparing it to yours, thinking it’s impossible to get to where I am. Let me tell you something, I know how you feel. I felt the same way when I first started writing. I thought it was impossible to have this kind of visibility, to have tens of thousands of followers, or to even be approached for the opportunity of my lifetime. 
However, these things have happened. Not because I made great strides in my career. Instead, I played it safe. I played it as safe as I could. I took baby steps to get to where I am now.

My first month, I had 102 views on my content. The next, 3000. Afterwards, 61,000! How did that happen? I’m not quite sure, but all I did was spend a few hours writing a couple new articles every other day. I didn’t make goals to dominate my industry. I made little tiny goals to create new articles every other day. Somehow, when momentum compiled together, it pushed me into success.

Inch by inch and it’s a cinch. Yard by yard and it’s hard.
 
7. Enjoy your results.
 
After you follow these steps, you will see results as I have in my career. Go out and reward yourself for your accomplishments with an ice cream or a beer. Celebrate and continue to move onwards.
 
8. Take action.
 
Luckily, since I took the time in figuring out how to improve my life, it helped me create an outline, a shortcut, or even a life hack for you to get ahead by following this roadmap I had created. 
 
But the most important step of all is this. In order to become a better programmer, the first thing you need to do is take action. Go out there and start working on becoming a better version of yourself.
 
If you have the dedication to stay on course, I’m sure you will get there as well.
 
If you follow these 8 steps, then you will ultimately become a better programmer.
So to sum things up, to become a better programmer, you need to:

  • Consistently improve.
  • Like what you do.
  • Realize it doesn’t matter where you start.
  • Stockpile resources.
  • Study.
  • Copy.
  • Implement.
  • Publish your work.
  • Give back / help others.
  • Practice daily / every other day.
  • Have no expectations.
  • Take baby steps.
  • Reward yourself.
  • Take action.
  • Be dedicated to your craft.

If you liked this post, recommend it.

Leonard Kim consults startups and write books. He also blogs at LeonardKim.com.