In the past two podcast episodes, we’ve covered how to know if tech is for you and some of the careers you can pursue. But before you can dive in, there’s one more burning question to answer…what programming language should I learn!?
Obviously, the specifics depend on what direction you’re pointing in. But how do you begin to figure that out?
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.
This episode was transcribed with the help of an AI transcription tool. Please forgive any typos. Laurence Bradford 0:07 Laurence Bradford 0:22 Laurence Bradford 0:41 Laurence Bradford 0:59 Laurence Bradford 1:41 David Clinton 2:29 Laurence Bradford 2:35 David Clinton 2:42 Laurence Bradford 2:50 David Clinton 3:23 David Clinton 4:22 Laurence Bradford 5:04 David Clinton 5:26 Laurence Bradford 6:28 David Clinton 7:08 David Clinton 8:16 Laurence Bradford 9:32 David Clinton 9:40 Laurence Bradford 9:41 David Clinton 9:56 Laurence Bradford 10:03 David Clinton 10:20 Laurence Bradford 11:47 David Clinton 12:12 Laurence Bradford 12:21 David Clinton 12:55 David Clinton 13:47 Laurence Bradford 15:01 David Clinton 16:04 Laurence Bradford 17:26 Laurence Bradford 17:32 Laurence Bradford 18:39 Laurence Bradford 19:38 David Clinton 20:15 Laurence Bradford 20:27 David Clinton 20:48 Laurence Bradford 21:51 David Clinton 22:24 Laurence Bradford 23:48 David Clinton 24:18 David Clinton 25:28 David Clinton 27:10 Laurence Bradford 29:06 David Clinton 29:49 Laurence Bradford 30:17 David Clinton 31:03 David Clinton 32:10 Laurence Bradford 33:28 David Clinton 33:46 Laurence Bradford 34:43 David Clinton 34:48 Laurence Bradford 35:19 David Clinton 35:28 Laurence Bradford 35:36
Hi, and welcome to the Learn to Code With Me podcast. Today we'll be discussing how to know which tech path you should take and which skills to learn to go along with it. But first, a quick word from our sponsors.
Xojo is a development tool you can use to build apps for desktop, mobile and more. With Xojo app building is easier and faster than ever even for beginners. Learn to Code With Me listeners get 20% off with the coupon code ICanCode. Try Xojo free at xojo.com/learntocode.
In today's episode I talk with David Clinton. David is a high school teacher turned it professional who specializes in System Administration. He also creates training material for many cutting edge technical subjects, including Linux systems, cloud computing and container technologies like Docker. The reason why I reached out to David to have him on as a guest is because he's actually written a book all about deciding which technologies to learn. The book is called Solving for Technology: How to Quickly Learn Valuable Skills in A Massively Changing Technology World. And that's precisely what our conversation is going to focus on today. How to figure out which path you should take, which tech stack you should learn, and the best way to learn it.
Enjoy. In today's episode, I talk with David Clin. David is a high school teacher turned it professional who specializes in system administration, and he also creates training materials for many cutting edge technical subjects including Linux systems, cloud can coding and container technologies like Docker, the reason why I reached out to David to have him on as a guest is because he's actually written a book all about deciding which technologies to learn. The book is called Solving for Technology: How to Quickly Learn Valuable New Skills and a madly changing technology world. And that's precisely what our conversation is going to focus on today. How to figure out what path you should take, which tech stack you should learn, and the best way to learn it. So thank you so much, David, for coming on the show. It's great to have you.
Thanks Laurence. It's great to be here. It's actually my first podcast experience. Looking forward to it.
Oh, that's, that's great. But I know you have a lot of experience doing PluralSight courses and other things. So it's not your first time explain.
I'm not a stranger to a microphone but but podcasts are almost live. And that's like live kind of so let's dive in.
Yeah, let's do it. So I am really excited to talk with you about all the things that I mentioned in the intro because when I first started out learning Back in home in like 2013, I was so inundated with all these resources, opinions information, and today at 2018 and beyond a 2019. There's even more information out there. And was so in there's so many different paths one can take, right? So how should a person go about figuring out which one they should follow?
Well, it's it's a big question I probably the the best first step is to sort of organize for yourself into categories, the various broad, the broad breakdown of technology. So there's coding, which can be Python and Java, but I also include HTML and CSS or or bash scripting or even PowerShell, perhaps on Windows. So the that broad spectrum of coding, that's one part only a subset of technology. There is system administration, which can include cloud computing like AWS, or or a whole world of network administration under the banner Cisco I find the thing about Cisco is that when you dive into it, which I never have really but I know the people involved in Cisco think that is the whole administration world they really don't see anything beyond Megan being harsh but they but they nonetheless they it is a is a large world that does seems kind of separate from the rest, but it's a large part of the the administer the technology administration picture.
Then beyond administration, there's data science and machine learning and artificial intelligence, which has a skill set. That is it overlaps with other skill sets, but but is is something it's a focus on its own. And finally, there's the DevOps world, which is related to the continuous integration, continuous deployment, 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. So being familiar with the broad categories of technology? Well, I guess help you through your first Step to figure out where where you want to go. Where do you want to explore next?
So there's all these broad categories. And getting once familiar, like, what would you define as familiar because I can picture person listening to this? And thinking, Oh my gosh, do I have to take a course on DevOps on AI on HTML, CSS on data science? Or do you mean more like read a book or two about each topic at a high level?
I don't even know. If I'd go that far. A lot of people have a natural leaning towards one or the other of these technologies that just because they had a little bit of experience or they have a relatives who's involved, so leverage that take advantage of any of any entree you already have, but also go even higher level than a book read. Take the Wikipedia page for for sysadmin system administration or cloud computing or, or just to spend a half an hour reading very high level information on descriptions of a particular domain and see if it attracts you. It see how expensive it might be to to explore, although really everything now with the possible exception of Cisco, everything is really, really effectively free to explore and to get to go quite deep. So if you're really stuck, though, if you really have no clue which of these domains you want to explore, so good spend a half a day reading online about each one and see if anything clicks.
Yeah, yeah, I think that's really good advice. And something I wish I did when I first started learning because when I first started learning, I thought the only tech job out there was like, web developer, software engineer, and there was this like, rigid path to follow and I had to do these things. And that was the only outcome that I could have. And obviously, I realized later that was not the case. So I would love to hear actually about you and your journey a bit. I know you were teaching it in high school and now you are still teaching and just a very different way and Probably very different topics. How did you decide what to learn? Like, how did you make your own kind of career transition and figure that out?
Oh, that was it was a quite organic it happened. There were goals that I happen to have in the school. It was a small school and it was back in the 90s I guess a long, long, long time ago. And nobody a lot of schools especially smaller schools didn't have it budgets, let alone IT professionals working there. So there were certain things we needed, we needed to network some computers together, we needed to find a cost effective way to deploy computers to students and into the office. And I was the guy I guess, who was least unlikely to undertake the task. So I started digging into to networking and a little bit of system administration at the time. I didn't know it was called System Administration. I just that I had goals, and I and I had to somehow find a way to to to fulfill those goals to reach those goals. And that was my first first solid introduction. Well, okay, back in high school. Way, way back in the late 70s, I did a little I did a course in computer science in Fortran. But that didn't really play that large a role here. That was my first exposure I had a very specific goal I had to accomplish I had to fulfill the goal otherwise I looked like an idiot or even more than an idiot than usual.
And, and I did it the next transition I guess, was a few years later, I had some students who graduated and gone on and moved all around North America. And and they wanted to, to to connect once a week somehow online, in in a classroom setting. So I started to look around for software video conferencing software that would be free and and would allow us to have a whiteboard and video and audio and texting back and forth to have a classroom. Just a once a week friendly classroom environment. I found something called Big Blue Button which is a open software open source software for video conferencing in an educational environment and I then discovered Amazon Web Services as a platform. That was a huge learning curve to figure out how to provision an instance, and actually make it available through publicly and securely. I in retrospect, it probably wasn't as secure. But it was certainly public. And it worked. And that first dive into Amazon Web Services, eventually translated into a big chunk of what my career is today. It was a practical goal. It was something that I really wanted to accomplish. And I just forced my way through until I did it.
So in that case, you were still teaching. And this was to set up like a virtual classroom for some of your previous students or existing students?
Okay, so you had this like really specific goal, it was work related because it was related to your full time job at the time. And that kind of motivates you to solve this problem and get through that. I'm curious how many years ago was that at this point?
I guess about a dozen years ago, maybe a little more. When when you're my age, these things all blend together, you know?
So a lot has happened though between then like between setting that up and then where you are today. When did you realize that but teaching in the classroom wasn't for you any longer like in the actual physical classroom like when did that switch occur?
It was a combination I always had a fear of, of, of sort of ghosts sticking around and teaching too long it is, to some degree a young person's game you have to have our I joke that a teacher when he starts teaching is full of enthusiasm and idealism, but hasn't got a clue what they're doing. And at the end, they're old and weak and tired and cynical. And for about for a period of time in the middle. They've got enough experience and enough enthusiasm still, they're good, but that only lasts about 15 seconds. The middle period. I exaggerate, obviously, but I didn't want to overstay my welcome as a teacher and And there was just the school itself actually was more or less closing down. So I think that was a good time to transition. Simply I was, I was, I was still good, but I didn't want to stay too long. But the there was a lot of promise in these what had until that point been hobbies, there was a lot of promise in in converting those to actual career skills. I did a little certification exam in Linux administration, and with the Linux professional Institute, I later did some work with them and wrote a book with for them as well. I really related to them at any rate, and, and it was a it was a it was a it was it was a successful transition. It's scary. It's especially giving up a regular just regular paycheck is very scary, but it often works out.
Yep, yep, I can definitely relate to that. As some of the listeners know, cuz I've talked about it I recently. Well, yeah, I recently left my full time job. So that was, you know, having a paycheck, the match 401k all the other benefits, you know, health care and all that. So it's definitely a terrifying thing. So and very real for me right now. So I could totally relate, and I'm happy to hear that it obviously worked out for you.
Yes, it certainly did. And it's an oddly enough, I'm still able to pay all my bills, nothing more. But I'm paying my bills. And I'm happy with that.
Yeah. So kind of going back to this idea of figuring out what skills to learn. And you wrote a book about this. So I definitely want to dive into that a lot. And how can a person once they know what they want to do? So they take a day or two or maybe a couple of weeks, exploring these different broader technologies, and then they get to the point where it's like, you know what, I think software engineering is for me, or I think data science is for me, or I think one of the other things you mentioned earlier AI or system administration is for me, how do they then figure out what to learn?
Okay, well, I would, there are some tools and really, really useful tools available one that always always comes to my mind is the United States government's Occupational Outlook Handbook in the Bureau of Labor Statistics website. So the actual URL is bls.gov slash o h, it's an easy URL. And that does a great job of statistically and out analyzing what occupations are healthy now and will be healthy for the next five, maybe 10 years. You were I would definitely if you have a number of options available sitting in front of you, I could choose this or this I would definitely run them through the Occupational Outlook Handbook, Outlook Handbook, to see if they have they have good promise over the long term or the midterm future At any rate, um, and also you can get some great ideas out of that of that Handbook, I would definitely recommend a tool like that or in your in your area. I mean, I'm in Canada.
So the Canadian government has, has similar resources, but they're but any resources you use like that are going to help. Now, within let's say you say decide you want to wanted to go to coding and you want to Choose a language. spend a week, let's say, going through getting started projects and tutorials on each language that you're thinking about a week is probably the smallest amount of time that you'll actually get far enough that you'll get a taste of flavor of how you're going to how it's going to work for you. And spend a week let's say on 234 options, and see how you like each one but also under try to understand what the strengths of each programming language or environment and say when learning Linux administration or Windows administration learn 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. It's trying to try to make a match so that that that it makes sense. You don't Fortran is a great language, but I wouldn't recommend a lot of people learn it right now. It's it, you may enjoy it, but it's not going to Not gonna lead you to a lot of employment.
I absolutely love that advice. And that's something that I wish I did sooner it took me months to and I didn't go about the exact process you outlined. But I did something similar where I looked at companies that I would like to work for at the time several years ago, and what jobs they're hiring for, that I thought sounded appealing, and what technologies they were looking for that that that role filled. I really like your approach, though, of using like the Bureau of Labor, statistics, numbers and skin. I've been to that site before, we'll definitely include a link in the shownotes to it, and seeing like, what's kind of trending and what has good promise for the future, as you mentioned. So okay, that's really great advice. So you sort of said this with with the Fortran example. But is there ever a time when a person shouldn't learn a new skill or technology like would it just be Oh, there there's there's no too many for it, or could there be another instance where it's like, oh, that just doesn't make sense to learn.
Sure. I mean, I, on the one hand there, it's almost always potentially valuable to learn a new skill and technology. And of course, remembering that these days, you're not going to have, you're not going to sit in one career doing one job for your whole life, your whole professional life, you're going to be moving around and even within one job, you're going to have to change technologies every six months or a year, add new techniques. So learning new things is always a great idea. But you're right, you have to balance it. You can't, let's say jeopardize your own job or family by by by learning too many new careers all at once. You have to you have to balance with the rest of everything else going on in your life. And also, and this is something I've seen in young people trying to trying to learn new things and aiming for jobs. Don't jump out of one study to start something new until you've mastered the first one. Get your certification if it's a kind of thing that leads to a certification. Or, or being able to, to, to to, to produce an application a decent mobile app. Let's say if you're learning javis preferred as an example. Get 123 good apps in your in your portfolio in your in your in your Git repo and have something under your belt and then move on to something else. But don't jump from from technology to technology to technology, because you'll end up at the end you'll have nothing.
Sit tight podcast listeners, we're taking a quick break to hear a word from our sponsors.
If you want to build apps that look great on every type of device, Xojo makes it easy even if you are beginner. The cross platform app development tool lets you code your app in just one language. Then simply click a checkbox to generate versions for other platforms code an app for Mac OS and have a Windows version in one click. You can also use their drag and drop tool to seamlessly create a user interface. Since Xojo uses native controls the app will automate mackley looking perform as it should on every platform. Xojo is perfect for anyone who wants to build an app even if you are an expert. Build an app to make your job easier or as a hobby. Xojo is also used by professional developers who want to build apps faster, and even fortune 500 companies want to give it a try. Learn to Code With Me listeners get 20% off with the coupon code, ICanCode try Xojo free xojo.com/learntocode. That's Xojo, x-o-j-o.com/learntocode.
Yes, I also love that advice. And one thing I get a question from readers fairly often is, oh, I'm taking this course this course this course this course it's like six different things. And I always think you know, if you think about like learning a spoken language, would you try to learn Mandarin Spanish, French, Portuguese all at the same time? No, like, that would be insane. You will learn one thing and then move on to the next. And usually when you move on to the next thing, it's faster for you to learn because you're, you know, you're sure there's some scientific or psychological thing once you learn one thing, I think it's just easier to learn the next thing, especially if there's somewhat similar like a spoken language.
Absolutely, yeah, absolutely. There's there's nothing. You have to get to get somewhere, you have to have a goal, reach the goal, and then move on and by all means, branch out, but get something before you branch.
But what about if a person is learning something right now that they really don't like? And maybe they realize to there isn't much of a demand for it. Just keep going back to your example before a Fortran but say it was a situation like that, should they stop? Or should they finish out that thing that they're doing, whether it's an online course certification, or what have you?
Well, the economists call it I think, sunk costs, that there's a certain point that you've sunk so much into a particular investment that you you don't like the idea of backing out and you may just Keep going regardless pushing through even though you've already already really know deep down that it's not going anywhere. It's a hard thing to tell you when that you've reached that point. But yeah, there's a there is a point it where the where the Law of Diminishing Returns tells you that, you know, the more effort you put in is not going to pay off in the end, cut your losses, break out and try something else. There is a point it's it's hard to know. And perhaps it's good advice to ask somebody else who can give you an objective answer. Ask a family member or a mentor. If we're online, go on, go to Reddit, they'll always tell you what you're doing wrong. They're always happy to tell you what to go on Reddit. But go somewhere, you know, Stack Overflow, even you know, just ask them if if they think it's worth pursuing this further or moving on to something else. And if you get two or three objective opinions, saying it's time to bail out, probably it's time to bail out.
Yeah, I definitely agree with that. And I just think of sunken costs, beyond learning something new and projects that you may start or other things You realize, wait, this maybe wasn't as good of an idea as I thought it was. And I should probably cut my losses and bail now. And that's always a tough thing to do. But that's what I just love with technology in the world we live in today is people have so many different careers and people could kind of reinvent themselves. And technology is always changing. So you don't have to worry about learning one thing and using it for the rest of your life. There's always it's just things are always evolving.
Absolutely. It. And also, it's so easy to try and to try new things safely without without a great investment of time, effort, money. I mean, in my book solving for technology, I and also in my books and other books I've written also on Linux, Linux and action book at Manning whenever I have, I think a whole chapter on this, about creating a virtualized sandbox environment that is on your PC, whatever it is a laptop, if it's sufficiently powered, or, or desktop or whatever you can or an Amazon Amazon Web Services instance, you can create a virtual environment where you can Experiment with the with a a with administrating a particular version of a of an operating system or or coding or running an application experiment with in an environment that takes seconds to load. And if you kill it if you make a terrible mistake and you break the whole thing, so kill it and start a new one in a few more seconds. It's so easy to to learn anything new simply because it's it's you can create these virtual environments using VirtualBox, which a lot of people have on all operating systems they can they can load any, any virtual operating system inside VirtualBox or using a technology like Docker. That also just lowers the the cost of entry enormously for any new technology.
Yeah, awesome advice. And kind of On a similar note, we talked briefly before our interview today about just choosing the right training resource because there's so Different ways a person can learn a thing. And this, of course, is once they're committed to learning, whatever that is. So they take their week playing around the different programming languages, they realize one is something they want to pursue, they do their research, they have their goal. What next? How do they figure out the best way to really learn that thing?
Oh, do I, let's let's let's break it down, I guess into the various categories of learning resources. Use the old question, the old debate whether you really have to have a college degree in that particular major, or whether you can go to a boot camp, or just learn online on your own. It's a debate which has no clear answer, actually, recently, on a nice discussion on that on I'll send you the URL later on on a site called triple byte triple, a triple byte.com. They have a blog post on boot camps versus college where they they found the people that were coming to them and taking their their there's a quick test that they administrate. They're taking the test. They found that the college grads, they the the computer science grads, they were good at algorithms and data structures. The bootcamp grads who'd never been to college or at least not for computer science. They were better at web system design and some of the the front end stuff and both seem to be about equally proficient in a practical programming challenges. So it depends what you want sometimes college simply isn't necessary sometimes it's a it's a waste of quarter million dollars in five years of your life.
You know the four years is a is always stretched out to five years and I my theory is is because universities make more money for every semester that you're there. So they stretch it out for you but either way the as far as the you can definitely learn on your own a lot of skills that are marketable that will get you jobs with everything else falling into place of course without a college degree now let's move away from college to what what resources of Canada up training reserve what training resources are there. So I there are courses for instance, to use The video courses available online free and paid. There are curated and non created curated courses course platform. So a curated platform will be like Pluralsight, where I have a lot of courses, they have over 6000 courses in total, almost all in technology topics or, or what they used to call Lynda. They now I think, call LinkedIn learning, unless I'm mistaken, because LinkedIn bought Lynda a couple years ago. So they have thousands of courses. And of course, there are many other sites. There's Udacity out in California, which is my one of my sons is taking one of their courses it was it was a very successful experience. So those are curated platforms for video courses where you can be confident you're getting high quality content, high quality teaching, because it's been through a a vetting process a review process. Non curated curated platforms include the training videos on YouTube or Udemy where Some of its trashy and worth every penny you don't pay for it, but some of it can be quite good. If you find the right the right channel and the right provider then stick with it.
And documentation comes in different flavors. There are there's the lot of the the companies that provide the the the the platform's themselves like AWS or Microsoft have their own documentation stores which are which can be very good sometimes a little bit long, but they definitely are well maintained and and have a good workflow process in them. And then there are books. The books are generally like my books of man in Linux and action is when I books the the books are heavily edited. They are very, very carefully planned an enormous amount of work and money goes into producing the book before it ever gets out. So you're getting a different quality of teaching, but it for some people, they don't need it. Oddly enough, despite the fact I write books and create videos, I myself almost never learned from books or videos, I'll usually go to a product documentation site, read the the Quick Start Page and and quickly replicated my own system and then start just doing it from there. Or if I need a specific piece of information I'll use DuckDuckGo to find the right page in the documentation, scan the page or just the information I want and, and and get back to work. But that's me I happen to know that there are thousands of people who buy books and watch videos and and I'm a part of that ecosystem. But the test yourself I guess, see if you work best with documentation online where you can scan and find and run or you like the the steady process of a book, which takes you from A to Z in a in a in a sequential way, or if you like videos. And don't forget, of course the online forums like Stack Overflow. And just be careful always before you ask the question. Make sure you've done your homework and make sure you're emotionally prepared to be to be melted in a in a flurry of attacks. The worth it's worth it it's worth a little a little public shaming to get the information you need.
I loved what you said a bit ago about worth every penny you don't pay for. Yeah with with like the free resources. yeah i i think it's I talk to people sometimes who have complaints about certain things that are free I'm like, well, it's free. What do you expect? Like you're getting for free you can't expect the highest quality after paying hundreds or thousands of dollars for some of the different programs out there. That's a whole other story. But yeah, I really like that and yeah, exactly with the with the online forums, always be careful. I actually i feel like i whenever I have questions or really seem specific, I guess not learning new skill or technology. I always just go to the forums, that's always where I end up is looking at other people's answers, because what I found is pretty much any question I ever have someone has asked before in one way or another.
Yeah, absolutely. It's happened to me many, many times and sometimes just enter the process of formula, formalizing the question in your mind enough that you can write it as a question. just writing the quiz three quarters of the way through writing the question out I'll do the web search again with those that wording and I'll get the answer. It's It's It's It's It's such a big world, the technology world and the internet is so useful that it's almost certainly someone else's had this problem.
Yeah, definitely. And that's that's a great tip too. With the wording of the question, just be able to formalize that question, which can be tricky at times. So yeah, all good stuff there. So, as you mentioned, all these different ways and places that people can learn and everyone's different and figuring out the right thing, or the right method to learn from them. Another thing I want to talk about though, is just for a person who's more advanced, or maybe in that has been learning tech skills for a few years, maybe they already have a job as a tech professional. when is the right time to learn a new skill or should they always be learning new skills like how many things should they be wearing at once because as we all know, it's like every week or Every day there's something new there's a new programming language or something new coming out.
Absolutely. Um one thing I do and I know a lot of my colleagues at Pluralsight do is and not just there I'm everywhere is regularly follow technology news feeds like Zd net or Ars Technica. They if you if you keep up with those to spend 15 minutes a day, 10 minutes a day keeping up with those, you know, the direction that technology is going, you'll have a little bit of a head start when something new is is on the on the horizon. But also you'll sort of get a a perspective on it that is it likely to be a big thing or not so likely to be a big thing. If you just do that passively. Day after day, you'll you'll have a feel for what's likely to be important and what's not likely to be important. As an example. I've been following these technology news feeds for 2025 years now, and I every six months pretty much on schedule. There's an article somewhere about finally the PC is now dead, the age of the PC is over. It's been happening I say every six months for 25 years, and I'm still working on a PC.
So I don't know, maybe it will end one day maybe the age of the PC is limit is is imminent, the end but but in any case, you you've certainly it's very important to keep a larger picture of the technology world where what trends there are, where where things are going and along with that, the perspective you get from reading people who do this all day they're really really working the reading the writing, I should say of people who work with this stuff all the time. It's good to get multiple, multiple perspectives. So that that just is keeping up your general knowledge is important in any case, many many jobs require a strong general knowledge if you really want to, to secure an application you have to be able to think bearing keeping you have to you have to take into account the way that Other people think that way that hackers might think the way that your customers might use your product for that you need a broader knowledge to So in any case to answer your question specifically how do you know when to when to to branch out? The answer probably is you should always be at least thinking about it and and as long as you're not jeopardizing your your current job and your current goals, and your family, then it's probably worthwhile investing time pretty much constantly.
Yeah, and thanks for sharing some of those news feeds and and other things people can keep an eye on. So before we wrap up, I also want to have any other recommendations like for resources or things people can keep an eye on that are trying to break into the tech world?
Well, again, the the finding the news feeds that are that that is speak to your specific your specific interest is important. So sometimes a particular writer on a platform like Zd net might might be good, I bet that there was a writer actually on CD net many years ago who introduced me to Linux for the first time. Chris Dawson, his name was and he doesn't write for them anymore. There's also other training platforms like edX, which is a consortium of the leading universities that provide course materials free online in MOOCs. They're useful sometimes if that's the sort of field you want to that you want to explore and at that level, so by all means, you should you should see if there any, any courses and programs on edX that that are worthwhile for you, and keep your eyes open because there's always something new is coming down the line.
Awesome. Well, thank you so much, David, for coming on the show. Where can people find you online?
Well, I'm my own website is bootstrap-it.com and that's got links to my PluralSight courses and my my various books with various publishers and my Medium articles have a lot of articles on Medium which is a fabulous medium, I suppose for, for for writing and being seen. That's that's a great place to start everything will will one way or the other, come through come through bootstrap-it.com
Perfect. We'll definitely include those links in the show notes. It will also include links to your books and courses and all that good stuff that you put out into the world. Thank you so much, David again for coming on.
Thank you. It's been a pleasure.
I hope you enjoyed my conversation with David Clinton. If you missed any of that, or would like a recap, the Show Notes for this episode can be found at learntocodewith.me/podcast. If you're listening to this episode in the future, simply click the Search icon in the upper navigation of the website and type in David's name. As you heard in the interview, David is an instructor for several PluralSight courses. It just so happens that I'm a Pluralsight affiliate, which means that if you sign up for Pluralsight using my special link, I'll receive a small commission for referring you. Here's my special link, learntocodewith.me/pluralsight. And that's all one word and you spell Pluralsight like P-L-U-R-A-L-S-I-G-H-T. So if you want to sign up for Pluralsight, I'd really appreciate it if you went through that special URL. Thank you so much for tuning in, and I'll see you next week.
This episode was transcribed with the help of an AI transcription tool. Please forgive any typos.
Laurence Bradford 0:07
Laurence Bradford 0:22
Laurence Bradford 0:41
Laurence Bradford 0:59
Laurence Bradford 1:41
David Clinton 2:29
Laurence Bradford 2:35
David Clinton 2:42
Laurence Bradford 2:50
David Clinton 3:23
David Clinton 4:22
Laurence Bradford 5:04
David Clinton 5:26
Laurence Bradford 6:28
David Clinton 7:08
David Clinton 8:16
Laurence Bradford 9:32
David Clinton 9:40
Laurence Bradford 9:41
David Clinton 9:56
Laurence Bradford 10:03
David Clinton 10:20
Laurence Bradford 11:47
David Clinton 12:12
Laurence Bradford 12:21
David Clinton 12:55
David Clinton 13:47
Laurence Bradford 15:01
David Clinton 16:04
Laurence Bradford 17:26
Laurence Bradford 17:32
Laurence Bradford 18:39
Laurence Bradford 19:38
David Clinton 20:15
Laurence Bradford 20:27
David Clinton 20:48
Laurence Bradford 21:51
David Clinton 22:24
Laurence Bradford 23:48
David Clinton 24:18
David Clinton 25:28
David Clinton 27:10
Laurence Bradford 29:06
David Clinton 29:49
Laurence Bradford 30:17
David Clinton 31:03
David Clinton 32:10
Laurence Bradford 33:28
David Clinton 33:46
Laurence Bradford 34:43
David Clinton 34:48
Laurence Bradford 35:19
David Clinton 35:28
Laurence Bradford 35:36
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:
- Coding: “The broad spectrum of coding, Python and Java, HTML, CSS, bash scripting, or even PowerShell.”
- System administration: “Cloud computing like AWS, a whole world of network administration under the banner of Cisco.”
- Data science, machine learning, artificial intelligence: “These skillsets overlap with one another.”
- 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.”
One important question to answer for yourself is why you want to learn a certain technology or skill. Sketching out your goals will help you stay motivated and on track. For instance, if your goal is to build a future-proof career, consult the Occupational Outlook Handbook from the Bureau of Labor Statistics, which uses statistical analysis to determine the future viability of various careers.
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.”
When you’re still deciding what to learn, doing this can also help you identify areas where demand is high for a certain skill or language.
Figuring Out How and Where to Learn
Once you’ve answered “Which programming language should I learn?” the obvious next question is “How do I learn it?”
And while this is another question that must be tailored to your individual situation, there is some general knowledge that will help.
Two options for more “formal” training are bootcamps and traditional colleges. Triplebyte compares these options here. Notably, computer science graduates tend to be better at algorithms and data structures, while bootcamp grads shone at web programming and certain practical skills. (Sidenote: you can hear my interview with the co-founder of Triplebyte here!)
The advantage of bootcamps is that they’re cheaper and faster than college, while still getting you job-ready. If you’re interested in a bootcamp, check out my ultimate guide to online coding bootcamps here.
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)!)
Online courses: There are free and paid online courses out there for just about every tech topic under the sun. When you’re just experimenting or learning beginner concepts, free resources are fantastic (see: 71 of the Best Places to Learn to Code for Free). Once you begin leveling up, you might notice that the free content doesn’t cut it anymore. When that happens, it’s time to explore paid platforms (see: The Best Places to Learn Web Development Online).
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.
Links and mentions from the episode:
- Bootcamps vs. College
- Occupational Outlook Handbook
- David’s website
- David’s books
- David’s courses
- Manning Publications (use the code clintonpc for 40% off!)
- Solving for Technology
- David on Medium
- Big Blue Button
- Amazon Web Services
- Linux Professional Institute
- Stack Overflow
- Linux in Action (Amazon affiliate link)
- Ars Technica
Where to listen to the podcast
You can listen to the Learn to Code With Me podcast on the following platforms:
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.