[00:00:01.26] (Music) SY: Welcome to the CodeNewbie podcast, where we talk to people on their coding journey in hopes of helping you on yours. I'm your host Saron and today we're talking about coding apprenticeships. (Music) If you don’t have a CS degree getting through the job application process can be tough. But doing an apprenticeship can help. LaunchCode is a nonprofit that helps you to launch your tech career and one of the ways they do that is through their apprenticeship program so we talked to Chris Bay to learn more about it.
[00:00:38.90] CB: I’m Chris Bay. I’m the vice president of education at LaunchCode which means basically that I oversee the building and operations and delivery of our free accessible education programs.
[00:00:49.90] SY: We also spoke to one of their graduates.
[00:00:52.00] KO: My name is Kasey Oglesby. I am an application developer at GNH Services here in St Louis I went through LaunchCode.
[00:00:59.40] SY: Kasey shares her experience going through the program and how she prepared for her job search after this. (Music)
[00:01:09.70] SY: When I first learned to code all I wanted was to be a developer. But then I actually learned to code and realize that you don't become a developer. You become a front-end developer or a rails developer or a full stack engineer or a back-end engineer or the million other job titles that involve coding. So how do you pick? And once you get that first job how do you turn it into a career? You can use the Dice careers mobile app. This is the tool I wish I had when I first started. You pick the tech skills you either have or hope to have in the future. You type in your desired job title and Dice helps you find other job titles you might also be interested in and maybe didn't know about. But they take it a step further by telling you what skills these job titles require how much they pay and based on your profile, they tell you what skills you might want to learn so you can one day apply for those jobs. They simplify a lot of the chaos of job hunting and it's totally free so check out the Dice careers mobile app. Go to dice.com/codenewbie for more info. That’s dice.com/codenewbie.
Flatiron School teaches you how to code for anywhere still got an awesome community of career-changers and a number of different options for you to pick from to become a software engineer. They’ve got full-time in-person courses self-directed introductory courses and a remote online web developer program. They even have a free 75 hour online prep course where you can learn JavaScript, Ruby, and do some interview prep. Go to Flatironschool.com/podcast to learn more. That's Flatironschool.com/podcast. Link is in your show notes.
DigitalOcean is the easiest way to deploy manage and scale your application. Everything about it was built with simplicity at the forefront. Setting deploying even billing their support is amazing. They’ve got hundreds of detailed documents tutorials webinars and community managers. So if it's your first time deploying an app they’ve got great tools and community to make it nice and easy. Try DigitalOcean for free by going to do.co/codenewbie and get $100 of infrastructure credit. Link is in your show notes. (music)
[00:03:19.40] So Kasey let’s start with you. What was your experience at LaunchCode take us through the moment you found out about it to where you are today.
[00:03:28.00] KO: I found out about LaunchCode From a friend in Chicago who works at a startup he was familiar with a boot camp in Chicago and knew about LaunchCode and gave me the idea so I looked it up and it was exactly what I wanted I knew I wanted to get into software development but I didn't know how because I don't have a college degree so I applied and it was the best decision I've ever made in my life.
[00:03:53.9] SY: So at that point had you learned to code at all?
[00:03:56.80] KO: I had done a little in college but that was in 2001.
[00:04:01.05] SY: So Chris when someone like Kasey sees the application for the first time, goes on the website, what happens next, what’s that process like?
[00:04:09.70] CB: So it depends on their experience and background people can come to us in a variety of ways. Some people can come to us with no skills and enroll in one of our education programs but people can come to us when they already have skills say through bootcamp or they’re self-taught or maybe they’ve gone through a community college or another program. And if people have the skills already we’ll work to place them in an apprenticeship where they’re at. The education folks when they go through our programs will at the end of those programs assess their skills and determine their readiness. And then we’ll we’ll work to place them in apprenticeships after that.
[00:04:35.50] SY: Okay so Kasey when you applied which group did you fall into?
[00:04:37.70 KO: I needed the education, so I applied to the program called LC 101 which is basically a 20-week program that pretty much turned me into a software developer from week 0 to week 20 with a lot of the stuff that went along with being job ready and getting my resume in top shape and making sure I had interview skills down and making sure that I had really solid project to show me off.
[00:05:06.2] SY: Yeah, so what was that project? What was the thing you showed off?
[00:05:08.9] KO: I ended up creating a standalone application for use in anywhere that you would need like a panic button to be able to hit one button and instantaneously send a text message to on campus security with your location and phone number 911 emergency. Please report to that location.
[00:05:28.60] SY: Oh, very interesting. Oh, that sounds so so helpful sounds like an actual useful app. That's awesome.
[00:05:35.20] KO: It was very relevant because I worked in a hospital in an emergency room at that time and I saw a need for something that didn't exist. So I built it.
[00:05:44.80] SY: And that's so wonderful because I think that one of the big problems we see in our CodeNewbie community for people applying to jobs is they don't know what projects they should work on or how to speak to the projects they have worked on. So Chris when you are preparing people for these job interviews, these apprenticeships, these roles. What do you recommend in terms of picking a project to help show off your skills?
[00:06:14.00] CB: Yeah. There are a few things that we advise people around.
I think the first thing that Kasey kind of spoke to is that your project should be something that you have some passion and knowledge about. So it should be something where you've identified a need out in the world and you're trying to solve a problem and that is useful from a lot of perspectives. One: they're going to have the specific expertise around how to solve that problem. If it's as Kasey said she was working in this area and she saw a need and she had some background around how that might work. It's also going to speak to an employer. So when they go to do a job interview and they're showing their project to an employer, it shows that they are able to identify problems and then use software to solve those problems and that's showing real business value to that potential employer.
[00:06:52.40] SY: And what I love about Kasey, your project, is the fact that it wasn't just a random idea. It was one that was very much connected to your past and being able to say hey I have this other experience and I'm now taking that information and translating and solving one of those problems I've seen into a technical solution. That's really powerful.
[00:07:12.70] KO: It was really rewarding especially when the hospital I worked at actually showed interest in it and said, hey, we would like to maybe talk about this to see you know, where this could go if this is something that we could implement some day. So that was pretty rewarding.
[00:07:28.90] SY: Holy crap. That's awesome. So what was the reaction you got from potential employers?
[00:07:36.30] KO: They were astounded mostly because I took on a pretty big challenge in that I built my project using a lot of technology that we hadn't been taught in LC 101. I knew exactly what kind of job I wanted and I said well to get that kind of job, I probably need to know about these different things. So I just went and I taught myself. LC 101 taught me kind of how to learn and how to teach myself.
[00:08:05.20] SY: Yeah.
[00:08:05.60] KO: So everyone I showed my project to was pretty impressed that I was able to take what I had learned from LC 101 and kind of parlay into all this other learning and all these other technologies and kind of meld them all into this really really cool application.
[00:08:20.70] SY: So Chris when you are designing these programs and making sure people like Kasey are prepared for the job, how do you balance making sure that they have some fundamentals but also acknowledging the fact that 20 weeks at the end of you know, at the end of it is not a whole chunk of time and you're not going to learn everything you want to learn?
[00:08:33.70] CB: It's a challenge, you know, and we have to be kind of honest with both our students and our employer partners as well that people are just starting their careers. They're just getting acclimated to the world of software development. They're going to be things that they have to learn on the job and we can't teach them everything in 20 weeks. What we do try to focus though on is the skill. Sort of what Kasey said learning how to learn, making sure that people have solid core fundamental skills. So whatever area they're working in if they're a front-end developer or back-end developer that they have the really sort of core basics that any developer would be assumed to have and that they also know how to go out and solve hard problems and learn on their own and be resourceful and really just be honest with them from day one of the class that we're not going to teach them everything that they need to know on the job. And this is really them stepping their foot into a lifelong of learning as a job, which is you know for the right type of person is pretty much the best type of job you can ask for but you know, you're not going to get out of there in 20 weeks and sort of stop learning. It's really just the very first step on your journey.
[00:09:39.50] SY: How do you teach someone how to learn?
[00:09:44.80] CB: I think there's a couple of ways that we try to do that one is through just modeling behaviors. So in how we lay out the curriculum within the class, we hope that that is sort of a model for how people can go about learning on their own. So we start by introducing basic concepts in a simple isolated way. Then we try to just practice them, lots of hands-on practice. We encourage people to break things and try things out. And then we try to integrate those concepts into things that they've learned before into a larger setting and we also encourage collaboration and pair programming and working with their mentors and instructors.
These are all things that people do on the job to help themselves learn as professional developers as well. So that's one way. Another way is just kind of talking about the problem solving process. It's hard to teach you about how to solve problems is the basic fact, right? And so a lot of software developers and teachers will just sort of give up and throw their hands up in the air and say this is just something that you get good at by doing it. That's the only way to get out of but it's just doing it again and failing and struggling and eventually get better by some sort of magic or osmosis. And that's and that's not true.
[00:10:42.20] SY: Osmosis if only.
[00:10:43.50] CB: Right. Um, but there are some techniques that you can learn some tools at least, you know, there's not a recipe to solve every problem, but you can at least build up a toolbox and a set of skills to help you think about how to solve a problem. So when you see an error message in your console, how should you think about that error message? Where should you go look for information? Which parts of that error message are meaningful? So it's not just you know, the technical here's how to make a class in Python. Here's how to construct a loop or here's a good application design. It's the sort of more strategic aspect of how to solve problems.
And those are the things that are going to be applicable regardless of what fields are what technology they're using on the job.
[00:11:20.30] SY: Yeah, absolutely. And I feel like another really big how to solve a problem tool at least for me isn't really helpful is accepting the fact that figuring out how to solve the problem.
Is just part of the job, you know, I think that before I learned to code I expected you know, I'm going to spend most of my time building things. But really I spend most of my time fixing things and figuring out what's wrong, you know, you're you're kind of in this constant state of a failure and then you get to celebrate that success for two seconds and you know, when it works, then you're on to the next failure. Uh, so for me just having that mindset shift has been a huge part of just being more open to problem-solving and not getting so frustrated. And so fed up with it.
[00:12:03.40] CB: Yeah, I agree and that's something we try to normalize in the class. On day one of the class we tell people that you're mostly going to be working with code that doesn't work. You know when your works you going to the next problem, right? And you're here for some of the time things are not working and that's something you have to be comfortable with and just sort of get used to.
[00:12:18.50] SY: My favorite parts of, because I went through a boot camp as well, I went to the Flatiron School. And one of my favorite parts of that journey was watching the TAs get stuck. It was the best it was amazing. You know, they go oh wasn't expecting that. Let's solve it together and I'm like you also make mistakes and are figuring it out just like me and it was such a relief to be able to watch that and like you said have them model the appropriate behavior when that does happen.
[00:12:42.90] CB: Certainly, that's something we actually do in our lesson videos as well is to you know, occasionally I'll be making a lesson video and make a mistake or something happens that I didn't expect and the temptation is to stop recording and to go back and fix it. But I tried to resist that temptation and just try to work through it in the lesson just to again normalize that situation of even as a someone who's been a professional developer for a while this still happens.
[00:13:03.30] SY: So Kasey what has been the hardest part for you going through that journey and figuring out not just how to code how to teach yourself how to code.
[00:13:12.70] KO: I think the biggest struggle that I had was realizing that it's okay to not know everything especially getting into my apprenticeship. Getting hired on as a full-time developer.
I still have a whole lot to learn and there's a lot I don't know and there's a lot of questions I have to ask the other developer I work with and sometimes I feel like they're really really silly questions. It's hard to not know everything. It's hard to not know what to do, but. It's an amazing feeling after working on a problem for two days and I find an answer and it's one simple line of code and I plug it in and everything works that I'm trying to do for two days that just happened to me like two hours ago, but that's been really tough. Just kind of knowing that. I don't know everything and I still need a lot of kind of a lot of assistance.
[00:14:02.80] SY: What helped you get over that barrier shift, that mindset? What was helpful to you and getting to a place right now where it sounds like you're more comfortable not knowing all the things?
[00:14:13.70] KO: It sounds really silly. But I kind of had a running joke with the study group that I was in when I was in LC 101 was I kind of went back and forth from being Jon Snow and not knowing anything to I know all the things and somebody sent me an animated gif of Jon Snow saying, I do know somethings and that was a very small moment for me that I realized.
Hey, I don't know everything but I do know a lot and I can use that to go out and learn more things and little things and all those little things over time add up uh little pieces that I struggled with in LC 101. I look back now and I'm like, I'm a master of this. So, uh little tiny things in c-sharp little tricks that I struggled with now I use them every day.
[00:15:10.30] SY: That's awesome. That's really awesome. So I want to switch gears a bit and talk more about the apprenticeships themselves. So Chris tell us a little bit about how that works. What is this apprenticeship thing?
[00:15:23.20] CB: So an apprenticeship is I think people can kind of conflate it with the idea of an internship and it's a little bit different from that. It's a trial period of a new developer at a company and the way we facilitate this apprenticeship it comes from both sides. We facilitate them both from the employer side and the new developer side. New developers come to us with skills. And we assess whether or not they are ready in our estimation for an apprenticeship.
If they are we will try to match them with the right type of employer based on their background, based on the type of job they want, based on certain life factors. You know how far away are they from the employers that going to be a workable scenario for them. We also try to find employers that are able to take on developers of this level, right? They have to take somebody on that they know is green. They know is going to need maybe a little bit more coaching and assistance than your average developer. So that they know kind of how to support that person properly on the job. And once we find a good match for a company and a developer, it's typically a 90-day apprenticeship. It can vary from company to company based on their needs but it's definitely 90-day apprenticeship. It's paid and the one dynamic that really makes it work is that it's sort of a trial period there's no commitment to hire that person at the end of the 90 days which means that from the developer side. They have a big incentive to prove themselves right to work really hard extra energy to show that they're capable of learning quickly. And on the employer side they have a chance to take a little bit of a. So it derisks that process where they might be a little bit hesitant to take on somebody that's green with no experience. They have this chance to get a feel for them and the workplace the see how they're going to respond to difficult problems to see how they're going to be as an employee. And so that trial period is a good chance for the employer and the employee to get to know each other and to get a feeling for whether or not it's going to work and we found that you know historically here at LaunchCode.
It generally does work more than four out of five of our apprentices get converted to full-time employee.
[00:17:02.90] SY: So you mentioned the idea of employers having to be ready to be a good fit for having apprentices. So when you think about those ideal companies or the characteristics of those companies, what do you look for that best optimizes for the apprentices' success?
[00:17:22.60] CB: I think it's really an attitude. I mean, there's no sort of defining characteristic of the company. We work with really small companies and really large companies companies that are startups companies that are sort of more legacy corporate companies and even within the same company one team might work well for an apprentice while another team might not it has to do with the team dynamic and the managerial dynamic of that team and really about how they work together as a team and the way that they support each other. So it really comes down to that. It really comes down to the individual team members being willing to buy into this model of working with someone with coaching with them and sort of spending the time needed to get them to the place they need to be. You know on average I would say that startups have a harder time with that than larger companies just because of limited resources and things like that.
It really has to do with the team approach and the culture and their willingness to teach and to learn and to help these developers grow. Somebody who's new to this idea of an apprenticeship on the employer side can get hung up on is this is going to take more of my time away from my job, right?
[00:18:15.40] SY: Right. Yeah, that's what I assumed. Yeah.
[00:18:17.90] CB: And you can approach it from that perspective, but the other way to approach it and some of our best employer partners what they'll tell you is that this is actually an opportunity for them to grow a developer on their team and to instill in them what they believe are the best development practices. And to really groom them into the type of developer that they know that they can be so the developers that get placed through LaunchCode as we said before they know how to learn they're going to learn quickly. They're going to be adaptable. They're very hungry, right? They really want to do a good job and to work hard and prove themselves and that makes them stand out against maybe, you know, sort of mid-career software developer who feels more comfortable and doesn't feel the hunger and the drive in some cases as someone who's really really anxious and hungry for this opportunity that they wouldn't have had otherwise.
[00:18:57.80] SY: So Kasey, what was your apprenticeship like?
[00:19:00.10] KO: I kind of went into a different situation. I didn't go into a large corporate company or even uh midsize company with a team of developers and project managers. I went into a company where I am an IT director. We have one guy who handles all our assets and then they had a developer who left. So I kind of went in knowing I was going to be the only developer which is really scary as a brand new.
[00:19:27.20] SY: Terrifying.
[00:19:28.28] KO: Um, fortunately, they ended up finding another developer. So I have a friend now. It's a really big task and my boss the IT director he has been nothing but on my team the whole time he's been very supportive and knowing that I don't know a lot and I've had to learn a lot and he's been very very, uh forthcoming telling me okay, your biggest task is just to learn so he didn't mind when I spent the first two weeks of my apprenticeship not writing a single line of code, but trying to learn a brand new language that I had never written in before. They have been awesome about giving me every resource that I could need to learn to solve problems any training that I needed any videos and courses and grants that I know not every apprenticeship will be like that, but they bent over backwards to give me every opportunity to succeed and to be awesome and they have told me they're like, we really like that you're here.
We like what you're doing. We think that you've done a great job and we hope that you're going to be here for years.
[00:20:35.30] SY: Oh, that's wonderful. So when they were offering you this apprenticeship knowing that you were still very new you're still learning and not only were used to learning but you were actually learning a whole new language that you didn't previously know. What do you think it was that they saw in you that they saw in having an apprentice that made it worth it and made them so excited to have you on the team.
[00:21:00:30] KO: The previous developer they had that had left almost 9 months prior to me. He started out as their help desk guy. And he had no development experience whatsoever and over 10 years he essentially taught himself to code and he wrote all of their internal applications and then he had an opportunity to change companies which he did and they said, you know, this previous guy didn't have a formal education in this and look what he was able to do. So they were really interested in kind of bringing on somebody that was totally green to say.
Why not let them grow here instead of bringing on, you know a senior who you know thinks they're hot stuff.
[00:21:49.90] SY: So Chris what type of things do apprentices generally work on at companies? Obviously, they're learning they're developing as individuals as developers as techies, but I assume they're also working on like actual projects for the company, right?
[00:22:04.70] CB: Certainly. Yeah, it varies a lot by employer and the team even. Some of our developers will jump right in and start taking off small bugs or issues and contributing directly to an applications code base. That's a pretty common model. Sometimes the developer will come in and say be asked to write a bunch of tests for the code, right? That's a really great way to learn a code base is to write tests for it. Yeah, and it's also makes the team sort of feel a little bit derisks the process for the team, right? They know they're all of the developers are writing code and learning they're not actually writing code that's going to go out to production.
So it's a learning opportunity feels a little safer for everybody. Some companies we have they will even put their developers their new apprentices through training right away. So we work with a couple of companies that have three or six months training programs where they're just learning on the job getting paid. And so, you know, that's a different model as well. It really varies based on the needs of the company and they're sort of development culture and their professional development culture within the company itself.
[00:22:56.60] SY: How do you approach the matchmaking process between the employers the companies and the future apprentices.
[00:23:04.50] CB: So when a developer comes to us when an aspiring apprentice comes to us, we'll evaluate them will interview them and we'll get a sense of who they are what their strengths and weaknesses are what their tech skills are and we build this profile of them that we keep in our own internal system and then our company team which works with the companies to find apprentices in to match people they're able to see that profile and so in jobs come to them they're able to look for good matches.
[00:23:26.70] SY: So Kasey, you mentioned earlier that you knew exactly what job you wanted when you completed the program and you were very focused and you exactly the job description you were looking out for what were you looking for?
[00:23:29.00] KO: I had thought from the very beginning that I wanted to work on a team a huge team of developers writing desktop Enterprise level software like put me on a team at Microsoft and that would have put me over the moon. So where I ended up is absolutely the opposite of that.
[00:23:58.60] SY: Interesting. So what happened along the way?
[00:23:59.90] KO: I don't really know. I just kind of figured out that it wasn't so much about this is exactly where I want to work. And this is what I want to do and you know, it wasn't so much about that. It was more about. I just want to write code. I want to write code. I want to enjoy what I do every day. I want to work for an awesome company that really values me as a person and values what I do every day and I am appreciated every day (music) and that kind of became more important to me than saying I want to write desktop software. I want to work for Microsoft or something like that and I am really happy. I ended up where I am.
[00:24:42.80] SY: Coming up next. What do you do if you can't do a program like LaunchCode or if there aren't many apprenticeships in your area? Chris and Kasey give us some advice on how to tackle the job application process if you're going at it on your own after this.
DigitalOcean provides the easiest Cloud platform to deploy, manage, and scale applications of any size. They remove infrastructure friction and provide predictability. So you can spend more time building what you love. Try DigitalOcean for free by going to do.co/codenewbie and get 100 dollars of infrastructure credit. Link is in your show notes.
You want to get serious about learning to code but where do you start? Flatiron School’s got the perfect thing. They're offering their free 75 hour online prep course where you dig into JavaScript, Ruby, and more. If you're not sure where to start there and when you're done, you can keep learning with their self-directed introductory courses remote online web developer program or full-time in person. Whatever your schedule they've got options to help you reach your coding goals. To learn more go to Flatironschool.com/podcast. That's Flatironschool.com/podcast. Link is in your show notes.
Getting a job is one thing. Building a career is another. With Dice you can do both. They've been helping tech professionals advance their careers for over 20 years, which means they have a ton of data and tools to help you navigate yours. Looking for a job right now? They've got thousands of positions available from top companies like AT&T DreamWorks Adobe IBM and Dell. Wondering what's next in your career? Use their career pathing tool to find new roles based on your profile and see how much more money you can make. Not sure if you're getting paid what you're worth? Use the dice salary predictor to see real numbers on what your skills are worth. Don't just look for a job. Manage your career with dice. For more info go to dice.com/codenewbie.
[00:26:00.10] SY: So Chris one of the big issues I've seen in our community is that people are not as focused as Kasey and don't have a particular job they're going for and they are almost too open-minded in the beginning where you know they’re so open to coding in general that they don't pick a language or a framework and they end up kind of bouncing around and knowing a little bit about a lot of stuff but not really enough to get that job. So when you think about the apprentices that have been successful, the applications that have you know gone through and have been accepted. What are some things that may help people focus and actually get that job at the end of the journey?
[00:27:29.10] CB: Well, if you're just starting to learn to code, I think the best piece of advice I can give people is just to pick a language and just try to learn it really really well and spend a good amount of time, you know, three four five six months just in that language. As we all know the fundamentals of programming they're not the same in all languages, but there's a lot of commonality you really need to get really good at those fundamentals and once you've really nailed the language and you've learned a breadth of programming skills, then look for something you're really passionate about so. If you started with Python go out and try a few more things. Try JavaScript. Try Java try Ruby and find the language or the framework that sort of makes you hungry to learn more about it. Find something that makes you feel like you want to get up every day and go out and work on that project or work on that framework and then that let that sort of guide your next steps.
[00:28:12.50] SY: And I think that question of passion is so hard when you're first getting started because you don't know enough to be passionate. Like I I was excited to code anything-- like the idea that I could manipulate anything, you know on the computer and it would change colors was like, oh my God. It was amazing. If your passion is more about getting a job and you know getting that Financial Security enough to then develop a particular passion for a language or framework. How do you approach the job search or even just the learning to code process?
[00:28:47.50] CB: Right. So especially at the beginning level the entry-level developer.
It's very rare that someone says I want to do X and then they find a job in X, right. That's pretty rare. So yeah, you know people don't come out and say I'm going to be a rails developer and then go out and land that perfect rails job that happens some from time to time, but it's not the most average scenario. I think you know, you should be passionate about what you're working on what you're learning and what you're working on in terms of personal projects. But then also be willing to say especially for your first job. This is going to be my first opportunity. This is a foot in the door. This is a place where I can grow and I can establish a career. This is the first step in my lifelong career, right and so being able to and willing to take a job that might not be exactly the one you thought you might have had as Kasey just attested to is a really meaningful mindset with few exceptions. That first job is going to be a massive learning opportunity.
You're going to go from a situation where you're learning part-time or you're working and coding on evenings and weekends to a place where you're getting paid to code 40 hours a week. You're going to learn so much in the first few months and first few years of that situation that once you establish yourself as a more experienced developer, you will have more leverage and work skills to go out and get that perfect job that you are looking for.
[00:29:58.70] SY: So Kasey. Was there a point in your career that you felt job ready?
[00:30:05.90] KO: I feel like my LC101 experience was so much better than I even thought it was going to be because I don't want to say it wasn't hard because it was hard. But I feel like I excelled at it even more than I thought I was going to so after the 20 week program was over.
I knew I said, I'm ready. Let's game on.
[00:30:30.90] SY: That’s awesome.
[00:30:31.90] KO: I mean I was so hungry at that point to get in my first developer job that I made sure all of my ducks were in a row. I said, my resume is in top shape. I know my project looks good. I can kill it in a whiteboard question. I know my interview skills are good. So, all right, let's do this. I was ready.
[00:30:56.60] SY: I don’t think I've ever heard anyone say that that's amazing. That's awesome. Kasey good for you. So Chris is that common? Do most people who complete either your program or just you know, a boot camp type of situation in general do they generally feel job-ready?
[00:31:05.60] CB: Definitely not. I think most people have the sort of the opposite. So most people, you know, it's sort of what Kasey spoke to earlier, which is that you feel like you can never know everything and so there's always a place to doubt your readiness, right? You can always think to yourself if I just had this much more experience or if I just add this feature to my project or if I just learned this extra functionality of the framework I'm learning that I would be more ready and it's true that you might be more ready in the future, but that doesn't mean you're not ready now. And so we definitely work with people and we definitely try to tell them to lean on us. Let us tell you when you're ready. We're the experts here we've worked with yeah hundreds of developers to find them their first jobs. We know when you're good enough to go and get paid to do this. And so so if we tell you're ready just trust us.
[00:31:47.30] SY: and I love that. You can always be more ready, but that doesn't mean that you're not ready right now. So if I am learning to code on my own I've been learning for a few months and I'm trying to decide should I apply for a job yet or should I hold off?
What are some questions I might ask myself? What can I use to help make that decision of actually beginning the application process?
[00:32:09.80] CB: I think the main base level skills that we look for when we're assessing someone's readiness for their first job is that they have a project they've built with their own skills. So that doesn't mean that you've gone to say the Django site and built the tutorial where they're kind of giving you all the pieces as you go. This means that you had an idea of your own and you went and apply things. You learned to solve your problem and to build a new application on your own. So you have a project and it doesn't have to be a huge project.
You don't have to have an app in the app store. You don't have to have you know something that's deployed to a cloud host, you know hundreds of people are using it just needs to be a project that has some functionality and works and demonstrate your skills. And you also need to be able to talk about your skills. You need to be able to solve some basic whiteboarding problems. So there are lots of sites out there that people can go to hacker rank and exorcism.io and sites like this where you can practice. Those are common things that you're going to see in an interview. And so a lot of people argue about the technical interview process.
And what's a good way to assess somebody's coding skills or not, and that's a different discussion. But that's a common scenario. You need to go into an interview feeling confident in your ability to answer those questions into to express your coding skills meaningfully.
[00:33:09.90] SY: And let other people decide for you. Right? So if you do a bunch of applications or bunch of interviews and you keep getting rejected, especially if you know why you're getting rejected that's really good feedback that you can use to go back. And maybe brush up on some skills build some more projects, but letting other people decide for you and not prematurely self-selecting out I think it's a good takeaway there.
[00:33:33.70] CB: Certainly and you know, at LaunchCode with the folks we work with we give them very specific things to work on. If we interview somebody and they're not quite ready we tell them exactly why and will tell them exactly what to do to get ready. If you know, somebody doesn't have that access to LaunchCode wherever they're learning or wherever they are yeah, you can go out to interviews and ask the interviewers if you didn't get the offer ask what you could have done better. What would have made them more appealing as a candidate? Ask your developer friends or anybody you might know if the'll sit down and code with you on a weekend to say, "Hey, can we pair on my project this weekend?" or "Can I practice my whiteboarding problem solving with you this weekend?" Just to kind of get that extra practice, you know, and I think the folks that have put in the time and energy and really pushed themselves will find more often than not that others out there will tell them that they're ready. They'll say, you know, you've really you've got this you're probably more prepared than you think you are. Go ahead and get out there.
[00:34:22.80] SY: So Kasey, it sounds like you were pretty confident pretty excited to get into the job application process. But was there anything that you were nervous about?
[00:34:32.70] KO: There's always the fear of rejection. There's always the fear that I'm not going to be what they wanted for multitude of reasons whether it was my personality wasn't a fit with the company or I didn't have the technical skills that they wanted or any other reason but at least when I went in for my interview with my current company, I I just tried to keep the mindset that I don't know everything, they know I don't know everything, be awesome, and just show them why they want to hire you.
[00:35:06.90] SY: Yeah, the rejection process in the job searches. Oh my goodness. It's so it's so hard but it's really helpful to know that you really only need one company to say yes to you.
[00:35:17.30] KO: And I did have prior to my current company. I did have a pretty bad interview with another company.
[00:35:22.40] SY: Oh, yeah.
[00:35:23.90] KO: Yeah. I think they were just expecting that I had a little more knowledge. I went through a technical interview with them and they asked some pretty tough questions and I tried to tell them, you know. I don't know the answer to this but I'm familiar with it. I know where I could go to get the answer and I think they were just looking for someone with a little bit more knowledge than what I had. So that was a really hard rejection, but I just had to remind myself. It's okay. We're gonna find the right one and that wasn't it.
[00:35:55.60] SY: And when it comes to what companies, what tech companies anyway, generally expect or want from people who apply to developer jobs. One of the big ones is CS degree, right? Like I know tons of companies who if you don't have a computer science degree, they don't even look at you period so Chris as you are preparing applicants for these interviews, and I know that a large amount of people that are part of your program don't have CS degrees.
What can an applicant do to make up for that or to you know, otherwise demonstrate that they're still just as awesome as that CS degree candidate I can still do the job?
[00:36:33.40] CB: I think there are a few things I think one is to just understand that the way the market exists right now. There is a technology skills gap, right? And so there are a lot of jobs out there employers need to get these jobs filled and that means they're gonna have to take chances on some people who don't have CS degrees. It's not all companies are willing to do that. But a lot of them are and those are the companies that folks like LaunchCode work with our companies that realize that it is possible for someone to come in from a nontraditional background and to learn on the job and do really well. So, you know just that acceptance of yeah, I don't have a degree but that doesn't mean I'm not capable of doing this lots of other people are just taking the same non-traditional pathway. Another thing is to not discount your previous experiences. So a lot of people have worked in industries that are very applicable and can actually sort of be sort of a selling point for a potential employer if you've been if you've managed other people say, you know, you have a biology degree and you've worked in that field for a while in St. Louis there a lot of Biotech companies. They're hungry for people who know the domain. Not just technology, but also the business domain of what they're going to be working. So there's a lot of sort of transferable skills that can and should be used to sell an apprentice or a new tech employee in that way. So don't discount those at all. You know, it's not just that the employers out there looking for someone with you know, the sharpest technical jobs on the market. They want a good employee that's going to contribute to their business and that doesn't just mean being the most efficient coder or having the highest level of skill.
[00:37:47.60] SY: Especially if you have any business development account management type of experience because when I was interviewing for jobs people were very impressed by the questions I asked about how the role how the technology helped with the business on a you know, on a higher level and they really appreciated that I asked you know, like how does this product help, you know generate revenue or how is this connect with our bigger goals as a company and being able and I and I have that, you know that perspective because I used to do sales and marketing and that kind of bizdev stuff at startups. So that was very top of mind for me and being able to have that conversation is something that employers don't have that often with technical people. So if you have that experience that can be really powerful.
[00:38:33.90] CB: Yeah, certainly and most of the companies out there today making good software whether or not they're considered tech companies are not they involve developers in the solution process, right? So we've kind of gotten away from the waterfall model where requirements are handed down on stone tablets to developers who have to then spit them out and pass them over to QA team, right? That doesn't work for most people anymore. And so developers are engaged at some level in the process and if they can present solutions and experiences to help make that product better to help the company as a whole arrive at the right solution than that's going to be the best type of developer you can ask for.
[00:39:02.30] SY: Yeah, absolutely. So Kasey now that you have successfully gone through the program, you've done your apprenticeship, you’re in this really awesome job, what advice do you have for people listening who maybe don't have access to a LaunchCode or a boot camp program or doing it on their own and are hoping to be just as happy and excited about their future tech job as you are with yours?
[00:38:23.70] CB: We live in an age that almost anything that you want to learn you can learn on the internet. They're amazing courses on Udemy that will walk you through from knowing nothing to being pretty competent in whatever language it is or whatever framework or whatever concept of that particular course. I don't think there's any reason at all to discount the vast amount of internet learning that is that is out there books that are available completely for free by the authors where the authors have said I've written this great book and I'm going to give it away to people for free because I really really want the world to know JavaScript. Finding the right resource on the internet but being dedicated enough to stick with it is absolutely a valid way to learn and teach yourself.
[00:40:14.00] SY: And Chris. What about you? What advice do you have for people who are hoping to get some of these awesome tech jobs, maybe even an apprenticeship in the future and who are trying to figure it out on their own?
[00:40:24.10] CB: Yeah, I would say just to kind of pick up where Kasey left off there are a lot of great resources out there to learn. I think one of the best things you can do aside from looking for those great resources to try to find some kind of community and that community can be a group of friends that you want to learn to code with together. It can be LaunchCode. You know, we have classes in several cities across the U.S. It can be a developer friend who lives on the other side of the country who is willing to get on Skype with you once a week and kind of talk through things having some sort of technical and also emotional support is a huge deal.
[00:40:50.30] SY: Yeah. Absolutely. So next let's do some fill in the blank. So are you all ready?
[00:40:55.10] CB:Yes.
[00:40:55.30] SY: Okay, Kasey let's start with you. Number one. Worst advice I've ever received is?
[00:41:01.30] KO: Don't be afraid I think that there are obviously some things that you should put on your Superman pose and don't be afraid and jump in feet first, but there's a time to be afraid and that is being afraid in those moments keeps you grounded and reminds you that you're human and you are not immortal it's okay to be afraid like, especially walking into this brand new job. It's okay to be a little nervous that this is something I've never ever done before
[00:41:34.60] SY: That was beautiful. Oh, I really like that. Oh man, Chris, you're gonna have a tough time following up following that up. Worst advice I've ever received is?
[00:41:43:7] CB: Yeah. I think it's that, you know, if you want to do something different with your life or your career that you have to go back to school to do that. Right? I know this isn’t exactly the mission of LaunchCode, but you know my degrees in math and I got a master’s degree in that field and I went on to graduate school and I left knowing that that's not what I wanted to do as a profession and it took me a year to sort of realize that I didn't need to go back to school to find a career that I could just do it. You know, I got hired as a software developer out of grad school because I had this math degree in a company was willing to say hey, your math is computer science adjacent we’d like you to work for us and I thought that was just a temp thing. I thought you know, this is just something I can do to fill the time before I go back to graduate school to get another degree so I can start my real career, but then at some point I sort of looked up and said. Wait, I actually have a career and I can keep learning and I can do whatever I want and if I want to switch fields, even if that's outside of programming in most fields, you can change Industries without needing to go get a degree. I mean outside of you know, law or medicine, right? There's a lot of fields you can get into just by being crafty and enterprising and willing to work hard.
[00:42:42.20] SY: And I'm really excited for companies to be more open to that as well.
And I think that the existence of LaunchCode and the fact that you have what does it 300 over 300 company partners that have basically said sure we'll take people from all different backgrounds and will have them be our participants a huge step forward and its really validating to the rest of us because we know that we don't need a CS degree but we need companies to know that we don't need a CS degree. So that's great.
[00:43:10.30] CB: Yeah, I agree. I think we're living in a time where that's gonna shift, you know by the time I retire I hope that the tech industry has figured this out and figured out how to screen people and then, you know, maybe LaunchCode doesn't even need to exist in 30 or 40 years, right? But for now we do and so for now we're going to keep working hard at that mission.
[00:43:23.10] SY: Number two. My first coding project was about?
[00:43:26.30] KO: My digital panic button for the hospital another little recap when you're in a hospital or you have the panic buttons under the desk that you can hit and it sends a message to security ours’ at the hospital actually went through a landline using a modem. So it was 52 seconds from the time you hit the panic button until the time security got the message plus the time for them to actually travel to where we were which when you need them as an eternity, so I wrote a little desktop application that you upon launch you select your location and you can hit one button that with an eight seconds sends a message to security. It has your location phone number and it says emergency. Please report immediately to the location. I built in some additional functionality. Just if you needed to send a non-emergent message, like hey, there's kind of a strange man outside not really an emergency yet, but you need to know could be.
Yeah, I wrote it using some technology I didn't learn in LaunchCode taught myself, which was really really super rewarding that kind of gave me the mentality of okay. I I think I can do this. I think I'm ready for this.
[00:44:36.10] SY: Yeah. What was the technology that you learned on your own?
[00:44:39.10] KO: I built it as a Windows presentation Foundation application, which is a standalone application instead of just a web app that runs in a browser. So that was a really big task to tackle, but I'm currently actually a teaching fellow for LC 101 and I tell my students all the time. How do you eat an elephant? One bite at a time. Just one little piece at a time and I made it
[00:45:03.80] SY: Chris. What about you? My first coding project was about?
[00:45:06.40] CB: Yeah and actually was on the job I mentioned. Took a minor in computer science, but I only did coursework. I wouldn't consider anything. I did in my college courses a project from that standpoint. My first project on the job was to build an XML editor in JavaScript which again sounds really huge and it was but I did it saying sort of one bite at a time.
I started by finding an existing open source code base and porting it into the framework that we were using and getting it just just to work in that framework and then I started by peeling off one layer at a time and adding the features that my team needed and just doing one little thing at a time, you know, trying to keep the code running the whole time. Trying to just do uh one user story at a time and get it to where it needed to be ended up working on that project for over three years that that company on and off, you know, every time we needed to treat it. I would be the one to have to go back and add the new features. So it was pretty rewarding.
[00:45:51.30] SY: Very nice. So Kasey number three one thing I wish I knew when I first started to code is?
[00:45:57.90] KO: That there's a thing everybody in most people in tech at least in development know about it now called impostor syndrome where. After a week in my apprenticeship, I panicked and I said this is never going to work. I don't know enough. I don't know anything. I'm never ever gonna make it in this and it's a real thing and I had to step back and realize okay. I do know something and I just need to learn one more thing and one more thing and one more thing and now I'm in my job and I realized that I rock at it. So it's okay to not know everything.
It's okay. To be scared. It's okay to realize that you have a really really really long road ahead of you. But it's going to be an awesome road.
[00:46:48.60] SY: And Chris one thing I wish I knew when I first started to code is?
[00:46:52.10] CB: Yeah, there's this phrase some folks might have heard perfect is the enemy of the good right and I I take pride in my work. I work really hard and I can be a perfectionist of times but especially when you're writing software, you're never gonna know when you get that perfect line and they're actually there isn't a perfect line right so you can spend so much time trying to. You know refactor and criticize and fine-tune your algorithm or your piece of code to get it just that much better. But you know, once it's a 90% it just you know, wash your hands and move on to the next task. You can come back to that one later. It's much more efficient to just get things most of the way there and then to keep plugging ahead and not waste time agonizing over the little details.
[00:47:30.70] SY: That's been I think one of the biggest journeys for me personally is redefining what it means to be good enough, you know, because I'm also definitely a perfectionist.
I have the tendency to make to want to make everything very, you know, nice and pretty and perfect and realizing with my code. Like that's not really a thing, you know, and so redefining that or figuring out. Okay. What what is good? Let's start with good and let's let's just try to get to that point has been a journey. So thank you both so much for joining us today and talking to us about apprenticeships and LaunchCode and all the awesome things that you two are doing. Do you want to say goodbye?
[00:48:05.90] CB: Yeah sure. Uh, it's been it's been great hanging out. Thanks for having us and if folks want to learn more about LaunchCode they can always go to LaunchCode and learn about our apprenticeships and our education programs and all the things that we're doing and if we're in your city hit us up. We'll talk to you. (Music)
[00:48:16.90] KO: It's been great to be here LaunchCode’s the best decision I've ever made in my life. So if anybody even remotely has interest in software development or anything revolving code just do it.
[00:48:31.50] SY: And that's the end of the episode. Let me know what you think! Tweet me @Codenewbies or send me an email, hello@codenewbie.com. If you're in DC or Philly check out our local meetup groups. We've got community coding sessions in awesome events each month. So if you're looking for real-life human coding interaction look us up on meetup.com. For more info on the podcast check out www.codenewbie.com/podcast and join us for our weekly Twitter chats. We've got our Wednesday chats at 9PM Eastern time and our weekly coding check in every Sunday at 2PM Eastern time. Thanks for listening. See you next week.
Copyright © Dev Community Inc.