This week’s guest, David Clinton, writes technology books, articles, and training materials, in addition to teaching courses on Pluralsight. His own career transition was sparked while he was teaching at a school in the 90s and searching for a good video conferencing tool to create a virtual classroom. His search led him to Amazon Web Services, which is a large part of his career specialty today.

But sometimes, you don’t stumble onto your own “ah-ha!” moment that organically — and that’s okay too! There are proactive things you can do to help give yourself a direction and, from there, choose what programming language to learn first.

Disclosure: I’m a proud affiliate for some of the resources mentioned in this article. If you buy a product through my links on this page, I may get a small commission for referring you. Thanks!

Narrowing Down What to Learn: First Steps

The very first step, David says, is to choose one of the broad categories of technology. He highlights four:

DevOps: “And finally, there's the DevOps world, which is related to the continuous integration, continuous deployment, the technology, the techniques for bringing applications and software to actual deployment in the real world, which again, overlaps with other domains, but is its own world.”

Chances are, you’ll be instinctively interested in one of these categories. “A lot of people have a natural leaning towards one or the other of these technologies,” says David. “They may have a little bit of experience, or they have a relative who's involved. So leverage that advantage of any entry you already have.” If you don’t, it’s fine to explore them all; it’ll just take a little longer.

Then, dive into further research, using books, articles, and Wikipedia pages to learn more about your chosen area. Check out introductory tutorials and projects to get a taste of what the learning process will be like. Sometimes a good way to answer “What programming language should I learn?” is to just spend a week on three or four of them and see which clicks.

“It's so easy to try new things safely, without a great investment of time, effort, or money,” David says. “You can create these virtual sandbox environments on your PC or laptop using Virtual Box, where you can experiment with administrating a particular version of an operating system, or coding, or running an application experiment. And if you make a terrible mistake and you break the whole thing, you can start a new one in seconds.”

That said, David cautions against using personal enjoyment as the only metric for your decision. “Try to understand what the strengths of each programming language or environment are,” he advises. “For example, Fortran is a great language. But I wouldn't recommend a lot of people learn it right now. You may enjoy it. But it's not going to lead you to a lot of employment.”

Or, if you have your eye on a certain company or role, look into what languages and tools they will most likely require. “So if you want to learn the Linux administration or Windows administration, understand the strengths and weaknesses of each platform, of each environment, and how they may lend themselves well or not well to the particular career or job you're looking for.”

Monitoring Technology Trends and Industry Professionals

To make wise decisions for your own career, it helps to have a broader sense of the trends in the tech industry at large. “I regularly follow technology news feeds like ZDNet or Ars Technica,” says David. Spending just 10-15 minutes a day reading tech news gives you that sense, plus “a little bit of a head start when something new is on the on the horizon.”

Specifically, follow people working at jobs you’re interested in. “Finding the news feeds that speak to your specific interest is important. You get perspective from reading people who do it all day.”

This is particularly important when you’re in the tech industry, because of the speed at which things can change. As David says, “Keep your eyes open, because there's always something new that's coming down the line.”

However, you can certainly learn on your own by combining the excellent tools and resources out there. It’s almost always better to start with these, rather than committing to a costly and time-intensive program.

Books: Don’t rule out the old-fashioned way! As a technical author himself, David loves learning from books. He specifically recommends books from Manning Publications which focuses on computer-related content. (Or check out David’s books, like Linux in Action (Amazon affiliate link)!)

Forums and documentation: Consider these two things as more supplemental learning rather than your primary source. “Companies/products like AWS and Microsoft have their own documentation stores which can be very good although a bit long but well-maintained,” says David. As for forums (like Stack Overflow), they’re great for crowd-sourcing solutions to problems…but prepare with a thick skin. “Make sure you've done your homework and make sure you're emotionally prepared…but it's worth a little public shaming to get the information you need.”

The Importance of Focusing on One Topic at a Time

While you should certainly explore different topics during your selection process, once you’ve chosen what programming language to learn, it’s important to hone in. “Don't jump out of one study to start something new, until you've mastered the first one,” David says. “Have something under your belt and then move on to something else.”

Why? Because it allows you a deeper focus and knowledge of that language. You won’t get your wires crossed by trying to learn four at once. Think of it like trying to learn French, German, Chinese, and Spanish all at once: it’s just confusing and more difficult to gain mastery of one.

Plus, there’s the time factor to consider. “You can't jeopardize your current job, or family, by learning loads of new careers all at once. You have to balance it with everything else going on in your life.”

However, if you’ve dedicated your full focus to learning one thing and it just isn’t working for you, you can absolutely pivot. Maybe you’ve realized the demand isn’t there, or you’re interested in something else, or the challenges are burning you out.

In that case, moving on to a new focus is wise. “There is a point where the Law of Diminishing Returns tells you that the more effort you put in is not going to pay off in the end,” says David. “It's hard to tell you when that you've reached that point. Ask somebody who can give you an objective answer, like a mentor, or post on Stack Overflow or Reddit. If you get two or three objective opinions saying it's time to bail out, it probably is time. Cut your losses, break out and try something else.”

That’s also the benefit of starting with free or cheap resources: it gives you the flexibility to change your path if you need to.

“What programming language should I learn?” is obviously a personalized question requiring a personalized answer. But these strategies and resources should get you started on the right path.

Where to listen to the podcast

If you have a few extra minutes, please rate and review the show in iTunes. Ratings and reviews are extremely helpful when it comes to the ranking of the show. I would really, really appreciate it!

Special thanks to this episode’s sponsors

Xojo: Want to create native apps for desktop, mobile, web, and Raspberry Pi–all at the same time!? Xojo is a cross-platform development tool that makes building apps easier and faster than ever. Check out xojo.com/learntocode and get 20% off with the coupon code ICANCODE.

Fullstack Academy is a leading coding bootcamp that helps great people become great developers at top companies like Google and Facebook. Learn to Code With Me listeners get access to their comprehensive JavaScript course–for free. Visit fullstackacademy.com/learn to get started.

Laurence Bradford

Hey, my name is Laurence. I am the creator of Learn to Code With Me, a blog for beginners teaching themselves how to code.
Once upon a time, I was digitally unsavvy. But not anymore. Find out how I changed my life by teaching myself digital skills here.

We use cookies to customize content and give you the best experience possible. If you continue using the site, we'll assume you're happy with this. CLOSE

Privacy Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.