Development

“Learning To Code” Actually Means Different Things To Different People...And That’s Okay

October 15, 2020
“Learning To Code” Actually Means Different Things To Different People...And That’s Okay


Depending on whom it is coming from, the phrase “I’d like to learn how to code” can mean wildly different things. To help shed light on the subject, I will attempt to put never-before coders into two distinct categories.

I. The Pragmatic

As a pragmatic, you’re not interested in theory. You just want to build a website. Or maybe you have a more pressing concern, like writing a script to automate certain tasks. In these situations, I recommend languages that are easy to learn to work with.

Python, allows you to write quick and powerful scripts. The language also preserves a fair number of programming concepts that transfer directly to other languages with very little confusion. JavaScript also lets you accomplish a great deal if you don’t mind having to “unlearn” the quirky bits that break fundamental programming concepts.

My best recommendation for first-time web coders is to write a bunch of basic HTML, CSS, and JavaScript files, then glue them all together while hosting the files in a folder on your computer (then later, a GitHub pages repository). The goal is to remove the roadblocks to writing real software now without having to first get your head around 500+ interconnected concepts.

II. The Visionary

As a visionary, you’re not interested in simply building a website. You’d like to go deeper, digging into matters like: how to structure applications, organize complicated data models, interact with third party programs and databases, not to mention learning the differences between type systems, algorithm analysis and efficiency, etc. These are the things that get your blood pumping.

For big-idea thinkers, there are entire courses dedicated to these higher-level concepts. Languages like C, Java, C#, Swift can be helpful in enforcing inflexible or opinionated theoretical concepts in a classroom setting. Once you’ve got a solid conceptual grasp, the language you use is just another detail to keep in mind.

Remember, learning higher-level concepts on the fly often means learning the hard way (hacks have a way of coming back to bite you, impeding progress, or leading to bugs). Then again, if your vision is to land a tech role, JavaScript is hard to beat. Pouring over books, frameworks, and example projects is a great way to build a portfolio and get hired in a hurry.

So Which One Are You?

In my experience with helping people learn how to code, there’s almost always a clear distinction between those looking to solve a problem with code and those searching for deeper understanding of it. With the first group, it’s incredibly difficult to impart meaningful scientific and engineering concepts when all they really need is a website or a quick script.

There’s a reason why Computer Science or Engineering tend to be four-year programs. A two-week boot camp or a weekend coffee shop session is geared more toward solving a specific problem. Which raises the question: Are you attempting to solve a problem or accomplish something greater?

If You Err On The Practical Side…

I recommend getting the scrappiest, simplest, most barebones development environment together—one that solves the problem directly and in a language that will help you build a solid foundation.

While you’re at it, pare down your goals to the basics, cutting out anything unnecessary. Learning how to write code can be a challenge. I recommend making progress in baby steps with simple code features that build on top of your previous successes. When you're solving today's problem the last thing you need to worry about is tomorrow's solution.

If You’re Looking To Become An Architect Of Tomorrow…

You’ll want to seriously consider attending college. If higher education isn’t possible at this point, spend some time reading. Books like the Pragmatic Programmer and Code Complete: A Practical Handbook of Software Construction can be excellent starting points depending on your career goals.

It’s also a good idea to walk through programming tutorials at places like Tutorialspoint, Codeacademy, or Khan Academy. Tackling small programming challenges and discovering the “minimum viable product” will help you build up your understanding.

With this important distinction out of the way, it’s time to get started. Good luck!

Karl Apsite
Karl Apsite
Software Developer

Stay in the loop with our latest content!

Select the topics you’re interested to receive our new relevant content in your inbox. Don’t worry, we won’t spam you.

MichiganLabs among INC. MAGAZINE’S BEST WORKPLACES 2021
Business Team Press Release

MichiganLabs among INC. MAGAZINE’S BEST WORKPLACES 2021

May 24, 2021

Michigan Software Labs is one of the highest-scoring businesses, with standout employee engagement.

Read more
Working From Home: Lessons Learned From A Forced Experiment
Team

Working From Home: Lessons Learned From A Forced Experiment

March 19, 2021

Prior to the pandemic, WFH seemed like a frightening notion for many. Organizations wondered if employees could actually be productive working remote? Well, it’s been a year since our forced experiment first began and what has it taught us? …That it was great!…until it wasn’t.

Read more
Product Strategy: Turning your App Ideas Into Reality
Process

Product Strategy: Turning your App Ideas Into Reality

April 16, 2020

Anyone who has been there knows, it can be incredibly frustrating having an app idea and not being able to bring it to life. And with organizational, technical, or financial roadblocks in the way, it can be equally frustrating to simply get a project off the ground.

Read more
View more articles