“I want to lose 10 lbs before summer.”
“I want to read a book a week.”
“I will eat more fruits.”
“I will give up smoking.”
“I will be more organized.”
“I want a bikini-bod this year.”
We all make New Year resolutions but they tend to be personal. Many don't last more than a month, so when we reconsider how to self-improve, why not do something relevant, achievable and, new - like learning a very important skill in this digital age: coding.
It’s common to look at a website and wonder how it was made or look at a mobile app and think, “Hey that's pretty neat!” or, “that was so useful but I wonder if it could also do that...” Even marveling at technological innovations, we distance ourselves from them if we don't know the basics in order to understand what's happening behind the interface.
The world of 1’s and 0’s was hostile territory to me, sanitized by a set of rules. Studying Arts, coding and I were like oil and water. I could not relate to my friends struggling to learn C++. Once in grad school, I took a compulsory coding workshop. It wasn't like swallowing the red pill, but when I saw my sample Web page from the lines of code I had sweated over, everything seemed to make sense in the former unknown universe. At an age where I felt the world was out of my control, coding was something that I could do by myself. If something didn't work, I could mend it. The power to build websites and databases could be mine...
If I can learn code, so can you. Instead of making monotonous, soon broken New Year's resolutions, let's make one that sticks: I will learn programming. This doesn't mean by the end of 2016, you will transform into Steve Wozniak or Google’s MVP programmer -- there will be immense satisfaction because now you're a part of a select group of people who understand the mysteries of software and the Web. It's more than within reach. Here some of my tips:
Be clear about why you want to code
Know what you need, then build up your skills. For help, as there are many resources to help achieve your goal(s).
Think big but start small
Remember, you don't need to create the next Spotify. Think small - make a personal blog, a portfolio, an app which lets you rearrange your music according to bpm (beats per minute) or even a childhood game like tic-tac-toe.
KISS (Keep it simple stupid). Facebook has 62 million lines of code while a simple iOS game might have just 10,000 lines of code. For your first project, no need to get all fancy.
See sample projects and then downsize yours to a point where you’re still learning, but, without a 20-hours-per-day commitment. A great way to start would be to attend a local Demo Day.
It's time to go to school again. (Psych!)
Even if you don’t have a full-time job or are a part-time artist, there are only so many hours per day that you can devote to coding and projects. For beginners, there are online resources like Code Academy, Coursera, EdX and many more. Though, without direction or guidance, it's easy to get lost. Choose a course and stick to it, at least until it’s obviously not for you.
Many schools have year-round classes for coders. The level of interest and the budget will help determine how much you want to invest in learning these skills. For people with time and money, an actual human teacher maybe best whether it is in the form of a programmer friend that you compensate by taking out to dinner; or, an actual coding bootcamp.
Help you will find when you ask
Now that you have started learning, look into the tools available to facilitate this process. Evoking Yoda, a programmer friend once said, “Doubt you have? Just Google it.”
The programming community is a huge resource and there are people out there who can help simplify your workflow. Many resources are waiting to be discovered online. Slay your demons by joining and accessing repositories like GitHub8, Bitbucket9 or StackOverflow10. These enable you to post your projects online, collaborate and receive help from the community.
Early projects should not be the equivalent of free diving into the Mariana Trench. Try using a jQuery library, bootstrap to build your website or ShoutEm for a mobile app. You don't need to tackle every problem solitarily from scratch. Coding maybe the only place where taking shortcuts makes you look smarter!
Befriend other coders and join the community
Developers will be your ultimate resource - they like explaining what’s happening (and you don’t even need to step out the door). They will be your support group and help troubleshoot if you hang out with the right people. Meetups are great ways to connect. Discuss problems over beers for a new perspective. If live socializing is not your thing, meet coders on online forums like Reddit or even Facebook.
Don't shake it off
There will come a time when every line of code breaks on you and logging errors is the only thing accomplished. Don't give up like your former New Year's resolution. Coding is gratifying and, like foreign languages or music becomes better with practice. You have to use it to understand it. Have another pair of eyes look at your work on GitHub or go to a meetup for advice.
Coding is a science - very systematic in its approach. Just give it a chance with no pressure and see if you fall in love. You may even change careers or become promoted with a new, in-demand skill. I highly suggest attending an open house at your local coding bootcamp to understand more. As to my New Year Resolution, I will start learning back-end development in 2016. Join me.