There’s no denying we live in a digital world. Love it or hate it, digital is here to stay. Increasingly, design jobs are asking for “front-end coding skills”, leaving visual designers scrambling to catch up. So how do you learn code and stay relevant in 2015 and beyond? Read on, grasshopper, for some insider tips and quick-hit resources.
The Good News…And The Bad News
When you learn how to code, you open yourself up to a lot more design jobs. You also can make a lot more money. Better yet, you don’t need to wait to earn your degree. There are TONS of free resources out there to help you become a coding genius in just a few months (see below).
The flip side to all this is learning takes effort. You won’t learn code overnight, and I can promise you, you’ll have more than a couple moments of complete frustration and mental meltdowns. But with the right learning skills and a little determination, you’ll be up and coding in no time.
So, let’s get started.
“One must learn by doing the thing, for though you think you know it, you have no certainty until you try.” – Aristotle
A Typical Process
A lot of designers follow a similar process when learning to code:
- Watch a ton of video tutorials, often with eyes barely open
- Maybe do the included code section – maybe not
- Get frustrated with the exercises (“Why aren’t you good at this, dummy?!”)
- Give up code for several weeks
This approach can be a huge waste of time and make you feel more than a little bad about yourself. But I promise, you aren’t a dummy. There is a better, faster way to learn.
A Better Way to Learn
“Tell me and I will forget. Show me and I may remember. Involve me and I will understand.” – Chinese Proverb
You might be saying to yourself, “Um, what do you think those coding exercises are for?” But that’s just the beginning. It’s all about timing, reflection and reinforcement.
Here are some guidelines to help you along the way:
- Have a plan.
Work with someone to come up with a linear lesson plan for learning code that’s based on your personal goals. There are so many techniques and languages out there — and so many resources to learn them — that it can be easy to learn things in the wrong order. When you don’t have a solid foundation, it’s difficult to build on it in the future. A mentor is a great person to help you work out a logical sequence that’s relevant to you. If you don’t have a mentor, ask a front-end developer if he/she would mind spending an hour with you to hash out a plan. As a last resort, search the internet. Services like Treehouse have preset “tracks” to help guide you on your way.
- Be consistent.
Commit to a schedule that works for you. Make it frequent, even if it has to be small chunks based on your time availability. Higher frequency is better than long durations of time spent at each session. Working in smaller chunks makes the information easier to process and remember.
- Watch video tutorials, but keep it short.
No more than 1-2 hours at a time, depending on your retention level.
- Follow along with your own code sample and do the provided coding exercises.
If you get stuck, seek help. Most training libraries have a great support forum. If you can’t find the solution there, try searching Google. StackOverflow, GitHub and Google developer groups are also great resources. (For more resources, check out the end of this article.)
- Take 10-15 minutes to write down the important concepts from what you just watched.
Write it down in a notebook just for your code or in an app like Evernote so you can find and reference everything later. First, try to do it without looking back at the videos. Make sure to put lessons in your own words. Then, if you can’t remember something, go back and look it up. Building on these concepts — and being able to refer to them when you forget — will help build a better foundation for your understanding.
If you don’t understand these concepts fully, that’s ok for now. Keep moving forward. Sometimes you just need to keep plugging away and looking at it from different angles. You’ll understand it eventually. That’s why frameworks can be so helpful. But avoid falling into the trap of relying on them; instead, use them to better understand! In time, you shouldn’t need them at all.
- Start working on your own project.
Apply the concepts you’ve just learned to a simple project of your own. Make it fun and/or funny. Make it something you care about and want to work on, but keep it light and simple. If your first personal project is “code my own portfolio site” there’s going to be a lot of pressure to make it perfect. Instead, if you love, say, dogs, make a funny site about all the different types of dogs. You’ll laugh and have fun with it, without worrying about it being the best thing you’ve ever done.
- Nail it by teaching others.
To cement your learning, teach what you’ve learned to someone else. You might think, “Oh no, I don’t know enough to teach someone else.” But you know more than you think. It will reinforce what you know and help you understand what you’re still unclear on. Plus, you’ll help someone else get started on the road to coding. Win-win.
If you have no one to teach, the Feynman Technique can be an effective way of “teaching”. When you’re writing down notes in your code journal, try writing them down as if you’re teaching a new student. Use simple language, as if you’re talking to someone in person, but be as thorough as you can. This technique can produce the same benefits as actually teaching someone. Try it.
For a listing of the top 10 code tutorial sites out there, read this article by Alvaris Falcon. Scroll to the bottom for a great comparison chart.
Google groups, Stack Overflow, Treehouse forum, Codacademy, Code School, Udacity, and GitHub all have a ton of thorough answers to your code questions. If you can’t find what you’re looking for, ask! The developer community is incredibly supporting.
Lastly, make friends with people who know more than you. There will be occasions when you need to have someone explain something to your face. Meetups and professional groups (like AIGA!) are a great way to meet these types of people. And if you can find a mentor, even better! People are more willing to help you than you think. It never hurts to ask.