I’m not what you would call a “programmer” or “coder” by any sort of imagination and I am guessing many of you may have found yourself in a similar position over the years in your career where you wanted to learn coding but thought, “meh” and then later realized, “#$@^! I better start learning how to code”. Yes, I was there just a few months ago.
While most small to medium sized firms outside of computing, internet and similar have only small “IT” teams, larger companies are beefing up their IT teams into departments that make you think, what do they do all day here? Like at a mining company or grocery business. But data science and social media is changing all that. From analyzing giant datasets generated by machines in auto companies to creating meditation apps to analyzing charter school performance, coding…is…everywhere.
So what do you do? Well, if you can’t beat ‘em, join ‘em. No matter what you do, there will be an application of code that may be useful to you. Sketch artist? Learn HTML, CSS and Javascript and show off those beautiful sketches in a custom website only you could create. Archaeologist? Create a fun app to get kids involved in the science. Plumber? Create a website that creates a to-do and shopping list for DIY-ers fixing their own piping and also offer a chat bot to upsell your pro services. Industrial engineer? Combine your statistics background with data science and create mathematical models and trend analyses. Or maybe you want to do it just for fun.
These are the questions that may be running like hungry rats in your head. Okay, not like hungry rats.
Why?
Explained above. Seriously?
What language should I start with?
Great question. Let’s break that down. If you wish to:
-
Learn mobile app development: learn mobile OS specific languages like Swift (iOS) or Java (Android). It’s pretty straightforward in this case.
-
Analyze data you encounter in your work: Python and/ or R (those are language names, yes)
-
Create websites: HTML, CSS and Javascript (different from Java)
-
Create applications: C, which is a great and enduring all round language to learn
But…it can get very intimidating just to start. Coding doesn’t look friendly at all and is admittedly a very analytical or logical way to think.
Learning to code by just starting a project may dishearten you. It’s always good to get some help in the form of some great resources, which brings me to:
Where can I learn all this?
If you aren’t about to get into school where you can choose CS as your major, don’t fret. Many folks who are programmers didn’t have CS degrees. There are great resources and I’ll list them here:
-
Coursera: paid, but not too expensive. Good instructors, good all round courses and price. What I have used the most
-
Codeacademy: some free courses and in-built sandbox to run your code. What I started with
-
Tutorials on YouTube: free, will obviously not hold your hand but informal style and accessibility are hard to beat
-
Udemy: more a marketplace of courses which go on sale and you can get great content for as less as $10
-
Udacity: high quality, expensive content with 1:1 mentoring and involved projects.
-
Many other websites that offer some course or another.
Okay, learned something, now what?
Now comes the fun part. So far, you did what the teacher had already pre-planned. But when you had bugs in your code, you could look at a solution. Because code IRL is frustrating and satisfying also, like every other creative outlet, you need to pick up a project of your own, like the ones I mentioned above and also like:
-
A simple website showing your hobbies (HTML, CSS)
-
Simple task automation in Raspberry Pi (Python)
-
Automating your Microsoft Office tasks (VBA)
What if I get stuck?
Yes, this is obviously easier said than done, but sites like Stack Overflow, Reddit and Github will become your best friends with thousands of people willing to share their knowledge of how your particular problem can be solved using some language, framework or engine. Next time, I’ll cover one of the languages, Python, to show what I intend to learn and how. Till then, figure out how code can help you and get started!