Do you like backend web development more than frontend? Have you been lied to about how entry-level backend developer jobs don't exist? I brought on Lane, a backend developer with a ton of experience in the industry, to break down why you're most likely not landing your first backend developer job. If you really are striving to land a backend position, this episode is for you.
Lane Wagner (guest):
Backend course - https://boot.dev
Podcast - https://www.backendbanter.fm
Youtube - https://www.youtube.com/@bootdotdev
Twitter - https://twitter.com/wagslane
---------------------------------------------------
🚀 Technical Mentorship - https://forms.gle/Ypde55JEQdtAftrBA
🎓 Webdev Career Help - https://calendly.com/donthedeveloper
Disclaimer: The following may contain product affiliate links. I may receive a commission if you make a purchase after clicking on one of these links. I will only ever provide affiliate links for apps that I've used and highly recommend.
My #1 recommended FRONTEND course (15% off):
https://v2.scrimba.com/the-frontend-developer-career-path-c0j?via=donthedeveloper
My #1 recommended BACKEND course:
boot.dev - Get 25% off your first payment with code "DONTHEDEVELOPER"
🤝 Join our junior friendly developer community:
https://discord.gg/donthedeveloper
Do you like backend web development more than frontend? Have you been lied to about how entry-level backend developer jobs don't exist? I brought on Lane, a backend developer with a ton of experience in the industry, to break down why you're most likely not landing your first backend developer job. If you really are striving to land a backend position, this episode is for you.
Lane Wagner (guest):
Backend course - https://boot.dev
Podcast - https://www.backendbanter.fm
Youtube - https://www.youtube.com/@bootdotdev
Twitter - https://twitter.com/wagslane
---------------------------------------------------
🚀 Technical Mentorship - https://forms.gle/Ypde55JEQdtAftrBA
🎓 Webdev Career Help - https://calendly.com/donthedeveloper
Disclaimer: The following may contain product affiliate links. I may receive a commission if you make a purchase after clicking on one of these links. I will only ever provide affiliate links for apps that I've used and highly recommend.
My #1 recommended FRONTEND course (15% off):
https://v2.scrimba.com/the-frontend-developer-career-path-c0j?via=donthedeveloper
My #1 recommended BACKEND course:
boot.dev - Get 25% off your first payment with code "DONTHEDEVELOPER"
🤝 Join our junior friendly developer community:
https://discord.gg/donthedeveloper
Welcome back to another podcast episode where we help aspiring developers good jobs and junior developers grow, and this one we're going to be diving into how to become a back-end developer. I actually did an episode with this gentleman a little while ago. I thought it was pretty good. Check it out. Back-end banter is the podcast. But yeah, we're going to dive into how the hell you become a back-end developer, because I get a lot of brand new developers and if you're a brand new developer, this is definitely for you. But I get a lot of brand new developers that think becoming a back-end developer isn't for them in their future for like five years. They think it's like the hardest thing to get into, and so I brought on back-end developer. We're going to dive into exactly how you can get it done. But yeah, lane, thank you so much for coming on again.
Lane Wagner:Yeah, so glad to be here. Great to chat with you one more time.
Don Hansen:Yeah, for sure, let's just dive into it. So, basically, who are you, what is your back-end experience and why should people care what you have to say?
Lane Wagner:Yeah, good question. Well, the jury is still out on whether they should care, but I can't tell you about my experience. I started programming around 2010, building toy stuff in high school. So I took a programming class at kind of the local community college around that time and I got started building just little scripts.
Lane Wagner:So as a big Starcraft 2 fan at the time I mean still am, but it's an older game now and I wrote this little battle simulator in Python and that was one of the first times that I really got programming in the sense of like I built some loops, I'd done some things.
Lane Wagner:You had these things called variables. Everything felt really abstract, like I was kind of just doing math. But when I was able to solve a problem specifically for a video game that I was really into at the time, I thought that was pretty cool. So I took that project to like a local code camp, won a little prize, I think I like a $25 gift card and a backpack, but it was pretty exciting to me. So that kind of kicked off my whole programming journey. I went and got a CS degree at that same local community college and then I had a very I would kind of describe it as a fast career progression from you know your standard junior developer, mid-level developer, team lead and then hiring manager, before finally starting the company that I work at today, which is BootDev.
Don Hansen:So in your dev positions, first of all, I love StarCraft too, but in your dev positions, what were you focused on? Were you leaning a little bit more back end, a little bit more front end?
Lane Wagner:Yeah, so I've never really been professionally employed as a front end developer, at least technically speaking. All of my roles have been back end oriented. There were times where I had to dip into the front end and certainly I taught myself a lot of front end stuff for later positions where I was like kind of over a larger team and I had to understand the front end side of the stack or I even had to go pick up tickets. But I started as a back end developer and that's really been where the focus of my career has been, specifically in Python and Go.
Don Hansen:Python and Go. Okay, let's just dive into it For people that are trying to get started. So I'm going to give you a certain type of person. I am trying to get into coding. I find that I don't really like front end that much. I've explored just a tiny bit. But I want to become a back end developer and I've been given this advice that brand new people they're not allowed to become back end developers. It's kind of gate kept for people with a little bit more experience and the argument usually is managing a little bit more critical systems, managing the database, managing very crucial information. That wouldn't be like the trust wouldn't be given towards me. So what actually? Let me just ask you this Do you think new developers can become back end developers or do you have to start with the front end first?
Lane Wagner:It's a good question, so there's some truth to what you just said, but the conclusion of the question is no, you don't need to be a front end developer before you can be a back end developer, and you can get your start as a back end developer. Like just the binary answer is it must be true, because I did it and I know plenty of people that went that route. So, absolutely, you can start with back end development. There are maybe, though, some threads that you opened up that we can tease apart if you'd like. For example, is it harder to learn back end development or does it take a little longer?
Lane Wagner:I would say there's some truth to that, but I would also say it's not nearly as intimidating as most people I've talked to have been led to believe that it is, and what I mean is if you figure that it takes I'm just throwing out a number, because it takes way too long to explain all of the different nuances that go into this but let's say it takes, on average, 12 months to learn kind of what you would need to get started as an entry level front end developer. Let's just assume that that's the case. I would say to become a back end developer probably take 15 months, so add 25%.
Don Hansen:Okay, interesting. Where do you start?
Lane Wagner:That's a good question. Everyone starts with HTML and CSS right, at least online. And that was so interesting to me when I started to get into the online learning world, because the only reason I was really driven to online learning was because my wife wanted to learn to code. So I'd gotten a traditional CS degree, kind of worked my way up through entry level jobs. My wife was working at the hospital and she was really interested in getting into coding. She had a strong math background, really likes logical thinking, problem solving, huge fan of puzzles, and so I started poking around because I'm like well, half the developers I work with don't have CS degrees. So it's pretty crazy when you're 25, 26 with a degree to want to go back to college. So I started looking and I was very surprised that the curriculums for kind of e-learning programs and even boot camps often were so different from what I saw in my CS degree.
Lane Wagner:I don't think I learned HTML or CSS until after my C++ class, even Like I'd taken Python, I'd taken C++, object-oriented programming, all these things before I even really built a web page. And when you're focused on the back end which, to be clear, cs degrees aren't necessarily focused on the back end either. They're focused on computer science. But when you are focused on the back end side of the stack, you don't necessarily need to start with the visual stuff with the web pages. You can start with command line scripting and little command line apps that just kind of do interesting things with data. And frankly, I'm glad it started that way, because I don't know if I would have stuck with it if it was HTML and CSS. I'm just not that, especially at the time I just wasn't that interested in building websites. I wanted to compute stuff. You know what I mean. I wanted to do interesting things with data.
Don Hansen:So that's an interesting comment, one that I very much agree with. Coding boot camps really don't line up with what you're learning at computer science degrees, and I've gone through a lot of coding boot camp curriculums and I've heard different advice. I've brought on a lot of people from coding boot camps. A lot of coding boot camps advertise as full stack You're going to become a full stack software engineer, and it just feels like the knowledge of the graduates coming out. It's all surface level. So they'll teach multiple back end languages and I think that's something you do with your course, but they'll stuff it into like four months and they'll really condense it down.
Don Hansen:And I find that just programming fundamentals in general are very much lacking and they're just not reinforced and a lot of graduates need to look up tons of information because it's just so rushed. But I feel like coding boot camps they kind of just touch on the surface level of it. They give you exposure and then the expectation it's sold to you like oh yeah, you'll be job ready as a back end developer, front end developer, whatever you want to do. Then, kind of at the end, they're like by the way, we kind of just give you a little bit of an outline, a little bit of exposure. So now you need to do the rest right. So I do feel like coding boot camps. They don't go deep enough at all. But more specifically, what do you think coding boot camps are lacking to really prepare back end software engineers?
Lane Wagner:So I think there was a model and, to be clear, I think there are good boot camps and I think there are bad ones. I've definitely seen examples of both, and if a boot camp is in 2023 advertising four months, I think it's probably a bad one. It's hard to say that in a blanket way, but I mean, four months is just probably too quick to go as deep as I would like students to go. I think the model of coding boot camps that really started to crop up around 10 years ago worked for a while because we had such there was such an enormous pressure to get more developers into tech because we just companies were making money hand over fist. I mean, they still are Companies have been making money hand over fist in tech, but there was such a vacuum of developers 10 years ago, and so, training someone up for three or four months, handing them off as an entry level developer to a company, companies were more than happy to pick them up under the assumption that we're going to train this person for another six months. We're going to keep teaching them things they need to know, but you've done the hard work of getting them most of the way there, teaching them the fundamentals that, frankly, we don't have the time to teach them.
Lane Wagner:I think that model worked really well. I think for the last, particularly the last two years, it's been really rough with this tech recession and the layoffs where the bar has been raised, and nothing fundamentally about what we do as developers has changed. It's just the markets changed, competition is higher and it ebbs and flows. I'm not a doomsday believer in tech. I do think that we'll have plenty more bull runs in tech, where it's going to be crazy, hiring frenzies again. It's hard to predict when those things will happen, but I do think that today you just need to go so much more in depth than what was required in the past, and the boot camps that haven't accepted that fundamental truth of the market can do a disservice to their students.
Don Hansen:A big question is how much do I need to know Where's that line in the sand? If someone asks you that question, how do you answer that question?
Lane Wagner:It's kind of a fundamentally flawed question, but I totally get it. Everyone's asking. Again, they have every right to ask it. Here's the problem you can't know.
Lane Wagner:You can't know that when you start to learn to code, you have no idea where your first job in tech will eventually be. At least, no one I know has ever had that experience where, when you start writing your first lines of code, you know exactly where you're going to work, and the problem with that is every job that you could conceivably have as your first job in tech will have you doing very different things day to day as a developer, and so optimizing some learning path from where you are now to that specific job is almost a fool's errand, because you just can't make those optimizations early on. So my kind of philosophy around this is that you just need to accept the fact that you're going to be learning a broader set of skills and that some of those skills may not be directly applicable to the very first job that you'll have in tech, but they'll almost certainly be useful and very likely useful down the line. But because you've picked up on that broader set of skills A you'll look better and stand out amongst the competition of people that have tried to sort of minimize their learning path. But it also just means that you'll be more qualified for a larger pool of jobs, right, because you have this more general foundation.
Lane Wagner:Now that doesn't mean that you can't specialize in something. I think it's good to do that too. But approaching the whole learning process with a mindset of like I want to get really good at this stuff and I want to understand how things work like one layer deeper, right, like if I'm learning React, I want to understand how JavaScript works, if I'm learning JavaScript and promises, I want to understand how promises actually kind of wait for the network request to come back and why that mechanism works the way that it does. Because if you do that, even though it can feel like that takes a little bit longer, it actually shortens the experience because you're spinning your wheels much less than you otherwise would be.
Don Hansen:I like that In the JavaScript world there's a lot of abstraction and it seems like I mean this is the frustration with just people wanting to get into JavaScript. They want to do it fast. For some reason it's the fast lane, it's not. There are so many people trying to become developers, even front end developers, and dive in like pick up a React job and their JavaScript and just programming fundamentals suck Like they just dove in too quickly. They didn't really figure out what's happening under the hood.
Don Hansen:Why does this work? Why is it this way? Because even in my coding boot camp, we were exposed to a little bit more low level stuff. We didn't really dive into a low level programming language, but we learned that the garbage collection, while it might not be extremely efficient with JavaScript, it was convenient. We didn't have to worry about anything in memory and just get kind of understanding that and understanding that these abstractions do exist to make it easier. But what is actually happening? I feel like that's really important for backend developers specifically, like you can get away with a little bit more abstraction as front end, but I feel like a lot of hiring managers they're hiring back end developers that are very curious to keep digging deeper and deeper and deeper. I love what you said about that.
Lane Wagner:Yeah, that's definitely been my experience. Oh sorry, go ahead.
Don Hansen:No, go ahead please.
Lane Wagner:No, I was going to say that's definitely been my experience. One interesting. This is essentially just an anecdote, but one thing that really stuck out to me, and one of the reasons I've been so passionate about e-learning on the backend side, is I was working at a company this is now three, four years ago, probably closer to three. I was a hiring manager on a backend team. We had three devs I was looking for a fourth and the team that I worked most closely with. They had a React app that they were responsible for maintaining and they needed essentially a React developer plus a little bit of node experience. And when the manager of that team opened up the job opportunity on LinkedIn and indeed in all the normal places, like hundreds of applicants within the first week, right when I opened up the application for a Go developer on my team tens of applications, right. Like there was literally an order of magnitude difference between the number of people that were applying for that JavaScript position versus the Go position. Like I interviewed almost half of the people that applied to the position I was hiring for. That at least didn't have just like completely bullshit resumes, Like of the like reasonable resumes. Like I was like interviewing half these people and that really stuck with me. So you know we talk about.
Lane Wagner:This is just something that I think is important to share, in the sense that we talk about how a language like JavaScript there's lots of jobs for it, and that is true there's also a lot of competition for it, and there can be times where it makes sense to give yourself a skill. That's just a skill that not everyone has. It's not the most popular skill, but there's still plenty of jobs that are looking for it, but you happen to be one of the few that possess this skill right. That's actually how I got my start in Go. Go was not popular when I learned it in college. This is 2015. It was very, very new. I thought it was cool. I thought it was fun. I built some weird projects with it, with a Raspberry Pi, and that really stuck out. When I applied to Go developer jobs I'd applied to hundreds of Python jobs I was, frankly, having a harder time. The few Go jobs that I applied to I was hearing back for more regularly, probably just because it was a smaller niche.
Don Hansen:Yeah, that's. It makes sense what you're saying. And everyone wants to learn JavaScript in the. Hundreds of people are applying to every single JavaScript position. For the most part, you have that opportunity with Go. I'd be very so. That's the thing. You're sacrificing the number of opportunities for you being able to stand out a bit more. Do you feel like companies are hiring a lot of entry-level developers with Go?
Lane Wagner:That's a good question. I don't know. I haven't done enough research to answer the question. Well, I do know that a lot of the Go positions for a while this again, like five years ago were companies that were transitioning to Go either off of specifically like Ruby or Java, sometimes Python for performance reasons and so they were looking for more experienced Go developers to make that transition. I mean, I got my first Go job as essentially an entry-level developer. Technically, I'd had a year of experience as a part-time developer, so it wasn't quite brand new, but I was pretty dang close.
Lane Wagner:The irony, though and this is just about Go specifically is that Go is arguably the easiest programming language to learn.
Lane Wagner:It's just such a small syntax Like, even compared to Python, like getting started with programming in Python, I would argue, is easier because the syntax is just a little less verbose. But learning the language of Python, like all of the nooks and crannies and all of the features, takes much, much longer than learning Go. And, to be clear, I'm not saying you should go learn Go or you should go find some little programming language, because that's the right strategy. My point is just that you should be learning what's interesting to you and you shouldn't be afraid to spend some time learning something interesting because you're worried that there aren't jobs in that thing, like, even if you don't go work in it, being able to be like, hey, I built this weird ass project that I thought was really fun, that did this very specific thing. That just shows that you care right and it can stand out, even if you are applying for, you know, a standard kind of React, nextjs, javascript, python, like whatever a very kind of mainstream company.
Don Hansen:Ooh, I love that. I have a lot to say about that, but I'm gonna condense it. I have a lot of people that come into my community Don, what am I supposed to learn? Don, tell me what to learn. Don tell me how to become a developer. And like, my big question in my head is why do you get into coding? Like what? Have you built anything so far? No, I haven't built anything so far. You know, I picked up a Mernstack tutorial and you know, just going through that, when I get done, you know I'm gonna start applying for jobs.
Don Hansen:I'm like my question still is like what, why do you get into coding, like what? Like what makes you curious? The number of people. And I don't think it's like a fault to the people, I think it's just a mindset I like we gotta continue destroying. But it's just like people don't understand software engineering. Like a lot of developers, a lot of programmers became programmers because they were just, they were able to manipulate the computer, they were able to create things, they were able to do things through a programming language. Like there's power, it feels good to be able to do that, it's awesome to create stuff. And there I think there are a lot of people coming into this industry just wanting more money, and that's fine if you want more money, but you gotta like really explore that curiosity or you're not gonna hit that finish line. Like a lot of like all the good software engineers, I know they're curious and I had an old boss who, when he was trying to become a developer, he would build stupid apps.
Don Hansen:He's just like I wonder if I could build a mobile app and just get people to download it. He built like a coaster for his phone and it was like very low rated but it had a lot of downloads. He's like okay, I learned how to build a mobile app. I'm gonna go ahead and build a script for my Xbox. Now I'm gonna go ahead and mess with my Raspberry Pi and, like you, he kept exploring and you know, building a coaster isn't necessarily gonna make you marketable. But like he was just curious, like can I do this, can I create this? And he loved it right.
Don Hansen:And I feel like I get so many people coming into my community like they're just robots. Like tell me what to build, I'm gonna spend the next. Or tell me what to learn, I'm gonna spend the next six months in a course learning everything I need to. I'm gonna master it. I'm gonna create no cards and flash cards and just study them and then I'm gonna go over the course again. I'm really gonna reinforce this knowledge and they'll spend at least six months, nine months, and they haven't built anything.
Don Hansen:I'm like what the hell gets you excited? And then what happens? They get burned out, and that they don't know why they get burned out, or they blame the you know the economy for them not getting a job, or they blame external circumstances and they just need to continue pushing further, diving in, exploring more, but they just spend so much time doing what they're told or they're just doing what they think they're supposed to do. They're learning what they think they're supposed to learn and they're kind of treating it like you know, this goes back to traditional education.
Don Hansen:That's why I brought it up in your podcast episode. They're kind of just like tell me what to learn, I'll learn it, but they don't like take ownership and authority over their journey, over creating random things, and just like igniting that passion with programming. And maybe I'm just venting right now, but I feel like so many aspiring developers, they just they don't like. They don't like to explore and they like to fit into this nice linear path that's perfect, into landing that position and often that linear path. I find they burn out along the way and most people like that. They don't become developers.
Lane Wagner:Yeah, so two things here. The first is that learning to code, learning to be a programmer, learning to be an engineer and I use that term just to kind of level up our thinking about the job that we're doing I think developer implies more of like a code monkey, whereas like you can become an engineer without having a degree if you're willing to like, study to that level and build projects to that level. Right Programming languages have been invented by people that don't have degrees. So sorry, where I was going with this was you mentioned a couple of things. One was the economy in 2022 and 2023 has been very rough for programmers. The interesting thing about that is that kind of means that the people who started learning to code or really spent the bulk of their time learning to code in 2020 and 2021, when the economy was best for developers, that was the best two years for developers in the last decade 2020, 2021. Obviously, pandemic was terrible, but for the economy of tech it was booming. That was the worst time to be learning, because it meant when you started applying for jobs in 2022 and 2023, you were having a really rough time. We don't know that this is true yet, but I tends to believe that 2022 and 2023 will be some of the better years to be learning to code, because 2024 and 2025, we've already started to see signs of market recovery. At the end of the day, I don't believe that it's a good strategy or I should say a useful strategy to try to time the tech market for when you're going to break in. If you're going to be a successful engineer, you need to be exactly what we just talked about, which is you need to be curious, you need to be learning, you need to be willing to learn stuff that you might not even use at that first job. The market's going to be the market.
Lane Wagner:Learning to code is not a get rich quick scheme. If that's what you thought or if that's what someone told you, if that's what you saw an ad for that learning to code is something you do quickly and you can make a lot of money doing it. I just want to be the person to tell you that that's not true. Learning to code is a I call it a get upper middle class, slow scheme. Yes, you will be a good earner. You will be upper middle class. You can earn six figures as a developer. You can earn more than that if you go on to become a manager, a CTO, you can make a lot of money, but it's not quick. You're going to spend a few years learning and then you're going to spend more years progressing in your career to get to those levels. Is it a good plan for a lot of people? Yes, it's not a get rich quick scheme. I'd recommend looking for those either.
Don Hansen:I love that, I really do. It's a mindset that can shift Even people just coming into this industry, even just wanting to become back in developers because they think they might even pay just a tiny bit more in different areas. But people that are doing it for the money, I think they can transition into finding enjoyment. I think the big message is just really just build, have fun with it. I love what you said, even if it's not going to be linear, to leaning that position. If you want to learn some obscure language or library because it excites you, this is really interesting. I'm getting bored of the path I'm going down. Learn it, ignite that fire again. I love that. I also like what you said Learn now. Going into to that.
Don Hansen:A lot of people are going through hard times right now and it's easy to feel like this will never let up In the tech market. We'll continue to go up and down. The tech market is here for a very long time. It will continue to go up and down, just stopping learning how to code now. This is the perfect time to learn how to code to actually prepare for when the market starts recovering.
Don Hansen:I like the idea of being curious. I like the idea of learning obscure things and building a race car with a Raspberry Pi that does something. I like those kind of things, but also I get that people do want to be efficient with their time. A lot of times they want to become a back end developer. They've gained confidence that they can, but where do they start? Do they just pick up a random programming language? Do they just pick up a programming language with tons of tutorials and a community around it? Javascript is a big one with that. Are there a lot of node positions, node back end positions specifically? I think there's a bit of a misconception that there's tons of node positions. No, there's tons of JavaScript positions, specifically that spread out between the front and the back end. Do they pick up JavaScript? Do they pick up Python? Because it's easier to learn. Where do they start? In a month or two they could start really getting curious and building things.
Lane Wagner:In the front end world it's pretty simple. You start with HTML and CSS and JavaScript. People post this on Twitter as if it's groundbreaking news. But HTML, css, javascript and maybe you pick up framework. If you're super trendy, you pick up tail end.
Lane Wagner:On the back end, I would argue it's a little different because it's less technology focused. At the beginning. I start my students on bootdev in Python simply because I think Python is a great language to learn computer science basics. So they teach Python basic syntax, intro to coding, object-oriented programming, functional programming, data structures and algorithms. Go through all that very fundamental stuff in Python just because it's kind of a language that gets out of your way. Some students go on to program in Python in their jobs and back end positions, others don't. I think that's totally fine.
Lane Wagner:The interesting thing about back end development as opposed to front end development is you can use essentially any language for it. On the front end we're constrained by what the browser does. Assuming you're working in a browser and not a mobile app environment, you literally just can only do what the browser has made available to you. You render documents in HTML and you style them with CSS and you change them around with JavaScript, and sometimes the framework will make some of that easier for you. On the back end you can do literally anything you want. You can deploy even. You can choose what operating system you deploy on. You can deploy on Windows, you can deploy on Linux. If you're sane, if you're crazy, you can deploy on Mac. You do whatever you want, pick any programming language. It's really hard to shoot yourself in the foot with technology choices when you're learning back end development. So long as you're picking up the fundamentals along the way.
Lane Wagner:Like I mentioned, getting started, I do have a strong belief that it is very much worth your time to pick up CS basics data structures, algorithms, object-oriented programming, functional programming you have those that transcend language boundaries. You learn it in Python. It still makes sense in your head. Once you learn this in text of Go, you can implement the same thing in Go. Not a problem, because you've picked up these fundamental skills. They're very transferable. Then, once you have that really solid CS foundation, sky starts to be the limit.
Lane Wagner:But I would say at that point it's important to start getting familiar with more specific technologies, exploring specific databases, maybe picking up a back end framework, although if you're interested in Go, I would argue that's probably not necessarily the case. Go is a unique programming language. In that way, frameworks tend to not be super popular. It's really as simple as that two-step process of foundations and then technologies. The list, unfortunately, is endless. There's certainly some more important core technologies, like are you really need to be familiar with at least one SQL database? You need to know how to build a CRUD server, create, read, update, delete. There are some things that are essentially non-negotiable, but the list is pretty small. There's an endless sea of things that you can go on to eventually learn. You don't have to learn those things before your first job. That's critically important to point out.
Don Hansen:The endless sea of things.
Lane Wagner:Yeah, you can just learn these pretty core technologies and get your first job. You can either learn the things that are just interesting to you as you continue to move on with your career or, what is also very likely is, at your job, you will be required to pick up weird, esoteric stuff.
Don Hansen:Yeah, I want to dive in, I guess, a little bit more technical requirements. I like that you mentioned. Really pick up an SQL database? I think a lot of people. There are just so many tutorials. It's just like I love JavaScript. I can build almost anything I want with it. That's why I love it. It's not necessarily the syntax or the language. I feel like the programming world has become flooded with JavaScript tutorials People that feel like they're forced to learn JavaScript.
Don Hansen:I don't know why so many tutorials keep encouraging developers, aspiring full stack developers to learn Mongo and Mongoose in a non-relational database. They don't even pick up a relational database. I don't really have to think about how it's structured and how the data is organized. That could be a really frustrating experience, but I'm a huge proponent for pushing relational database. I want to do that first. Even just don't lean heavily on an ORM right away. Get comfortable with some SQL queries, something really light where you can write a bunch of custom queries. Sql is pretty tricky.
Don Hansen:I remember when I was on a coding boot camp and I had a Chromebook, I used an online editor in MIDI server to do everything that I needed to, which is awesome. Everyone else had a Mac book. I couldn't afford it at the time. I remember trying to install dual booted Linux on my Chromebook. It was a terrible idea. It had no hardware to handle it. But I remember just running a couple of joins and trying to figure out this bug that was occurring to me because my data that I was reading from the database was just like it was given to me line by line, by line. Every second. I'm like why the hell is this happening? I had my instructor trying to debug it. That was my first lesson of I got to be careful of the size of the join. Just getting a feel of that and just getting a feel of how unoptimized your queries can be.
Don Hansen:It feels like just it's golden knowledge for a lot of back end developers. Sometimes, when you get these JavaScript tutorials, everything is just abstraction after abstraction. You have no idea what's going on. I've seen just a lot of back end developers really dive deep into what's happening under the hood with that kind of stuff. That's how they stand out. I guess my question to you is what really makes a good back end developer stand out versus one that's just going through some burn stack tutorial and they learn how to just build a crud app which hundreds of other people applying for that position probably can do anyways versus a new back end developer. That really stands out. How do you figure that out?
Lane Wagner:So there's two things. The first is like how they were trained, and then the second is like how you can actually stand out on your resume in the interview, and I think they're slightly different. So let me tackle how they were trained part first. The first thing I want to say is like as someone who makes tutorials, sometimes I think tutorials are a huge problem, the reason being, when you follow a tutorial to do a thing, all of the learning has been stripped out. So when you build your own Starcraft 2 simulator using Python with the weird, very basic understanding of Python that you have, you do a lot of learning along the way. Right, you're Googling very specific things, you're looking at very specific blog posts or tutorials, but to do very small parts of the greater whole that you're trying to build. So there's a lot of learning that you're doing. When you're following a full tutorial to do full stack application with Mern and Nextjs, all of the learning has been stripped away. You're reading an instruction manual and if you do enough of those, you can start to pick up on some patterns, but I would argue it's not the most efficient use of your time If your goal is just to learn foundational stuff and so this kind of applies to what you're talking about with SQL and Mongo. You want to learn what's going on. So we have an SQL course on boot, dev, and my philosophy to the whole thing is like let's just learn what relational means, let's learn this conceptual stuff that's going to apply to SQLite, it's going to apply to Postgres, it's going to apply to MySQL. I'm really just a big fan of, as you're going through your learning, try to learn the stuff that's going to be useful, no matter where you go. And the problem with very streamlined tutorials to build very specific projects is just that, like I said, a lot of the learning is often stripped out.
Lane Wagner:The next part of your question about, like, how do I stand out as a backend developer? I think it's the same thing as a front end developer. It's just a different type of project. So I'm a big believer in personal projects. The more impressive, the better.
Lane Wagner:And impressive does not always mean complex, right? There's a lot of ways to make a project unique and interesting. But if you can show me that you've built something fun and interesting and that you had to think a lot to build it it wasn't just some YouTube tutorial that you followed that to me, is still the most impressive thing you can have on your resume, other than, of course, like actual work experience, which, really, if you think about work experience, it's just a project. It's just a project that someone paid you to do, so it's just a project with social proof, right, it's just a project that you built that I can now call somebody on the phone and say did they actually build that? Yes, okay, good, like that's all work experience is. You can get so close to having actual work experience on your resume without getting hired. If your projects are good, right.
Don Hansen:I love. So first of all, I guess I'm going to tackle what you said previously the tutorial strip to learning like it's an instruction manual. I actually love that. I never thought of it like that, but I mean it explains tutorial hell perfectly. But a lot of people just get trapped in tutorials and they don't really learn. Even a lot of my live Q&As, they're coming in with random questions that are easily Google.
Don Hansen:It's like they can, like they could type their exact question and chat and come up with something, and then I would love to help them out based on the result that they got. And if they don't understand that result, sure, we'll dive into it. But, like a lot of people, yeah, they go through tutorials and I like what you said. It's just an instruction manual. That's a really good way to look at it. But I also agree with your personal project, your idea of personal projects. I think like that's how you stand out, that's how you showcase what you can do as a developer and also reinforces everything. Like it really helps you learn to build that personal project out.
Don Hansen:You get, you struggle that you look up something a little bit more niche, you Google that and figure out how do I overcome this obstacle specifically? Or you can also discover, like, what fundamentals am I missing? That is making me miss being able to build this module of my project, and that's important. So when I think of like I get this question very often and I have my own very specific answer to it but for a backend developer, if you want to get to backend, what kind of projects should people build? Should do they need to build these templated projects or specific projects that you find, like most employers love? Or, like you said, like do they need to be complex or just not complex, they just need to be impressive. What does that mean? Like, what kind of projects should aspiring backend developers build?
Lane Wagner:It's tricky to explain to a brand new developer what projects they should be building on the backend side because there's like prerequisite knowledge, like what is a command line Right? Like you need to understand what a command line is before you can start building command line tools. You need to understand why a command line can be convenient, is a convenient way to like run a server, for example, instead of like a GUI application or through a web page. So my approach is like learn foundational stuff, that, and pretty quickly. You should be building like pretty simple CLI tools. But as you go through learning more and more of this foundational stuff, you can build larger and larger projects and kind of towards the end of that you should be building. So it's pretty sophisticated stuff.
Lane Wagner:Back end projects don't look like what you might expect as a user of applications and that's where I think a lot of people get hung up on. So if you've been using the internet for the last 20 years, it's really easy to imagine what an application looks like as a user of the application. Right, you can build a to do app. Right, and I can add notes to it. I can subtract notes to it, like you've been a user of to do apps before you get what it should look like. Most of your back end applications are not going to be user friendly in the sense that like a non technical person would use them. They'll be developer friendly. They'll have good developer experience. They should have good developer experience if you want to be a good project. But the user of your application is probably another developer. So if you're building an API, for example, it'll be consumed by other developers. If you're building a command line tool right, they'll be used by you or some other developer on the command line, or maybe an ops person right Automates something.
Lane Wagner:So I kind of group most back end projects into like one of three buckets. You've got libraries, which are a great way. They're like, honestly, one of the best things that you can build but like a library that is imported by back end projects. So you can imagine that you build like password strength detector, right. So this isn't like an application on its own, but it's like a library that someone can import into their back end so they can very easily detect the strength of a password, right, because that's something you should do on the back end and not the front end if you want to be secure, right, libraries are a great source of just inspiration. You can build tons of different libraries, command line applications that automate something. So I've seen tons of projects that like pull data from some source right, maybe a weather API, right, or the open AI API right, if you're doing something with machine learning, but pulling data from some source, doing something interesting with it and shoving it somewhere else. Maybe it's outputting it to a CSV, right, so you can open it in Google Sheets.
Lane Wagner:I've also seen a lot of back end developers that build projects with a quote unquote front end. That is not like a custom website with HTML, css and JavaScript, but like the front end is Google Sheets, like it's pulling data in and out. Tons of projects like that. I mentioned my Starcraft 2 Battle Simulator right, this was a command line application I could type like MarineFightZergleng, and it tells me who did more damage to who and what the result of the fight was. I hired a developer once who built essentially a parser. So imagine like a program that parsed markdown and outputs HTML, something like that. Or a linter that analyzes text files and tells you something interesting about it or calculates code coverage. You have to get into the mindset of a developer so you can build tools that are useful for developers, because that's kind of the crux of being a back end engineer.
Don Hansen:That's awesome advice and I think that's a really good mindset. Then still, you're building. You're not building tools for the users on the internet, you're building tools for other developers. There's a very big difference in that and a very big difference in even the way that you present your projects and just the type of problems that you solve. It's a shift, right.
Don Hansen:This is where I think kind of coding boot camps also dropped a ball. A lot is really distinguishing the difference between those two and trying to prepare you to become a different type of developer. I do think front end and back end is very different and the types of problems you solve. But yeah, that's really good advice. I like that. I mean, I rewatched these episodes anyways. You said a couple of great things that I just want to really reinforce. Yeah, I think all of that's really good advice. I just want to also be conscientious of your time. We got about 10 minutes left, is there? I want to ask you one final question and any other advice that you want to give towards back end developers. But like what? Where do you think most aspiring back end developers are screwing up? What's that one big, crucial piece of advice that you think would shift the momentum and the success rate for a lot of aspiring back end developers. If we missed anything that you want to say, feel free to share it.
Lane Wagner:When you're learning online and this isn't even necessarily specific to back end developers, but it can be when you're learning online, the biggest thing you struggle with is just your own personal motivation and interest. Like by far that's the big problem. It's not that the material is too hard. If you can do basic math and you can put in the time, you'll get through the material. It's not rocket science in that sense, but it can get dry at times, especially if you just aren't interested in the thing you happen to be learning, or maybe if the material is not presented in a more interesting way or in a way that is necessarily real world applicable. There's two ways you can combat that, I would argue. The first is that really a lot of it's up to the educator, the material that you're using, and I mean to an extent you can choose your educators, you can choose your materials, but I do think that, in particular, colleges and textbooks have really dropped the ball on this. There is an interesting way to explain fundamental concepts and there's a less interesting way. Picking resources that try to keep it interesting, keep it relevant to the real world, keep it fun to the extent possible, are just going to be much easier to stick with. That's not just a I'm a lazy learner. I want to do it the fun way.
Lane Wagner:That is owning up to, I believe, the fact that the biggest problem with everyone learning to code is staying motivated and staying interested.
Lane Wagner:And if you can realize that that's the big problem, then going and trying to find the more interesting, the more fun resources is actually a very smart thing to do. It's kind of like going to the gym and exercise right, the biggest problem with going to the gym and exercise is just that it's hard and you have to motivate yourself. Anything you can do to make it fun is a really good thing, but to some extent, like I said, I believe that's up to the platform On BootDev. We're really trying to innovate in that area. It's frankly a big challenge and I think that's why a lot of educational materials haven't done it. But just making it a game any way that you can and keeping the projects that you're building interesting and relevant to what's interesting in your life is a big thing. We have a lot of World of Warcraft people in our Discord server and there's a lot of data that you can pull out of World of Warcraft and you can calculate some pretty interesting things. That's just a great way to keep yourself going.
Don Hansen:That's pretty cool. Do you play WoW Hardcore?
Lane Wagner:I played WoW quite a bit. This is like 10 or 15 years now. Dota is kind of my game at the moment.
Don Hansen:Dota 2. Nice, I've never played Dota, but I hear. I hear a lot of rage comes from it, but also a lot of.
Lane Wagner:Yeah, probably terrible things. It's fun, crazy learning curve, kind of like development in that way. It takes a while to get into it, but I like that.
Don Hansen:I feel like there are a lack of backend resources really dedicated to building backend developers. I think your program has piqued my curiosity with that. I guess what I'm asking is what about your program makes it unique? What do you think it makes it a very strong program and better prepares backend engineers?
Lane Wagner:Yeah, great question. There's really two things that I think make BootDev stand out and that we're really going for. There's a lot of great places to learn front-end development on the internet. Genuinely, I have friends that create courses, create content in the front-end world. There are in the backend world too. It's just there's so few. There's just not that many places that are focused on backend and everything they do is about the backend.
Lane Wagner:When I started BootDev, that was a big part of the passion project for me. I was like I want somewhere that people can go to learn all the stuff they need to know to get started with backend development Python and Go. There's other great places to learn HTML and CSS. That's one thing is just the laser-focused nature of the platform on the backend side of the stack. The fundamentals that we go into to make that happen, because you just can't compromise on some of these CS basics, sql things we've talked about.
Lane Wagner:Then the other, even bigger thing is this thing around gamification and keeping it fun. Like I said, the biggest failure mode for people getting into development is giving up, not because it's necessarily too hard, but just because they got bored. Giving things like quests into the app, xp gems, items, stuff that just keeps you coming back to do another lesson or doing another assignment is something that's really exciting to me. It's not necessarily for everyone, but if you're the kind of person that likes video games, you like unlocking achievements, it can be something that, especially in the harder lessons that again I think are required. But the lessons around data structures, algorithms, binary trees keeping that as fun as you can is just a smarter way to go about it.
Don Hansen:I like that. I think gamified courses do really well. Like you said, a lot of people's motivation it dies, it wavers. It's tough to keep that fire ignited. It's a long journey. Just because your motivation dies, it's important to realize. That doesn't mean you're not meant to become a developer. You got to constantly reignite that fire. I like the gamification. That sounds interesting. Is there anything else you want to shout out?
Lane Wagner:The only other thing I'd say, which it's sad that this is a differentiator, but we're very focused on building. At almost no point in the course are you just reading or watching videos the whole time. You're either writing code in the browser, writing the code on your local machine, running tests against it. You've got to be building the whole time. We interspersed building, solving the challenges that we've laid out, passing the unit tests, building guided projects, building completely personal projects from scratch. Having that mix is really important.
Lane Wagner:I don't want to say that's our big differentiator, because there are other platforms where we can get that kind of an experience, but that's crazy to me. I genuinely believe that everyone's core resource for learning programming should be building first. As long as you've got your hands on the keyboard, I feel like you're making some sort of progress. I've been blown away by some of the students I've talked to have been like no, I feel like I just want to. This is the crazy one. I learned better visually, so I'm just going to watch videos. That's not true of anyone, not the sense that you don't learn well visually, but in the sense that if you're not doing it, it's not sticking.
Don Hansen:I like that. I like how much you pushed that in this episode. Okay, that's pretty much it. Anyone watching on YouTube. If you have different opinions, feel free to leave them in the comments. But I'm really curious about how many people are actually trying to become back-end developers. I said this to start with. It sucks, because a lot of people feel like they can't become back-end developers and it's like five years down the road. It's just not true. It's just not. Hopefully this enlightened your path a little bit. But yeah, I think that's pretty much it. I should have asked you before the episode Do you prefer Wagslane or Lane?
Lane Wagner:Lane is great. That's just my handle.
Don Hansen:Awesome. Okay, I'll include your socials below. But seriously, Lane, thank you so much for coming on.
Lane Wagner:Awesome Thanks. Great stock to be getting done, Duh. Just see everything. Just see everything.