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.
These are the questions that may be running like hungry rats in your head. Okay, not like hungry rats.
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 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!