I started learning to code in July of 2015. It was crazy. Every tutorial in the world tells you to do this, don’t do that, follow this course, etc… 90% of the battle is knowing where to start. I was fortunate to find two guides, one was a friend – Andrew Haines – who happens to be a coding/business Ninja. You are only cool in the tech industry if you describe whatever you do with the adjectival “Ninja”. The other was Tania Rascia’s website and tutorials. Tania is one of the few who actually gets to the point and teaches minus the tirelessly long minutia found in so many online tutorials, ; thank you Tania.

I’m approaching two years of coding now and I want to offer five pieces of advice to anyone thinking about starting.

1. Keep It Simple

My mother always gave me this advice and it is good advice. Don’t run after every new trend, every new magic framework, editor, etc… They all will supposedly make everything easy, amazing, blah, blah, blah… If someone says, “This” will finally solve all of your coding problems, be warry; it probably won’t. At the end of the day you still have to write code and to write code you actually need surprisingly little. Keep it simple.

2. Focus

The consequence of simplicity is focus. Don’t try to do more than one thing at one time and for God’s sake do not try to build an amazing application out of the gate. Learn one thing at a time and learn it well. Learning a few things deeply will save you oceans of time in the long run. Learning many things superficially will lead you to quit in the long run. This leads me to my next point.

3. Patience.

You are not going to learn coding in a week, a month, or even a year. Anyone who promises you or tells you otherwise wants your money or is leading you on with false expectations. You can get a job and do some cool things within a year but to lure you into thinking you are going to be coding out amazing applications – really coding – and not just copy and pasting, is lying to you. Think of it as a five year project and you will do much better and be much happier.

4. The big three: HTML, CSS, JavaScript.

Everyone has an opinion on languages, focus, specialties, etc… This is where things get tricky. Remember, this is my opinion, it is not dogma, I am not infallible, but I think there is some wisdom to what I am about to say. You don’t need to start with machine code. Nor do you even need to start with a true programming language like Python, C, etc…

HTML

I would suggest you start with HTML (Hypertext Markup Language). Aristotle says that humans learn first from experience and from experience pass to abstractive capacity. Treat yourself to learning HTML deeply. It is relatively simple and it benefits you with the ability to see/experience your code right away. It is a deeply gratifying experience and it helps you focus on the essentials of the web – text – and the essential thing about coding – text. At the end of the day, the internet is about content (text) and human connections (links). Start with HTML: it is cool and you will have some fun along the way.

CSS

When you are through studying and learning HTML, add some spice to your life and learn CSS (Cascading Style Sheets). This is what gives color, space, proportion, and life to the content of your website.

JavaScript

Lastly, learn some JavaScript. JavaScript makes your website interactive, alive, and dynamic. JavaScript is everywhere. Don’t jump into one of the ten million JavaScript libraries; learn vanilla JavaScript. I think Gordon Zhu is the best teacher of JavaScript on the internet because he helps you think simply, focus on the essential concepts, and helps you keep a long term perspective. Check out his series at www.watchandcode.com.

5. Stay Free

If you have a brand new $2,000 MacBook, that is awesome. If you don’t it does not matter at all. I wish I would have known this two years ago. You don’t need amazing hardware to make a lot of money as a coder and more importantly to learn code. Whatever computer you have before you, use it. Do you have a Windows PC? Cool and even more cool, Windows has a Linux Bash now which will come in handy in your coding future. Do you have a Mac? Cool, you can do everything you need on a Mac, even if it is older, doesn’t have an SSD, Retina display, blah, blah, blah… Do you have an older computer that is slow and needs a new lease on life? Install a light weight distribution of Linux on it and you will be good to go.

Remember, everything that isn’t a text editor and code at this point is a distraction. Keep it simple, focus, be patient, learn the big three, and spend your money on coffee not tech; you’ll have plenty of money to buy sweet tech with if you learn deeply, with focus, and with patience. So, that’s my advice, I think it is sound. Have any thoughts? Let me know below, I’d love to hear from you.