I’ve deemed, rather unofficially, 2016 the year of code. The reasons being: 1) that I’ve worked with websites, blogs and content far too long to really have ignored deeply understanding what’s going on beneath all these platforms and 2) because I need one particular focus to guide me through the year.
Then there are a whole bunch of other reasons too. Like secretly hoping to turn what I learn into a future income stream, or to leverage what I learn in order to deliver more value to the people I work with (or have worked with in the past).
And finally there’s the reason that it’s fairly cheap to learn and that I didn’t fancy blowing 40K on an aircraft pilot course just yet.
Anyway, I started in the first week of the New Year. And here’s what I’ve learned thus far.
Learning To Code Goes Well with Traditional Note Taking
I first breezed through the initial lessons on coding HTML and CSS thinking I’d pick things up through practical use and a kind of semi-osmosis. Sorry to say it’s hard to recall information that way, unless you’re spending 12 hours a day just breaking and fixing things (by which you’d learn rapidly of course).
What has proved useful for me is a good, old-fashioned note taking system, for which I use Evernote (digital of course, but pen and paper would work just the same) and log different notebooks for different courses and learning tutorials.
Doing this allows me to search through the information I collect super quickly. So, if I want to apply some HTML-form trick I learned, I can bring the notes I took on that lesson up quickly and get to work solving a problem.
I also try to look and skim through the notes I’ve taken at the beginning of each new week. I figure I might recall more stuff this way. Or, at the very least, build my own personal bank of knowledge.
It’s Important to Actively Keep Learning Every Day
Like all things I’ve attempted to learn in my life, coding is no different in that it requires checking in each day in order to develop deeper knowledge and skill.
And although it’s one huge minefield of potentials and coding languages, checking in, no matter how serious your learning commitment, each day, is an absolute necessity. It will help hugely.
Whether that means watching a couple of related YouTube video tutorials (recommendations later), or using certain apps while you have some down-time, there really is no excuse to at least learn something new or familiarise yourself with something old each and every day.
Mixing Your Learning Materials Will Better Solidify Concepts
The largest chunk of my learning is being done via the online teaching service Treehouse. And while what Treehouse offers is superb and definitely worth the investment, it also pays to mix your learning materials up so that you improve your chances of better grasping coding concepts.
Reading what other people, who’ve successfully transferred into coding jobs, used on their journeys is one way to get a useful bank of resources. Charlotte Spencer’s (who I first came across thanks to Medium – another excellent resource for coding related information and opinion) post, for example, suggests lots of great materials, including podcasts like CodeNewbie and ShopTalkShow.
Likewise this post from Riley Hilliard, that discusses his 10-month odyssey to get tooled up in coding languages and eventually transcend into his UI Engineer role at EdgeCast.
As for what I’ve stumbled upon independently? YouTube channel CodeBabes provides “nice respite” while still being informative. As do iPhone apps like Lrn that give great introductory lessons in HTML, CSS, JavaScript, Python and Ruby.
CSS Proves Way More Powerful Than You Ever Thought
I’ve known about CSS and some of its features for a while but I’d never gone that deep, and I’d never specifically looked at what was new in CSS3.
Seeing how it’s possible to use flexboxes to avoid all the trickiness of floats, how you can supersede Photoshop mock-ups altogether using CSS’ border shading and rounded corner features, AND how you can incorporate gradients with different colour stops etc., CSS is way more than I originally assumed it to be.
Computer Science Concepts Prove Easier to Get Your Head Around Than You Might Otherwise Assume
Taking my first foray into JavaScript it’s been there that I, for the first time in my life, have come to attempt to familiarise myself with computer science concepts like conditional statements and functions, as well as syntactical objects like boolean values, strings and comparison operators, that at first seemed beyond me.
The truth is I’ve had to take it slow. Really slow. And make plenty of mistakes understanding how JavaScript syntax works and what the aforementioned terminology means.
Getting your head around this stuff is just a matter of time, patience and effort. I’m convinced it’s within anyone’s grasp if you look at enough examples.
It’s also exciting too. Learning how programs are built. Once you develop a basic understanding you’ll begin to see the things around you, in everyday life, in a more mechanical way, thinking more about the foundations and principles they are built upon.
The Impending Death of Web Design Will (At Some Point) Threaten to Curtail Your Learning
There are viable solutions out there which make you feel as if learning to code is inherently pointless. Case in point: a friend of mine deciding to use site building services like Wix or SquareSpace to get a functioning site up for their small business. Taking a look at these tools, and seeing how just far they’ve come and what they’re capable of, can lead to feelings of dejection when it comes to starting out learning to code.
Reading a couple of articles though, especially those from industry professionals, offers hope. The solution, at least as far as I see it in terms of a beginner setting out to learn this stuff, is to get all the basics down and then, as articles like Zeldman’s Is Web Design Dead? suggest, niche down from there.
And while there are plenty of developers and designers out there scared by the threat of these custom-site builders that offer cheaper solutions, calm, rational voices suggest that such death-knells have been sounding for years (in many creative fields that still exist too) and here we still are hand-coding CSS and HTML years later.
To get past this, I’ll take only the positive and rational responses. And a little gut instinct that tells me that learning the foundations of technology can only be a trump card when it comes to understanding future technological solutions.
The key being? I’m prepared to learn and expand my skills if the worse should happen.
The bottom line being: people are still paying designers and developers for solutions right now (and right now is all that counts).
Keeping Yourself Looking Ahead Helps Give You An Idea of The Direction You Might Want to Go In
I’m still super early in the beginning phases of taking my coding education seriously and not even sure, at this point at least, if I’ll ever end up in a coding-related role. For myself at least, combined with my knowledge and experience in blogging, content and digital marketing (couple of start-ups and my own business), I figured it’s a worthwhile endeavour to pour some time in during 2016.
What I’ve learned thus far is though, instead of resting on your laurels after a few HTML and CSS tutorials under your belt, it’s best to instead keep moving forward and push your learning boundaries.
Treehouse is perfect for this as it puts you on ‘tracks’ that streamline your learning and progressively load you with new concepts and challenges as you go along. Without using it I probably wouldn’t have had the confidence to dive into JavaScript yet and begin building a couple of very rudimentary programs.
Looking ahead is also important as it helps uncover information about new areas of code related industries you might not have considered as viable places to launch a career or start a new business.
An example: UI/UX is definitely something I’m deeply interested in learning more about and getting more skilled in. I find it pretty fascinating how design and programming features can change users’ experiences in myriad different ways.
Without picking up Steve Krug’s seminal book Don’t Make Me Think! and combining that with my coding studies, I don’t think I’d have even thought that UI/UX was something I might potentially want to look into later.
Remaining Humble and Positive Should Be the All Important Constant On Your Journey
Last but not least, after two weeks of study, the one thing I’ve learned most from attempting to learn how to code doesn’t really relate to code at all. It’s actually more directly applicable to life itself. So if you can take the following lesson on board, whatever you decide to do, you’ll eventually find success.
The most important constant you’ll need on your side when it comes to learning to code (or learning anything) is not any one tool but rather your attitude and perspective.
Expect to fail. Expect to make mistakes. Expect to not know. Expect to repeat lessons. Expect to not understand anything anybody is talking about. Expect to get tired while your brain whirls around desperately trying to make sense of what’s in from of you. Expect to become disheartened. Expect to ask yourself why you’re learning what you’re learning. Expect to not want to do any more. Expect to find reasons to derail your progress.
Expect all of that.
And then just keep moving forward anyway.
Reminding yourself that if you just learn one simple, little thing, then that’s far more positive than abandoning the whole learning project altogether.