For the past 6 weeks I have tried lots of different things to start learning to code.
At first I started with Codeacademy to get a basic understanding of html and css. That’s a great way to start out with I believe. At the same time, if you are trying to create a true habit around learning to code there was a slight problem: not having an actual project that you are working on can soon get you bored and drop off.
Learning the traditional way it is practiced in schools and universities by following courses, textbooks and the likes made me a lot less productive. And more importantly it made me less psyched about what I was doing.
So instead, I launched quotespire, a simple site that lets you browse through inspirational quotes that you can Tweet and Buffer. This is a lot more fun. I can treat it as a playground, take it down and break things. Most importantly, it is real. It is out there for people to see, can gain traction, feedback and lots more.
The more I learn, the more fun it gets. So I tried to dig a little deeper on what it is that motivated me to learn to code and how I go about writing little chunks of code daily:
Learn something new every day
The art of getting started with anything new is something I wanted to really focus on with learning to code. The key I believe to doing this is to create a habit.
For the last week, I successfully put in 1 hour of code every evening. The triggers to get this habit going were twofold I believe:
- Buffer (comfortable) vs Coding (uncomfortable): With my daily work on Buffer, I feel very comfortable. We are in a great flow and whilst I’m are learning lots of new things, it is feels a lot like riding a wave. With coding on the other hand, I feel like being tossed into cold water. It is new and uncomfortable – on a whole different level. This creates a fantastic experience. You have nothing to lose, you can break things and enjoy the steep learning curve of being a newbie.
Tagging my coding habit to this feeling of being able to play appears to be the most important aspect.
- Craving when “it works”: When I asked my Co-Founder Tom “Why do you love coding?”, he answered this: “Whenever I think of something to do, and I have two choices, coding always wins, so I code.” I found that incredible. Developing such a craving and joy for something so that it wins over nearly any activity you do is probably what Jobs meant with “doing what you love”. I am starting to get that feeling of when all your code runs together and then shows up as a working view on your website more and more. And it is purely addictive.
I learnt that both points are sustainable to use them as triggers for my habits for the next few months.
Understand the people you work with
Another reason why I started learning to code is to get a better understanding of the people I am working with. It makes a huge difference to be appreciative of the hard work the techies on our team are performing every day.
The example of someone saying “I had a great day and spent most of it on refactoring the site” made little sense to me before. Now, that I know what this means and can even grasp it myself, I feel a lot more connected to everyone else’s work.
This goes hand in hand with the fact, that my own work becomes a lot more productive too. I still have nearly no clue what “coding” actually means, yet I can try to do a lot of the thinking involved when it comes to code. A simple, yet powerful example is probably fixing bugs. It makes a lot more sense why you need to be able to reproduce something, try different browsers or clear cache or cookies to fix problems.
Freedom to do anything
“Every habit you develop has to have a higher purpose or belief to make you stick to it” – writes Charles Duhigg in The Power of Habit: Why We Do What We Do in Life and Business.
My higher purpose for coding is very much inspired by Joel’s thinking, which goes along the lines of this:
As a tech entrepreneur, you want to be able to cover all aspects involved in building a startup: Marketing, PR, support and of course coding. It gives you a huge level of independence and freedom.
For me, as I’m working daily on marketing, PR and support for Buffer, the one side that is clearly missing is tech. By learning the fundamental things needed to build my own web app, I am completely free to build my own things in the future, without having to rely on anyone. That’s a very powerful. At the same time, it isn’t something that gets me motivated on day to day basis, because the goal is so far way. That’s why I tend to focus most of my efforts on the first two “wins”.
What were your experiences with coding so far? Have you thought about learning to code? If you are already a coder, which techniques are you using to learn the fastest?