The Scrimba Podcast

🎙 About the episode

Meet Lane Wagner 🇺🇸! Lane is an engineering manager and the founder of Boot.dev. In this episode, as an experienced leader and educator, Lane talks about the recent changes in the job market and what they mean for aspiring and established developers alike. With tech layoffs and  AI that can write code, how do you even stand out?

Lane and Alex discuss the future of the industry as well as the ongoing recession and why it seems to hit tech companies especially hard. You'll learn what's the main difference between a developer and an AI that can write code and how to focus on it. They also talk about different types of companies, how different paths require different strategies to break into tech, and why it's okay to change companies as that's the quickest way to learn and figure out what works for you..

🔗 Connect with Lane
⏰ Timestamps
  • Why is the tech industry experiencing layoffs? (01:41)
  • Do tech layoffs affect junior developers in the long run? (03:20)
  • Why we are in a recession: the (tech) bubble created during the COVID pandemic burst (05:00)
  • Why have big companies mostly hired seniors in the past three years (08:31)
  • Should junior developers aim to work at smaller companies? (09:24)
  • Getting a job requires different strategies for different types of companies (12:29)
  • Changing jobs is okay! (16:06)
  • Community break! (18:23)
  • Get your first developer job ASAP because that's the quickest way to learn (20:36)
  • AI can write code. Should developers be worried for their livelihoods? (22:37)
  • The difference between ChatGPT and a junior developer (26:03)
  • If your biggest selling point as a junior is what technologies you use, you're doing something wrong (30:21)
  • What we can learn from the data available at layoffs.fyi (33:39)
  • We can't control most things happening in the job market, but we can focus on the things we can control: Lane's advice for junior developers (35:21)
🧰 Resources Mentioned
⭐️ Leave a Review

If you enjoyed this episode, please leave a 5-star review here and tell us who you want to see on the next podcast.

You can also Tweet Alex from Scrimba at @bookercodes and tell them what lessons you learned from the episode so they can thank you personally for tuning in 🙏

Creators & Guests

Host
Alex Booker
Host of The Scrimba Podcast
Producer
Jan Gregory Arsenovic
Producer of the Scrimba Podcast

What is The Scrimba Podcast?

Learn from inspiring developers about how they found meaningful and fulfilling work that that also pays them well. On The Scrimba Podcast, you'll hear motivational advice and job-hunting strategies from developers who've been exactly where you are now. We talk to developers about their challenges, learnings, and switching industries in the hopes of inspiring YOU. This is the podcast that provides the inspiration, tools, and roadmaps to move from where you are to work that matters to you and uniquely fits your strengths and talents.

Lane Wagner (00:00):
I think whenever something like this happens, where there's a big round of layoffs, or even more recently with AI, fear kind of kicks in first. The first thing to do whenever something like this happens. Because it's happened a lot in the past, is to just pause and try to figure out from a high level what's going on and try to think about the long-term ramifications.

Alex Booker (00:19):
Hello and welcome to The Scrimba Podcast. On this weekly show, I speak with successful devs about their advice on how to learn to code and get your first junior developer job. My name is Alex and today I'm joined by Lane Wagner, an Engineering Manager and Founder of Boot.dev. Today we're discussing layoffs in tech, what they mean for new developers and how you can come up with a winning job hunting strategy, despite the economic conditions. If you're looking for a new developer job or planning to apply soon, this is going to be a great episode for you. Lane and I paint a picture of the job market, what it means for new developers, and we also look into the future. Will AI affect new developer's ability to get a job? Are there more layoffs to come?

(01:08):
Obviously, we can't predict the future and none of this is financial advice, but we're here to present the facts and research using websites like Layoffs.fyi. I say we, but really it's Lane that did the research and wrote an in-depth post all about the layoffs in tech and what they mean for new developers, on which we're basing this conversation. By the way, if you do find this episode insightful, as I'm sure you will, make sure to give the podcast a follow and share the learnings from Lane on social media. Welcome back to The Scrimba Podcast. Let's get into it.

Lane Wagner (01:41):
I'm going to start by saying none of this is financial advice, but I am going to provide some opinions on what's happening kind of in the market. At least from a very, very high level. So this year's been rough for the stock market, for companies and publicly traded companies alike. And so the thing that you need to take into account when you're thinking about your career is, "Is my career being disproportionately affected from other career options that I might have?" This year has been particularly interesting in that regard. Tech has been hit harder this year than it has in, I would say proportionally in other recessions, right? In 2008, we had a housing bubble where real estate was disproportionately affected. Two years ago, with the coronavirus, we had a recession that kind of disproportionately affected small businesses that relied on foot traffic. And then this year what we were seeing is something that's disproportionately affecting tech.

(02:35):
That's something that's important to understand, because when you see giant layoff numbers and the economy looks really scary, it's important to understand tech actually is getting hit harder than it normally is. And the question is, "Is that something that's just unique to right now?" Is it a kind of blip on the radar so to speak, or is it something that's going to last for two or three or four years? Because most people learning to code, it takes a good year or two to really get your feet wet and find that first developer job. So you know, you really shouldn't even be too concerned about career prospects in the moment, unless you're of course actively looking right now. But it's more likely if you're learning at the moment that you're going to be really interested in your career prospects towards the end of 2023, or into 2024.

Alex Booker (03:20):
Do these events in tech affect junior developers prospects in the near term? Like say you're looking for a developer job now or you're gearing up to look for a developer job in the next, let's say four or five months. What impact do you think this has on prospects for juniors?

Lane Wagner (03:35):
At the end of the day, of course, right, of course it affects juniors. It affects seniors, it affects everyone. It clearly affected the developers at Twitter. The market moves... It kind of ebbs and flows, so there will be times when it's easier to get a job. There will be times when it's harder to get a job. If you look back, beginning of 2021, end of 2020, tech was just absolutely on fire. Everyone was getting a job. It was like Oprah Winfrey handing out jobs in tech.

Alex Booker (04:02):
You get a job, you get a job, you get a job.

Lane Wagner (04:04):
Yeah, exactly. And those kind of boom bust cycles are something we've seen in the past as well. Tech is very fueled by venture capital money, especially kind of in the startup world. But even up till companies are going public sometimes, they're sometimes still just kind of burning investor cash. So when the economy does well, tech does really, really well. But for the junior developer, I think it's very unlikely that we're going to see a long-term dip in demand for developers. I think it's very likely that demand comes back. Just because technology is permeated pretty much every aspect of our lives and even companies who in the past have not really hired developers, are now hiring developers. Because they need an app for their e-commerce store, they need IOT devices that interact with mobile phones, right? Everything is just getting more and more tech-heavy. So I think it's very unlikely that in the long-term developers will continue having a hard time finding work.

Alex Booker (05:00):
I think back in 2011 or so when Marc Andreessen wrote that software is eating the world, this is exactly what they're describing. That every single company out there, they all need software to compete in today's world. And for that reason, year-over-year, the market value of the software development industry continues to increase. The thing that's interesting is that towards the beginning of last year, or the end of last year, sorry. And throughout the summer, there was this thing happening in the world where senior developers especially were getting offered disproportionately high salaries and recruiters were often talking among themselves. I would peak at some of these conversations happening on LinkedIn and the public forum and they were saying, "Hey, if you want to hire senior developers going into the end of the year, you're going to have to really be on the top of your game because the demand for senior developers and experienced developers is so much greater than the supply."

(05:49):
I think essentially what happened in these cases, is that when the pandemic happened, everybody really turned online to engage with their friends. They also had more disposable income because they weren't going out as much and they would often order things to their door. What would influence their ability to order things? Well, maybe it's an ad they saw on a platform like Facebook. And essentially tech companies, especially advertising ones like Facebook, they earned so much revenue, they saw this huge trend, they wanted to capitalize on it, and so they had all this money to go and hire developers. And they were really racing to capture the market and they were really racing to take advantage of these opportunities. And when that happens, they don't really have time to hire junior developers. They would rather hire someone with the experience who can hit the ground running in the first place.

(06:32):
And so I remember in the summer there was all this anxiety among junior developers where the experienced folk, it seemed like the best time ever to be looking for a job. But as a junior you'd hear this and think, "Well, I can't hit the ground running right away. Does that limit my prospects?" Maybe just showing us there's always a degree of anxiety around getting your first developer job and you might just always have to deal with that to some extent. I think what's happening now, and Mark Zuckerberg explains this a little bit in the sort of investor relations document and the blog post he wrote, sort of describing why Meta were laying off 13% of their staff, around 11 K employees, I think that was. And freezing hiring to Q1. He basically explained that Facebook were counting on this trend to continue and that it was worth hiring and bringing all these developers onto the payroll.

(07:18):
Now that there is a macroeconomic downturn, increased competition and people are maybe going back into the real world a little bit, they don't have that same trend. It's not panned out how they would've hoped. So now they're in a position where they're vastly overextended and they have all these really experienced expansive developers on the payroll. And that's where a lot of these mass layoffs that we see in the news are coming from. People are listening to this episode probably because they've seen layoffs at very public and famous companies like Twitter, Tesla, Lyft, Stripe, Amazon, DoorDash, whatever. I could maybe guess and sort of think that if companies are a bit more conservative about their cash, a bit more cautious about who they hire, maybe they want to grow a little bit slower.

(07:59):
I think when you come about recessions and difficult economic times, a lot of companies, their priority is to survive. Because as long as they can survive, they can prosper later. If they go under, they have no chance, so they strap their spending a little bit. You know, maybe that represents a great time to start onboarding and working with junior developers, because junior developers are so much cheaper than senior developers. And yes, they take a bit of time to hit the ground running, but as I say, they're more economic in the short-term and they are an investments in some way. You should hope that they produce more outputs and deliver as time goes by. What do you think?

Lane Wagner (08:31):
I couldn't agree more with that. And it's definitely something I saw at the companies I worked at. We had almost no, over the last two or three years, almost no open positions for juniors. Because everyone was just so obsessed with hiring and moving as quickly as possible. But interestingly enough, at my own company at Boot.dev, my sole employee at the moment is a junior developer. And for exactly the reason that you described. Boot.dev is a fairly new company. We're doing our best to bootstrap and kind of grow slower with profits rather than raising millions of dollars. Alan is someone that I can coach, I can train up. He's much cheaper at the moment than a senior developer. Obviously his market rate will continue to go up as he gains more experience, but that is a significant advantage that juniors have. When I knew I wanted to hire someone for Boot.dev, I knew I couldn't hire a senior. It wasn't even a matter of if I wanted to or not, it just was out of budget.

Alex Booker (09:24):
Do you think then that junior developers should aim to work at smaller companies? Do you think they have more prospects and more security at startups and SMBs where perhaps they can appeal to the fact that they have less money to spend on developers? But also if these mid-size businesses don't have the crazy pressure that huge companies that are aiming for a public exit or something have. Obviously we should consider the pros of bigger companies as well, which is that you can get some fantastic mentorship and career opportunities and, in good times stability as well?

Lane Wagner (09:53):
That's a great question. Let me break job opportunities up into kind of three buckets. The first is working on a kind of in-house development team for a product-based company. You're just getting a full-time developer job at somewhere like Facebook or Meta or even at a smaller company, but the point is you're working on that company's product. The second option would be to go freelance. So you go out, find your own web development clients, you build web apps and websites for them. The advantage to that is that you don't need to interview anywhere. But the disadvantage is that you need to go find clients, which in some ways can be a lot harder. And then the third way, I would argue, is to work at a development shop. So this is a company that kind of outsources developers to other companies. And my advice is, if at all possible, you want to work in the first option for your first job. You want to go find a kind of product-driven company and work on a team with other developers where you're all working on the same product.

(10:49):
And the primary reason for that is A, you'll probably get paid a little better. You won't have to worry as much about finding clients and that sort of thing. But also, like you mentioned, the mentorship is really, really important. And for that reason, I would also recommend trying to not go remote for your first job. I'm not saying you never should or maybe in your situation it makes more sense, but if you can be like in-house, in office with other developers, you'll learn so much more in that first year, than you would kind of remote just communicating over Slack or email. So that's piece of advice number one. And I will say that if you're having success freelancing, there's nothing wrong with that. If you need to work remote or if you love working remote, there's again, nothing wrong with that. But the second piece of advice, I guess that I would give, is that you should try out a couple of different things.

(11:35):
So you mentioned, "Should I go work at a larger company or a smaller company?" Well, a smaller company is more likely to have a more loose hiring regimen. So if you don't have a CS degree, if this is your first job, you may have an easier time kind of getting through the HR department, so to speak. It will be a quicker process to get through to an actual hiring manager where you can actually show your skills in order to get a job. So my advice would be just to try different things. When I was a brand new developer, I applied at Google, I applied at small companies, I applied at mid-sized companies. And I went through different interview processes and kind of got a feel for the different companies. Not only what I thought I would like and what I wouldn't like, but also which of these processes is actually working for me. Am I getting through to these big tech companies? Am I getting through to more traditional companies like Walmart? So definitely try a few things and try to lean into what's working for you.

Alex Booker (12:29):
What you're describing are different categories of companies and how to keep that in mind whilst you're devising and executing a strategy to get your first developer job. I know there's great advice out there around your LinkedIn resume portfolio, but these are minimums. I think what really makes a big difference to most learners is having an actual cohesive strategy about how they're going to maybe get through the front door, or maybe find a way to go through the side door essentially. Which is where instead of applying for a job directly, you maybe rely on networking or something. A key, key part of that is an understanding of what kind of companies are out there. I think that at the easiest level you have things like freelancing, which is quite easy to get started, but it's actually really hard to be very successful at. And the thing that's really cool about freelancing is that your ability to get the job and get hired and get paid, doesn't really depend on your technical knowledge.

(13:19):
Because the funny thing about learning to code is that when you've been doing it for a few months, you realize how little you really know. And you're looking at all these other developers thinking you don't know anything yet and you're terrible. But you show your skills off to someone who knows nothing about computers, they'll think you're a coding god.

(13:34):
You can go to local businesses, friends of your family and what have you, and sort of convince them that you can deliver value to them. Obviously that is your own business and it requires a business model. And to really sort of supplement or replace your full-time income, that could be a challenge. That takes a lot of time and perseverance. The ever type is, sometimes there are small businesses that you freelance with or you could have been freelancing with. That don't really need that much tech. And so they hire just one developer, one junior developer who can pretty much get by. And that's a relatively easy way to get your first job, but then you really lack things like mentorship and growth opportunities and inspiration. And that's something where you have to make a trade-off, because you might be getting a job earlier than if you were to hold outs and continue to level up. But then in the long-term, maybe that catches up with you, because you don't have the same prospects.

(14:20):
I would say in my experience, and based on the interviews I've done, the next sort of type of job that people get that is on the relative easier side, is working at an agency. As a client, you get a similar profile to a freelancer, because they can come in and do tasks for you. There's no long-term commitments. But for you as a developer working at an agency, you get sort of consistency of work. You can get a bit more mentorship, you can see a few more opportunities and get experience in a bunch of different industries. And if that sounds like it appeals to you, then that could be a great place to start. And then it's a lot quicker and easier to explain from here, because I think it's exactly what you said, Lane. They're like startups and SMBs, they have much less applicants.

(14:58):
If they're a startup especially, they're probably quite open-minded, so hustlers who can sort of network and sort of sidestep the interview process. It's achievable, it's approachable to sort of get in touch with the hiring manager directly. Or somebody of a startup, even the founder in that case. The same could be said to some extent for SMBs, but what an SMB is, is a bit harder to define. It could be 50 employees, it could be 500. It's not always so easy to distinguish. But then you have these enterprises and FANG type companies where there is obviously this allure of the prestige, maybe a great salary. In some cases I do think job security. Because when you hear about people working at a company for 10, 15, 20 years, it's almost always like Dell, or Coca-Cola, or Microsoft or something.

(15:41):
You don't see that as much in startups, so there is something there. But as you said, it's much harder to go outside of their defined processes because they get so many applicants. That's just the way they have to do it. And maybe they're in such a privileged position where they have so much demand, they can really be more picky about what kind of profile they're looking for. They might be less likely to look past your rough edges or allow some of your weaknesses despite your strengths.

Lane Wagner (16:06):
Yeah, I think your points are really great. I would tend to agree that technically freelancing's probably the easiest because there's no interviews. Although once a lot of people get started in freelancing, they may actually realize that it's harder in that you actually do need to go find clients. So instead of just needing to be a good developer, now you need to also be a good marketer or salesperson, in order to get your services kind of sold. But if that's something that you're already good at for example, then maybe that is the best route to take. The only thing I really feel like I can add to what you said, because I think it was all great. Was that a lot of developers or new developers, they think that when they accept a job, that it's kind of this huge commitment that they're going to be there for five to 10 years.

(16:46):
And my guess is, that's because that's how so many other careers work. At least for me, all of my teachers in grade school and high school, they've been teachers for, in most cases, decades. I have a father who is a mechanical engineer. He's worked at two or three companies over the course of 30 years. In tech, you have so much velocity to move between companies when things are or not working out. So I just would never be afraid to take that first job, even if there's a couple of things maybe you don't love about it. Like you don't think it's maybe the perfect fit, but you think it's something that'll pay you and it's somewhere you can learn. I'd say just take it. In six months, if it's not working out, you can always continue the job search. Do not feel like you're locking yourself in too much.

(17:30):
Obviously you don't want to be hopping jobs every six months, but it's better to have a job than no job. Because now you're racking up experience and you can kind of move towards the kind of career that you want more long-term. I think that's something that a lot of juniors maybe overlook as a possibility. The other piece of advice that kind of goes along with that is... So number one, don't overlook the possibility to move between jobs. And number two, do not stop learning. I've seen this so many times where developers get their first job and they just completely stop reading articles. They stop watching videos, they stop taking courses. But I think the most successful developers, the ones that get to that kind of senior status the fastest, are the ones who just don't stop learning. They keep learning about the new tools that are coming out. If they didn't have a traditional CS degree, maybe they go back and they learn those data structures and algorithms that they maybe are a little fuzzy on.

Jan Arsenovic (18:23):
Coming up on The Scrimba Podcast. What can we see if we analyze some layoff stats?

Lane Wagner (18:29):
When everyone else is laying off, it's more politically acceptable to also do some layoffs.

Jan Arsenovic (18:34):
And should coders be afraid of ChatGPT?

Lane Wagner (18:37):
I've actually used it to generate coding challenges for Boot.dev.

Alex Booker (18:41):
I'll be right back with Lane in just a second. But first Jan, the producer, and I wanted to give some shout-outs to anyone who shared the episode since last week. You know Jan, I love it when people pop up on Twitter or LinkedIn or Discord sharing the episodes. And I love it even more when people share their specific insights from the episode. That's so cool to see. What have you noticed on social media in the last week or so?

Jan Arsenovic (19:04):
Nilesh, who listens to us while running and whose tweet I featured last week on the show, tweeted about us again. "Listened to The Scrimba Podcast with the amazing Danny Thompson while running. One of the best podcasts it was, and I suggest everyone, especially beginners and more especially beginners from a non-CS background like me, to listen to it. Please do it." And @CodingGimmick responded. "Danny is always amazing when it comes to providing value, even during his spaces on Twitter, he never fails to give exceptional pieces of advice." Nilesh, thank you for sharing this episode. It was indeed a good one and I'll be linking to it in the show notes. Biljana, @BiljanaCodes tweeted to Trecia who was on the show a couple of weeks ago saying, "Just heard you on The Scrimba Podcast and it really helped me accept my shortcomings with JavaScript and to not be so hard on myself. I've been caught up in the illusion of becoming a developer in X months and I have put crazy expectations on myself. Patience is the key."

(20:03):
And Marie, @hyggeandcode tweeted, "The Scrimba Podcast and Alex Booker have indirectly convinced me to join Twitter. So here I am. I'm a computer science student learning to code in between kids and house renovation. Nice to meet you." Marie. Welcome to Twitter. The coding community here is amazing. If you're enjoying the podcast and you want to help us keep doing what we're doing, the best thing you can do is to talk about it. You can also leave us a rating or a review in your podcast app of choice. And now we're back to the interview with Lane.

Alex Booker (20:36):
It's really fun hosting The Scrimba Podcast, because I get to connect the dots between a few of my guests. And I remember interviewing Madison Kanna a few weeks ago. And she was describing how she learned more in the first month of her internship than she would've done three months teaching herself. Because it was just so immersive and it was real world and it was the kind of experience you can't artificially manufacture, like solving production bugs, for example. Another one of my guests, Alex, who also goes by Tech Rally, shared this funny joke with me, which is where, when you have no experience recruiters and hiring managers, they might not reach out to you. They might be a bit skeptical. But once you get your first ever job and you finish that grind, all of a sudden you get 10 messages in your inbox from recruiters because they're like, "Oh yeah, if you're good enough for someone else, you must be good enough for us", kind of thing.

(21:20):
It's really interesting to reflect on, because I think your advice is basically, if you feel like it's right and you feel like it does work for your life, generally getting your first developer job as soon as possible is a great idea. And you're not committing to it for the rest of your life. You can probably hop around after six months minimum, but after a year you'd have no problem.

Lane Wagner (21:39):
Yeah, I want to share just a bit of an anecdote. I would argue, it comes from a place of responsibility. So I have this student on Boot.dev who landed an unpaid internship, and after a few weeks got a job offer. And he was talking to me about it and he said, "Maybe I'll do the internship like halftime or in the evenings and then I can go work on this job full time." And I'm like, "Whoa, whoa, whoa. Stop, stop, stop. They're not paying you. You can just quit and go to the job. That is so much better for your career. Not only will you probably be learning more, but you'll actually be earning. So it's great that this company took you on for an unpaid internship, but I guarantee that if you leave, they're not depending on you for critical pieces of infrastructure. You're not leaving them in the lurch."

(22:22):
So just try to keep that in mind. Obviously always be respectful. Thank people when you do end up leaving a company. But at the end of the day, especially in those first couple of years, I really think you should be trying to kind of move yourself into that position that's going to work for your career long-term.

Alex Booker (22:37):
This episode's shaping up to be a banger, because we've spoken about the recession, now we're speaking about unpaid internships, another controversial topic. The only thing that could bring this full circle and top the charts, is if we spoke a little bit about AI. And it does actually lend itself to a very relevant question around the anxieties of the future of software development. Will the market still be hiring and what does that mean for me? But also you've probably seen, and if you're listening, you've surely heard of chatGPT 3, 3.5 I think technically. And you might have seen that you can give it some prompts and it can generate code. Before that, we had GitHub Copilot and there's also AlphaCode by DeepMind, I think, that's been floating around for a while.

(23:18):
But now more than ever, junior developers seem to wonder, and I understand so much. I don't know what it is, but when you're teaching yourself to code especially and you just have no guarantee of success, it's somehow easy to feel influenced by these things and it can really add to the uncertainty that you already have. But hey, Lane, will AI and tools like ChatGPT replace programmers in the near future?

Lane Wagner (23:41):
Will they replace programmers? Almost certainly not. Will they be used by programmers and other kind of knowledge workers? I think, absolutely. So I've been playing around with ChatGPT and I think it's really, really great for a lot of use cases. And it's really hard to predict how it's going to be used in the future. Because every time we get kind of to a new level with AI, it's hard to know exactly what kinds of things it's going to be good at. For example, I remember a lot of the hype in 2017 around Tesla was that by 2020 we'd have full self-driving cars. We're not there yet. It's still really impressive, but sometimes the gains that we make in these algorithms are very incremental. And then all of a sudden there's a huge leap, and then they're incremental again. And so it's hard to know with each large leap what the outcome of that is going to be. For example, with something like ChatGPT, I've actually used it to generate coding challenges for Boot.dev. It's super great tool.

Alex Booker (24:36):
No way.

Lane Wagner (24:37):
Yeah, like I say, "Hey, I want a Python challenge that has the student kind of work on this and I want this test suite." And it drastically speeds up my process, but almost every time, of course I have to kind of manually edit it. I want it to be a really great experience for the student, so I'm changing up the description to make it a little more clear. That kind of stuff. I'm very skeptical of it actually replacing jobs. 30 years ago, the tooling for developers was not great. You had to really know what you were doing. You're coding in some really crappy text editor, nothing works together. It was highly inefficient. And the market for developers was not as good as it is today. Developers and programmers were paid less. A lot of times they were just looked at as kind of glorified IT/help people.

(25:21):
And I think part of that, I don't think this is the entirety of the conversation, but part of that I think is that developers just moved slower. They weren't as able to add value as quickly as they are today with all the tools that we have available. So I think with more better tools, it doesn't mean we're going to stop writing software, we're going to stop inventing new products. I think we'll just be able to do it more efficiently. But like I said, it's really hard to predict what AI and robotics and all this kind of stuff is going to be good at. All you can do I think, is continue to upskill yourself and make sure that you're great at your craft. Because it's always going to be the less talented or the less experienced people who are having a harder time finding work. I shouldn't say less experienced because as we mentioned, there are advantages you have.

Alex Booker (26:03):
Junior developers aren't hired because they're amazing coders or because you have a load of experience. It doesn't make any sense. You're so relatively new to this, you oftentimes get hired for your potential and your critical thinking ability, and your ability to solve problems. And I think that's exactly the points, which is that these AI tools, even though they're incredibly impressive and they might speak you out at first, they are very good at sort of filling in the blanks. GitHub Copilot is called Copilot for a reason, which is that it kind of sits alongside you. It's like autocomplete on steroids. It's not the same thing as programming necessarily. And the really funny thing is, and I love the way you kind of go back and tell the history a little bit. Something else I would add to that is that when Fortran was developed, one of the early high level programming languages intended to make you more efficient at expressing instructions to a computer, Fortran just gets turned into machine code.

(26:53):
That was considered controversial at the time, people would say things like, "Oh, you should probably stick to Assembler because you'll always be closer to the machine and have more control and stuff."

(27:02):
I feel like every year basically programming languages, they become more abstracted, more efficient at allowing us to express our carefully considered instructions to the computer. But the thing is, AI does not have total overview of the problem. There is this idea in computer science called automatic programming. It's when a person can just tell the computer what the program should do, and the machine will come up with that executable code to do exactly that. It's an incredibly ambitious idea and it's been around for decades. And I think there was some popularity around this idea in the 60s and 70s and lots of research, but it was too hard and the popularity died out. And obviously now there's a bit of a rejuvenation with things like ChatGPT and what have you, but we're still so far away from that. Because if by definition automatic programming is telling the computer what you want to happen and it generates executable code, that's not really what's happening.

(27:55):
You have to go into ChatGPT and you just express, not quite the specific instructions, but you still need to tell it what to generate. And the AI can't assemble that in a way into a complete executable program. And most importantly, the AI stuff has no proper idea how to verify the correctness, performance or utility of that code. That's the job of a programmer, right? And to collaborate with other programmers. And so I think right now, even though the prospects are very exciting, it is essentially a productivity tool like you described, I think. And I don't think it's a threat to developer jobs. The only thing that crossed my mind in the spirit of completeness is that, if somehow developers are so efficient, one developer can do the job of two developers with the benefit of these utilities, then maybe that could affect the sort of supply and demand in the job market.

(28:44):
But then I would counter argue that the job market is basically still growing as software continues to devour the world. Actually, and I don't know about you Lane, but when I'm working on code, writing it is like 10% of my time. I get that you can save a bit more than that if you can generate useful functions, but a lot of my time is spent reading code, which AI, as far as I know, can't do. Or it's spent thinking about the plan. Or collaborating on a particular thing. Or fixing a bug or something, you know.

Lane Wagner (29:12):
Yeah. I agree a 100%. Something that I think especially newer developers, I definitely did when I was newer, is get hung up on this idea of, "Okay, my job as a programmer is to memorize syntax and write kind of valid code." But that is such a small part of the value that a developer brings to an organization. We've had IDs and tooling for a long time that can do kind of static analysis code. Check whether you spelled something correctly. And yeah, I tend to agree that, at least over the next few years, things like GitHub Copilot, ChatGPT, or just the GPT language model in general, will kind of be those on steroids. If you want to really become the best developer you can be, especially going into the future, thinking about how you can improve your, for example, architectural skills. Those are things that I think it'll take a lot longer for AI to figure out how to do effectively, right?

(30:01):
Like, "How do I connect these files in a cohesive way? How do I have good separation of concerns in this API that I'm building? Or maybe this micro architecture that I'm deploying to my backend." These are the kinds of things that have always been the job of developers, but now we can focus more on those higher level things, because we'll be able to sling code a little bit faster.

Alex Booker (30:21):
Maybe you can help us out a little bit. I'll just say that there's nothing that makes a newb developer look like a newb developer like when they say, "Hey, I know all these programming languages and all these tools and that's why I think you should hire me." Because it just kind of shows you've got the wrong idea. Maybe you can help us learn what makes a programmer versus someone who just knows a bunch of tools.

Lane Wagner (30:41):
One of the most common questions I get when people kind of join Boot.dev for the first time is like, "Oh, you teach Python and JavaScript and Go. Like, Why can't I learn Ruby here?" Or something like that. And what I always try to explain is that more important than the exact programming languages you're using is the concepts that you're learning. If you go and you learn how to build a front end in React, that's fantastic. But if you really learn how React works and why it works the way it does, it's going to be really easy to just go build a View Application, for example. As an aside, I mean View is what I use to build the front end for kind of Boot.dev's interactive coding environment, and a couple of weeks ago I was just like, "Oh, I've been hearing about this Svelte thing. I think I'll go build an app."

(31:24):
And in a few hours I had this working kind of flashcard game in Svelte. My point being, it's not about exactly like you said, going and learning all these random different tools. It's about learning the fundamentals and once you understand how they work, why they work, it's just so easy to branch out. So you asked, "Well, what should I learn? If I shouldn't just go learn 10 different programming languages, what should I learn?" I think the important thing to do is learn the underlying concepts. So when we're talking about front end development, we're talking about reactivity, right? We're talking about functional programming, we're talking about separation of concerns. When is redux in the React world? When is redux a good architectural decision versus a bad architectural decision?

(32:03):
And you learn these things by doing them. By building the applications, by taking courses, by watching videos, but especially by putting into practice. Because you'll bump into those kind of architectural problems along the way. And when you go read about them and see what other people are doing to solve the problems, then you'll have a deeper understanding.

(32:22):
My favorite kinds of questions to ask in programming interviews when I'm interviewing other developers are "why" questions. So I'm not going to ask you, "How do you do this in JavaScript?" That's not super interesting to me. You've memorized the answer, that's fantastic. I want to know why you would do it that way. "Why would you use Redux in this instance or not? Why would you build your backend in Go?" Or, "Why would you use a postgres database for this kind of application?" If you're able to demonstrate your depth of knowledge by having some sort of opinion, even if I don't necessarily agree with your opinion, that's okay too. I just want to know that you've thought it through and that you've been exposed to those ideas.

Alex Booker (33:00):
The thing I wanted to come back to, and I think we've answered it a little bit, that's why I feel like we've made a nice full circle here. In light of what's happening in the tech industry, there's no need to panic necessarily, but you should be judicious and you should make sure to have a good strategy and think about the companies you're applying at. No, AI is not going to replace programmers anytime soon. If you're gearing up to become a junior dev and you're listening to a podcast like this, I don't think it's relevant to you, but you can of course learn about those things to just make sure you have a robust understanding of it. I wanted to point out that in your article, which we'll link at the top of the show notes, you mentioned a website called Layoffs.fyi, where they have great data on sort of layoffs happening in the industry.

(33:39):
The graph's really interesting here, because it shows for the companies with layoffs, a number of companies doing layoffs, hasn't like changed dramatically since May or June. There's been layoffs happening for the last six, seven months or so. And even though there is obviously a spike in November, what's interesting is that the total number of employees laid off has increased a lot towards the end of this year. And the reason why that's happened is because it's just bigger companies doing these layoffs and it's now made the news rounds and things. And so this isn't exactly new, it's just more in the public eye.

Lane Wagner (34:10):
Yeah, I think that's definitely the case. And I also think maybe we're seeing a sort of pile-on effect. This theory has certainly made the round of Hacker news at least, where basically the idea is, when everyone else is laying off, it's more politically acceptable, especially if you're a large company, to also do some layoffs. So maybe you thought, "Hey, we should be doing about a 10% cut anyways. We've accumulated some fat over the last two years." It's much more politically acceptable to kind of cite the market and say, "We're going to go ahead and cut 10% to 15% of our workforce now." That number is incredibly strategic. Most companies with thousands of employees can find their lower 10% of kind of performers and lay them off. And 10% is an interesting number because when you only lay off 10%, right, that's one in 10 people, I think you're less likely to cause panic within the organization. So you run less risk of say, your top performers quitting due to fear. So I do think that there's something about the 10% number that's fairly strategic, although that's just me speculating.

Alex Booker (35:12):
Yeah, unless you're Twitter, of course. And I think they've got rid of, what is it, like 60% at this point? That's a tall outlier, but that's a whole different discussion.

Lane Wagner (35:21):
Yeah.

Alex Booker (35:21):
But yeah, the question I'm coming to is, okay, you can't control most of these things. They're things that are happening in the world, they're happening at companies. You have literally no say in it at all. What are things that junior developers can control and should do to maximize their chance of success going into 2023? Whether they're looking for a junior developer job or looking to start freelancing or something like that?

Lane Wagner (35:42):
If you're learning front end development for the first time on scrimba.com or you're learning backend development on Boot.dev, what should you take away from this whole layoff situation? I think the best thing you can do, honestly, is to kind of ignore it. Step number one, don't panic. Step number two, just kind of reassess the gravity of the situation. But to be honest, I think the worst thing you could do, the scariest thing, would be to panic and kind of quit. At the end of the day, some people will be shaken by this, I think, and kind of use it as an excuse to either stop studying, stop learning, stop applying. But I think the people who really kind of understand that this is most likely a short-term blip in the kind of tech career market. And continue learning, continue improving themselves. Upskilling, learning, the kind of stuff that a lot of self-taught developers aren't necessarily learning. Going deeper on say, algorithms, data structures, all that kind of stuff. The people who really work the hardest, I think will come out the other side of this even better for it.

Alex Booker (36:42):
Your advice is to focus on becoming the best candidate you can be, because that's really the only thing you can control. And ideally, having a good job hunting strategy and good like job hunting hygiene as well. Just having the best profiles you can make. The best portfolio, having a solid resume available certainly helps as well.

Lane Wagner (36:59):
Yeah, absolutely. I think the general advice just absolutely doesn't change. Be the best candidate you can be. Be the best developer you can be, and there will be jobs for you. This industry isn't going away, I think short of some sort of nuclear or EMP apocalypse.

Alex Booker (37:15):
And on that bombshell, literally. Lane, thank you so much for joining me on The Scrimba Podcast.

Lane Wagner (37:20):
Thanks. This has been fantastic, Alex.

Jan Arsenovic (37:23):
That was The Scrimba Podcast, episode 104. Check out the show notes for the resources mentioned in this interview, as well as all the ways to connect with Lane. If you made it this far, please consider subscribing. We are a weekly podcast. And that way you're not going to miss any of the upcoming episodes. One week we talk to an industry expert and the other we're chatting with a recently hired junior developer, so you get to learn from both sides. You can find the show wherever you listen to podcasts. The Scrimba Podcast is hosted by Alex Booker. You can find his Twitter handle in the show notes. I've been Jan producer, and we will be back next Tuesday.