The Honest Answer To: “Can I learn to code?”



We are seeing it more and more, PSA’s and sites like Code Academy urging everyone to learn to write code. We are also seeing a new class of ‘entrepreneurs’ who quickly realize they lack the coding skills required to make their idea a reality. With this increased interest in programming, the same question is frequently asked: “Can I learn to code?”

There is a problem with this question however, and that is the definition of “code”. Lets look at the boring dictionary definition:

Code – to translate (a program) into language that can be communicated to the computer.

Going off this definition, then the answer to the question is: Yes you can learn to code. You can learn how to put words and numbers into a computer and have it understand the instructions. In fact, put some equations in excel and watch the output be computed. Congratulations! You technically just wrote code. If that’s the answer you were looking for, read no further and have fun being a ‘programmer’.

Kept reading? Good. We had to weed out the readers who were seeking instant gratification; don’t expect that with programming. At the most basic level of programming everyone can do it, but if we look at the real world of code, then the answer becomes less clear. I would argue the real definition of knowing how to code falls into two camps: Hobbyist and Professional.

Your success when it comes to learning how to code depends on what your aspirations and motivations are. If you want to learn to code to be a software developer, then buckle up and prepare for a long, bumpy ride. It is going to take a lot of practice to be proficient enough to be a real professional programmer (we are talking years here). You might be able to fake it for a while, or potentially find a job that only requires very simple programming, but good luck building a career with that. Programming is a special craft, and a very complex one. Just like medicine or law, professional programming requires a lot of special knowledge and experience.

However, don’t let that discourage you, many of the best developers started programming as a hobby (this author included). The beauty of code is that anyone can attempt it, and trial and error is often one of the fastest ways to learn. Trial and error with medicine might kill someone, and with law may result in incarceration. With programming the usual worst case is you lose some data. If you pick up programming as a hobby, and truly enjoy it, then you will automatically become proficient. The desire to learn, and the need to make something, will lead you down the path to becoming a real developer.

If you want to learn to program solely for money, or so that you can create your startup idea on the cheap, I would advise against it. If you don’t love programming, then you don’t want a job doing it. (Seriously. I love programming and I still have days where I try to figure out what else I’d be good at)

So when does a hobbyist consider themselves a programmer? I’m going to say it’s up to the individual. I can swim and throw a football, but can I swim like Michael Phelps or throw a football like Peyton Manning? The answer, in case you are wondering, is f@#k no. That’s why I don’t go around calling myself a swimmer or a quarterback. Obviously you don’t have to be the best to ‘know how to code’, but before thinking you do, take a moment to do a serious self assessment. It’s ok to say you program as a hobby and that you ‘know how to code’, just be aware of the difference compared to a professional.

So to finally answer the question: Yes, you can learn to code if your heart is in it and you are eager to make to a computer do your bidding. If you have a true passion for programming then experience, money, and opportunities will follow. I encourage you to check out sites like Code Academy and to give programming a shot. If you don’t like learning it, you’re not going to like doing it for a living or a hobby.

Coding isn’t for everyone, and that’s ok.

5 thoughts on “The Honest Answer To: “Can I learn to code?”

  1. With respect to coding for money – that’s how I started. I figured it would pay well, and I went to school for it. I was mediocre, at best. I tried to do good work, but I didn’t try to learn more than I needed to know for the task at hand.

    But as work responsibilities forced me to learn new things, I developed more depth and breadth to my skills. And I reached the point where coding wasn’t just a job – it was a lot of fun, and I read books on different software technologies and I try to hack a little (in the positive sense of the word) for fun. I may not be great, but I’m better than mediocre now and still trying to improve.

    To me the lesson is not that you need to love this out of the gate – if you don’t love it already you will learn to love it once you’re competent. The lesson is that it takes many years of hard work to become competent. This isn’t a sprint, and it’s not a marathon. It’s a few sprints per day for years.

  2. Good point, well made.

    I’d love sites like CodeAcademy to succeed. I’d like my family and friends to feel the satisfaction of writing good code. But the reality is that programming isn’t instantly gratifying, and you’re right – it takes years to be a good programmer.

  3. I have often answered that question with an analogy. It is a little like playing a piano. Anyone can learn to play chopsticks in a few minutes but becoming an accomplished piano player takes many years of effort and hard work.

  4. I am on the side of wanting and needing to learn to code because I have a start-up idea and:
    A) I don’t want to find a Technical Co Founder just to be able to get MY idea started. Plus they are hard to find and you need their buy-in to your idea.
    B) I don’t want to pay someone top dollar to build a prototype for me. And yes, I could hire a freelance from overseas but who knows what type of code they’ll produce
    C) Because I need to know the technology behind my idea
    D) Going back to college for a CS degree is expensive and a waste of time – I could be using that time to get my idea off the ground
    E) Because I am capable and motivated

    “If you don’t love programming, then you don’t want a job doing it” I think there are other reasons to learn to code without having to “love it.”

Comments are closed.