
Sign up to save your podcasts
Or


All right, my fellow coders. Welcome to this sort of inaugural episode of the podcast, where I'm going to be sort of… I love the podcast. I love recording this content. I love sharing all of my tidbits of knowledge around coding, and there's just not a great way in my schedule to fit it all in, because I've been so busy lately, but I figured, hey, I go for walks pretty much every day. So I will go ahead and record as I'm on my sort of morning walk. So excuse the background noise and whatnot as I am going about my recording here. So yeah, basically today, I want to talk a little bit about obviously coding bootcamps. That's been our focus for this series, and when it comes to coding bootcamps, one of the questions I often get is, should I even join a bootcamp?
Is it even worth it? Is it right for me? Oftentimes I've heard that these things are very expensive and often they're a scam and all these sorts of ideas and concepts are circulating in the general knowledge when it comes to people looking to learn how to code. So I want to address all of those if I can on this, like I said, inaugural episode of me going for a walk, looking like a strange person, talking to myself while I inform you of all of the knowledge that I have with respect to not only learning how to code and getting a job, but also coding bootcamps. So first I'll start things off by talking about whether or not it is a good fit for you. So, the way I've seen it, and I've been teaching people how to code for around nine years.
And I have been doing bootcamps for at this point around two years. I've seen a few students come through my doors with respect to bootcamps, and I've seen literally thousands come through my doors in terms of regular, old, online course buyers, or… They buy my book or they buy my online courses or they subscribe to a YouTube channel, that kind of thing. So I've been exposed to a large amount of people that are trying to ultimately learn how to code with a goal of getting a job. They basically break down into three categories. So if you're in one of these three categories, I would say you're probably a good fit, and it's probably something you should consider.
The first group is people who are sort of about to graduate from some sort of college or university with an associates degree or a bachelor's or a master's degree, or people who have very recently graduated from one of those programs. So this one's a bit counter-intuitive, but a lot of students are catching on that university, and the typical path of go to school, get a degree, get a job, doesn't really work that well. I spent a lot of time talking about this in I think the past episode where that was not my experience, it took me five and a half years to get a job, as a coder, going through the whole school thing and whatnot. And then it also took one of my closest friends, Nathan, six years before he got a job. And it's just a constant story that comes up where I talk to people on Zoom calls, talking to them to see if they'd be a good fit for the bootcamp. And so many of them, I would say almost half of the people I speak to, are currently in school, close to graduating.
They might have one or two semesters left and they realize, “Uh oh, I don't feel like I'm ready for a job.” Or there's people who have graduated, and then they do realize in the real world, “Uh oh, I cannot get a job.” Now, this isn't the case for everyone, but there's enough people out there that makes me worried. Because again, I was in that situation that the education system, at least the formal education system, where you go to a college, you can get a degree, it doesn't really prepare you for the real world.
So that's where if you're in that boat, if you're feeling like, “Ah, I'm in college right now and I just don't feel like I'm ready for the real world. I feel like I've learned a little bit about a lot of subjects. I've learned a little bit of Python, I've learned a little bit of Java. I've learned a little bit of C++, maybe a little bit like assembly language or some other useless thing that is not going to help you in the real world. I've learned a little bit of everything, but I don't feel confident in my skills.” So if that's you, first of all, that's not your fault. You didn't do anything wrong. That's just the formal education system and the way it works and the way it's set up, it's a bit antiquated.
And although it's a great social experience, like I said before, it doesn't really prepare you for the real world. So if you're in that boat, a bootcamp might be a good fit for you. I would consider it in your case. The next student type that I see come through my doors who are interested in bootcamps, are students who, they have a job already in the real world. They're working in what I call an adjacent field to programming. So this might be someone who is working as a QA, the quality assurance person, someone who's working in dev ops, development operations; any sort of field where you interact with developers on a daily basis or weekly basis.
And you say to yourself, “Huh, they seem like they're having a lot of fun. They seem like they get paid very well. The perks that they have seem very desirable and it seems like an interesting career path.” So this is very common, right? People who work in the real world with developers who are not actually doing any development themselves, that is a another group type that I see. That maybe makes up, I don't know, 20-25% of the students that I see in my bootcamps. So if you're in that category, it's also a good fit, right? A part-time boot camp works well if you had a full-time job, and you can find an hour or two during the weekdays, and maybe a bigger chunk of time over the weekends. That's where these things work quite well, actually. So, if you're in that boat, consider a bootcamp.
The third category are people who have no experience with development at all. They've never worked with a developer. They work in a job that has nothing to do with software development, but they feel like, again, same thing as group number two, which is they feel like software development is something that sounds interesting to them. And again, looks like a great career, looks like they're getting a lot of perks as developers, that kind of thing. So yeah, they're interested in this path. This makes up probably, well, whatever the rest of that would be, what 40 plus 25 is 65. So 45% of my students are in this category. They have absolutely no experience as the developer. They're just like, “Huh, I think I should… I want to change jobs. I kind of hate the job that I'm in right now. It's not a fun experience for me. I'm tired of doing hard labor or whatever the case may be. I'm just bored of the work that I'm doing. It's just mind numbing, and I constantly look forward to the weekends, and I hate Mondays.” Right?
If that's you, I would say you're possibly a good fit for the bootcamp. I say possibly because there's one criteria for this category that I usually use to separate out the people who really would be a good fit for the bootcamp. And that is some mechanism to ensure that you will enjoy this process. Learning how to code, as I've said, many times, is very, very, very difficult. It is frustrating. It will try your patience. It will really exercise your willpower, your stick-to-it-ness if you will, because it's very hard to learn how to code. And it's very easy to quit when you're just starting to hit the first roadblocks.
So what I generally recommend for this group of people is to do some sort of introductory course, to do some sort of way to dip your toes in the waters of development in general. That's where I talk about my bootcamp prep course, right? The coderscampus.com/start. If you go there, you can get a free sort of… I don't want to say free trial. It's completely free forever. It allows you to dip your toes in those waters and see if development is something that you might enjoy. Okay? So, if you go to coderscampus.com/start, you'll be able to try the first four weeks of the bootcamp. There's a couple of assignments in there. There's a Slack channel, so if you need help, you can reach out on Slack, because you're most likely going to need help. You're most likely going to get stuck, and this is where bootcamps are, in my opinion, vastly superior from typical online courses, when you can get access to the instructors directly in more or less real time via a chat application like Slack.
It's just far superior than sending an email or posting in a Facebook group or something. It's helpful posting in a Facebook group, but it's not… You really need that live feedback. You need that live interaction with an instructor in real-time so that you can make sure that you're understanding all the stuff that… You're learning, right? You got to practice and you got to make sure that you're understanding it. So that's my only stipulation for this third category of people, which is, you need to make sure that you are cut out for it, at least a little bit, right? Everyone's going to feel like they're not cut out for it, but you got to dip your toes in and see, “Do I even enjoy this process?” Okay?
So, for that third category, if you're someone who loves to learn, if you are always curious, if you like to tinker with computers, if any of those things sort of apply to you, you're probably cut out for this. You're probably going to be a good fit, but still I would recommend you go and take some sort of free introductory lessons just to see how you feel about the whole thing. Once you've done that, boom, then once you've crossed that threshold and realize, “Okay, I can push through and I can complete some assignments here,” then by all means I think a bootcamp would be a great fit for you. So, all of that is to say, those are the three sort of categories of people that I see the most come through my doors.
It doesn't mean that if you're not in one of those three categories, that this would not be a good fit for you. You never know. Ultimately it comes down to the grit, right? Ultimately it comes down to, do you want this bad enough? Right? Do you want to put yourself through the uncomfortable experience of learning how to code so that you can unlock the rewards at the end of the tunnel? Okay? That's really what it comes down to. So, having said that, that's sort of the categories that I look at for people who would be best fit for the bootcamp. Now I want to talk more about the public perception. The public, whatever, I guess, perception of bootcamps in general. Excuse me. You might have seen or heard articles talking about, these catchy headlines where it's like, “90% of all bootcamps are just a scam.”
Now, I don't know, I can't speak to the fact that the correctness of the 90% figure. I certainly know that I've looked at other bootcamp curriculums, I've looked at the way the programs are set up. I've spoken to some of the students who have taken other bootcamps and they would echo that sentiment in that some of them were poorly organized, poorly put together. They did not really have the greatest experience in terms of support. It happens. There are definitely bootcamps out there. Unfortunately it will be on you to do your research, to make sure that any bootcamp that you're considering is a good one. Does not mean that every boot camp out there is a scam. Okay? When you have the mindset of, oh… These absolute mindsets. Everything out there is a scam and the landscape is just too ridiculous and too difficult, and everyone's out to get me. That's just victim mindset that will literally get you absolutely nowhere in life, let alone learning how to code.
So, there are definitely great bootcamps out there. Very reputable ones, very large ones that have done fantastic job at creating a legacy for themselves, as well as small ones like mine who are starting out with lots of enthusiasm and having lots of great initial success. Okay? So, unfortunately, you just have to do your research. Red flags, things to look out for are curriculums that are outdated. Okay? If the curriculum in a bootcamp looks like a curriculum in college, if you're learning all the same topics and nothing more, that's a red flag. That means the college has likely just purchased a bootcamp, and is sort of using the bootcamp as a means to… It's another marketing channel or another way to make money for the university. So, keep an eye out for that.
Look to see if they have any data on placements. Right? You want to make sure that ultimately the goal is to get placed in a job, so does the bootcamp have metrics? Can they share data and talk numbers about placement rates and whatnot, and get curious about those? Don't just accept the number, right? Like if I say, “Hey, our bootcamp right now has a 90% plus placement rate.” Well, great, but what does that mean? Right? What do you mean? Based on what? How do you come to that number? And if you ask me that question, I would say, “Well, it's based off of people who graduated first. So you have to graduate before you are considered in that number.” Okay? Thankfully, my graduation rate is fairly high. I do everything I can in my power to help my students out during the process of learning, but other bootcamps, the graduation rates are terrible, and a lot of students drop out, and they've invested all that money and gotten maybe not so much out of that.
And then, for the ones that did graduate, for the minority that crossed this extremely crazy threshold, then yeah, look, we have a hundred percent placement rate. So, there's a way to fudge the numbers there, so make sure that you can do that research as well and ask those types of questions. And obviously, if there's a way to contact alumni, that's always a helpful way to get feedback. Places like Course Report or something, has a good way to look at ratings or reviews of bootcamps, that kind of thing. So, anyway, in general, is every bootcamp in existence a scam? No. Are 90% of them a scam? I doubt it. A lot of these negative feedbacks that you… Or the negative feedback you might hear are students who failed, who actually were not able to complete a bootcamp. And therefore, they deem that as a failure of the school, and put it all on the school and say, “The school failed me and this school is awful, and I can't recommend it to anyone.”
For those, it's a case by case basis because some students are just not willing to put in any extra effort at all. And there's nothing that any school would be able to do for those students. Right? They were doomed to fail to begin with. Again, I repeat, learning how to code is very, very, very hard. It's going to take a lot of effort, a lot of hard work, a lot of dedication, motivation, willpower. Acquiring this skill is difficult. If it were not difficult, then there would not be a shortage of good coders. Right? There would not be so many jobs open and available in the world of software development if it was easy to become a software developer. So, keep that in mind as well, when you are looking to students' reviews and ratings and whatnot. Sometimes it's just, the student was not willing to put in more than five hours a week or 10 hours a week. Right?
If someone's not willing to put in the time, they're not going to succeed, they're going to fail, and then they're just going to blame it on other people. So again, that's the sort of victim mentality, don't fall victim to the victim mentality. Okay. So, bootcamps in general, again, as I've spoken about, in my experience doing this for almost a decade, they are by far the most effective mechanism I have seen for getting people jobs as software developers, period. Bar none. I've tried them all. I've seen them all. I've experienced them all. There's nothing more effective than that. Now, I've been talking for a while. I want to talk about the cost of the bootcamp as well. So, it's just started to rain now. I'm standing under a tree, I guess I could talk a little bit about that. So bootcamps and cost. So it's no surprise, it's no secret that bootcamps are expensive if you just look at the sticker price. Right? If you just look at the price tag, you'll say, “Oh my God, that's expensive.”
That could be a fair analogy if that's all you're looking at. Right? If you compare say, “Oh, I could get an online course, or I can get a bootcamp. Oh my God, the bootcamp costs a hundred times more, or something. Or a thousand times more. That must be a rip off. That must be a scam. That must be some way that someone is trying to take advantage of me.” But there's a reason for that price tag. There's a reason that bootcamps cost more. It's because of the effort that goes into helping the students, right? The one-on-one effort, the staff, all the logistics around fulfilling them and organizing them. And it's a lot more work to organize a bootcamp than it is to just publish an online course. Again, I know, I've published like 20 online courses myself.
They're simple. It takes me a few hours of work. I maybe put in 10 hours of work, 20 hours of work, and boom, I've got a course and I can sell it, and I never have to do anything for that ever again. 20 hours of work, done. A boot camp is far more work. So, that's where that sticker shock will come from. But remember, success rates. The success rate of an online course, the success rate of a university program, versus the success rate of a bootcamp. You have to look at the success rate in terms of people's outcomes in terms of getting a job, and you need to look at the length of time it takes to get that job. Okay? Universities typically three to five years of work needs to go into that. Okay? And tens and tens of thousands of dollars, if not a hundred thousand dollars or more.
In my opinion, again, if you're part of that first group of students who are currently in university, I'm so sorry, but I need to say this. This is the least effective mechanism that you can leverage. Okay? It is the most expensive and it takes the most time to ultimately achieve the goal that you are setting out to achieve. Okay? So if you're looking to spend a lot of money and take a lot of time before you finally get that job, hey, universities are great. Obviously, that's not a great way to go.
The second best way to go in my opinion is online courses, okay? Far less expensive than university programs, and oftentimes, if you are dedicated enough, if you have enough gusto and effort that you can put into, it takes less time than a university program. Okay? You can get there in less than three years and spend far less money. It's a lot more frustrating because you don't really have any mentors, you don't have anyone to guide you, you probably won't have a group of people that you can collaborate with and work with and have the comradery with. So, this route, although a lot more affordable, is probably more difficult than any of the other mechanisms.
So, the success rate of the learning on my own and buying online courses is the lowest amongst all of them. Okay? Typically I see a 5% quote-unquote graduation rate for students in an online course, meaning only 5% of the students will actually complete the online course. Sorry, an annoying truck coming up. So, if it's only 5% of students who are going to graduate, what percentage of those students are even going to get a job? It's an even smaller percentage. So we're maybe talking at best two and a half percent. So at best two and a half percent will actually succeed and get a job with just self-education. Okay? You see a lot of great stories out there, a lot of great, feel good stories like, “Oh my God, I did it. I learned on my own. I didn't have to pay a lot of money, and I got a job,” and that's great.
I love it. I've had a lot of those stories myself, but they are the vocal minority, right? You were incentivized to share that story. It's a feel good story. People will react nicely to it, and they'll give you a congrats and all that stuff. And plus you just want to celebrate, right? That's why you want to share those kinds of messages. You are not incentivized to share that story if you failed, right? If you tried to succeed, you tried to do online courses, and you gave up after a year and said, “This is not for me. I must not be smart enough.” You are not incentivized to share that story, so that's why you don't hear from a lot of those people. Okay? So, learning on your own is great if you are very motivated, very dedicated, very all the stuff, right?
All the unfair advantages that you could have over anyone else, because you can dedicate 40 hours a week or 60 hours a week to learning and… It can be done, but it takes… Outcomes, the success rate is quite low unless you are a unicorn. Right? I don't say unicorn, but unless you are, there's something special about you. So, that from, again, my experience, that's what I've seen. Now, with bootcamps, the success rate of bootcamps is in my opinion, at least on par with the success rate of universities. If not slightly better, but that's only with me. I can't speak to all bootcamps, but I would say that the success rate for students getting into a bootcamp and getting a job is probably at least on par with the university programs, but obviously a lot less expensive. Boot camps are not a hundred thousand dollars.
Boot camps, hopefully, are not tens of thousands of dollars. Okay? Hopefully a good bootcamp for right now in 2021, the average cost of bootcamp is about 12 to $15,000, US dollars. Again, it sounds expensive, but when you look at the data and you look at outcomes, it's actually the most affordable, and I'll explain why. So, bootcamps typically are about six to nine months in duration. Any good bootcamp is about six to nine months in duration, and hey, maybe even longer. That's cool too. Hopefully not over a year. If it's over a year, then something else is going on there in terms of what they're trying to do for you, but the average boot camp is I would say six to nine months in duration. And then you graduate, and then any good bootcamp worth their salt, will have a placement rate of, like I said, high 80s or low 90s.
And they will get you that job within six months. So that high 80s to low 90s metric in terms of placement rate for getting people a job is based on getting a student a job within six months of graduation. So, you're looking at six months at a bootcamp and up to a maximum of six months of job hunting, if you will, before you are placed. So let's say, worst case scenario, about a year, before you can be placed on the job. So, one year of effort with an investment of, let's say on average 12 to $15,000 for the bootcamp before you are earning money. You're earning an average salary of probably 60 to 70,000 US dollars. Okay? About one year, versus self-taught. Self-taught is you pay almost nothing, in comparison. In self-taught you might pay a few hundred dollars, maybe a thousand, but typically self-taught, again, the success rates and the time it takes to become successful in terms of being placed is usually on the order of years.
From start to finish, if someone starts to tinker around and start to learn how to code to, I actually have a job and I'm sharing my success story, on average, it's more than a year, it's maybe two years. Right? So, on average, I would say it takes about a year more for, again, that sort of not unicorn of a student, but the student who is willing to put in a lot of effort, a lot of extra effort. So, for the student, who's putting in a lot of extra effort and actually gets rewarded for that effort, they are able to find success by getting a job within let's say two years. Okay? So on average, about a year extra, versus a bootcamp.
And then universities, as we know, not everyone graduates. Some people drop out from university and still owe all that money. Some people do graduate and never end up finding employment and give up and do something else. So it's not all 100% in terms of, person who starts as a computer science major or something, and then graduates as a computer science major, that number is actually quite horrendous. My first year computer science course, had about 500 people in the lecture hall, okay? Year one, 500 people. Year two, maybe 50-ish. So 90% of the students who started as a computer science major did not continue as a computer science major. They said, “Oh, you know what? Maybe I'll change my degree. Maybe I'll major in math instead. Maybe I'll major in social studies or English literature,” or whatever. I'm being a bit facetious here. But yeah, that number drops significantly. So the success rate of universities are pretty poor and they're very expensive, and they take on average three to four years.
So again, I'm so sorry if you are in college right now. If your goal is to get a job, it's… Hey, if you can afford it, again, if you can afford it, if you're not going into crazy amounts of student debt, it's a great social experience. You grow a lot as a human being, probably will be the best years of your life. In my opinion, hey, it's worth the investment on that front, but solely relying on it to be an investment to get a job, I can't condone that messaging. So yeah. So how does this all shake out? So universities, way too long; self-taught way more affordable, but also probably at least a year more, if not far longer. Potentially, the success rate is even lower. So let's just say, let's take the happy path, and say that you are one of those unicorns.
You are someone who can do it in that timeframe. You can spend less than a thousand dollars and get a job within a couple of years. But if you look at just the numbers, if you look at someone, if you were that same person, you copy that person into two, one person chooses the route of self-learning for a couple of years, and one person chooses bootcamp for about one year. Again, probably that's worst case. Most of my students are placed within two months of graduation, but let's use the worst case. That means that on average, a student in a bootcamp will graduate a year sooner. And if you graduate a year sooner as a programmer and are earning an average salary of 60,000 US dollars, and you are able to have that salary of 60,000 US dollars… Again, that's an average salary.
It depends on if you're a west coast, that's much higher. If you're in a big, big, major city like New York or something, much higher than that average salary. But anyway, let's stick with averages. You graduate and you get a job a year sooner than the self-paced learner. How much money is a self-paced learner earning in their current position? If they do not have any employment that is a $60,000 difference, net difference. So you're making an extra $60,000 from choosing the bootcamp. You invested 10, 12, 15,000 in the bootcamp. You take that away from the net, minus taxes and whatnot, you're still coming out far ahead of the person who was learning on their own, full-time for two years. Right? Let's say the person learning on their own doing online courses has a full-time job, getting an average, whatever the salary is, what $40,000 a year or something, average salary? While they're going to have less time to dedicate to learning on their own, which probably is going to push that two years back a bit more. It might be two and a half or three years now. But let's just say two years.
Again, you look at the numbers, you will be able to place yourself in a job once you go through a bootcamp, a year sooner, making probably on average $20,000 more a year. Well, within that first year, you've paid off the entire bootcamp, and then, made a little bit of profit potentially after tax. Maybe. It could break even. It could mean the difference in the salary is such that you just pay off the bootcamp after the first year, but then guess what? Year two, you're not only going to probably be making $60,000 again, you're probably going to be making 65 or $70,000 because salaries of coders go up very, very quickly for the first, whatever, five to 10 years of your career. Let's say 10 years of your career. They go up very far, very high, very quickly.
You might start at 60, but within five or 10, well, let's say seven years, you'll definitely be in the six figures. Right? So, the sooner you can get on a path, the sooner you can start getting raises, the faster you're going to be outpacing your duplicate, if you will, who was doing the self-paced route. So you have to look at the numbers, the actual hard science and data behind all this stuff, and look at it objectively, not subjectively. Don't be lulled into this group mindset of, “Oh, every bootcamp is a scam and they're so expensive and everyone's out to get me, and you're an idiot. If you're doing a bootcamp.” Right? Look at the numbers, look at the data, look at the actual charts that show these outcomes. This is not hard to calculate.
When you look at it from a data mindset, you are going to see that the most effective, the most efficient, the most affordable path forward… Well, if you look at the numbers, hopefully, you'll come to the same conclusion of which of the three methods or mechanisms are the best, if you will, in terms of just how do I get more money in my pocket faster and over time as well. Okay? That's why I say, there's no more effective, there's no more impressive means of achieving the goal of getting a job than bootcamps. Okay? Hopefully that makes sense to you. Yeah.
Again, I never really wanted to do a bootcamp and launch bootcamps. I would've much rather stayed in the world of just plain old, online education, because it was far, far easier, far less complicated. My lifestyle was much simpler, just doing online courses as a business owner. It was amazing. It was great, but really, I had to swallow that hard pill of, look, although my life is great and grand, my goal is to help people get jobs. And if I'm really true to myself and what I want to be doing here to help students change their lives and ultimately change the world. I mean, I just can't, now that I know this data, recommend the online course, self-taught path, or the college education route. I just can't do it with a good conscience.
So yeah, that's where that comes from, right? Why do I keep talking of bootcamps now? That's where that comes from. It's just the most effective way for you to achieve your goal. If your goal is to get a job. If your goal is not to get a job and you just want to learn for fun, oh my God, then online education is the way to go. Absolutely. Hopefully you can stay motivated. Hopefully that will drive you to stay motivated. You definitely don't need a bootcamp if all you want to do is learn for fun and you don't want to get a job. Yeah. Unless you have piles of money and you're willing to spend it on something like a bootcamp and learn faster, then great, fine. That works out. But yeah, if you don't have a lot of cash on hand and you just want to learn for fun, then no, don't take the bootcamp.
So hopefully, that was obvious. I don't need to say it, but yeah, there that is. So, hopefully this was helpful. Hopefully this was insightful. Hopefully this format of me walking around, getting some exercise while I share these tidbits, is enjoyable. Obviously I'm open to feedback. So, feel free to reach out, send me an email or something. Trevor at coderscampus.com. If you're interested in my particular bootcamp, you can check it out, coderscampus.com/bootcamp. If you're interested in that free course, again, if you're in third category of person who does not have any experience in coding whatsoever, you will not be admitted into my bootcamp. You need to have some exposure to it first.
Again, we have to get past that great dividing wall of the first year of university, if you will, to separate out the people who think that they want to do this, but actually don't want to do this, from the people who do want to do this. So, if you have absolutely no experience as a coder, please do take my free course first, the free bootcamp prep course, coderscampus.com/start; S-T-A-R-T to start your career, if you will. See if you like it, see if you can handle it, ask questions, you get access to Slack. You can interact with me. You get to do a couple of assignments and dip your toes in the waters. If you like it, then, hey, cool. Then we can put you into the next bootcamp cohort. If you already have experience as a coder and you know you want to do this, then coderscampus.com/bootcamp. Check it out, and if you like it, you can apply for free. So, there's an application process. You have to fill out a form, hop on a phone call with us for the admissions process.
We can't accept every student because we have limited cohorts and they're actually filling up now. Which is great for the business and great for the students, but like I said, I can't just take a hundred students or a thousand students or 4,000 students tomorrow, because bootcamps are so much more effort than regular old, online education. Anyway, if you're interested coderscampus.com/bootcamp. Thank you so much for listening. I've had actually a lot of fun doing this podcast while I walked around. Unfortunately, like I said, it was raining, so I had to spend most of my time standing in front of my own house, but hey, hopefully tomorrow or the next day it'll be nicer and we can chat some more. So thanks so much for listening and, yeah, look forward to seeing you in the next podcast episode. Take care of yourself. Happy learning and bye for now.
The post EP46 – Are Coding Bootcamps Worth It? appeared first on Coders Campus.
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
The post EP45 – Key #1 of 3 to Getting a Job as a Coder appeared first on Coders Campus.
Generally speaking, modern day programming languages fall one of these 2 categories: dynamically typed vs statically typed.
So what is the difference between a dynamically typed and a statically typed programming language?
Before we can dive into what dynamic or static typing means, we'll first need to understand what it means by “typing” in general.
Note: This concept actually reaches beyond just JavaScript and Java, but for the scope of this conversation we will be using JavaScript as the example for dynamic typing and Java as the example for static typing. (So yes, Java is a statically typed language.)
Let's start by talking about the concept of “typing”.
When we say “typing” we're referring to the concept of applying a “type” to a variable.
So, in Java, we always assign a type to our variables. For example:
In all three of these variable declarations above, we have assigned a variable type to each variable. The reason we have done this is because Java is statically typed and therefore we are forced to assign an exact type to the variables before we can use them.
Having a type is important in programming because it allows the language to decide what to do with your code in certain situations.
For example, if you have two Integers and you tell it to add the two together, because they are Integers, the language knows to use addition… however, if you had two Strings and added them together, because they are Strings, the language knows to concatenate them (not add them).
Make sense?
Types are important.
Having said that…
The difference between dynamically typed and statically typed programming language is that with dynamic typing, the programmer is not required to specify any types for the variables they create.
How neat is that?
But I'll need to dig in just a bit further to refine my definition of a dynamically typed language. You see, if you don't explicitly set a type, but the programming language can assign a type at compile time, then the language is still considered to be statically typed even though the programmer isn't required to explicitly set a type.
A programming language is said to be dynamically typed if the programmer doesn't have to assign a type explicitly, and a type isn't assigned to the variable until run-time.
This means that with languages that use dynamic typing, you don't actually have to decide if the variable you're creating should be a Double or a Float or a String or an Integer etc.
All you need to do is just tell the language that you want to create a variable and you go about your business assigning whatever values you like to it.
So let's recreate the declaration of those three Java variables using the JavaScript syntax:
When we execute this code in JavaScript, the JavaScript interpreter (a.k.a the JavaScript engine) will look at the values that are being assigned to the variables you've declared and decide for itself what “type” to assign the variables in the back-end.
Having said that, it's very important to understand that just because you didn't have to assign any types to your variables, doesn't mean that JavaScript doesn't have types… because JavaScript definitely does have types.
You'll be introduced to the typeof operator in a couple of weeks. It's used to determine what type is assigned to your variables.
The concept behind how dynamic typing works in JavaScript is actually pretty straightforward.
The JavaScript engine will choose a type that it feels best describes the data that's contained inside of your variable. So when you create a variable and assign it the value of "Hello there!", the engine will realize that this is a String and it will assign that as the datatype behind the scenes.
This means that if the JavaScript engine has chosen the String datatype in the back-end, and you were to add another string to this variable, it would know to perform string concatenation and not addition.
So all the same rules of variables that you're already familiar with, still apply. There's just a algorithm that works on your behalf to assign a type to your variables.
We'll go into more details about what implications dynamic typing has to your coding in the next article when we dive further into JavaScript variables.
If you come from a Java background, it might be a little bit of an odd transition into a dynamically typed language like JavaScript, but the most important thing you need to remember is that there are still types that back all of your variables.
You just need to sit back and enjoy your new-found freedom of not having to think about what types to assign to your variables when you declare them! Just declare those variables and walk away :)
And as always, be sure to join our email list below and receive a free gift directly to your inbox. You can read more about what I'm giving away as a free gift below this post!
The post Static Typing vs Dynamic Typing appeared first on Coders Campus.
Up to this point we haven't talked about the elephant in the room!
And that's the fact that we've been talking about JavaScript for quite a while now, but we haven't yet discussed how to actually USE JavaScript inside of an HTML page.
Well, no time is better than the present right? Let's talk about JavaScript and HTML.
As I just mentioned, you've already seen many examples of JavaScript syntax, but we haven't seen the link between an HTML page and the JavaScript code.
The link between them is pretty straight-forward, you just need to know that there are two ways to link your JavaScript code to your HTML pages:
Now that you know there are two ways to link your JavaScript to your HTML, let's take a look at each approach.
If you happen to have some JavaScript code stored in a file (like we saw in the last article on debugging in JavaScript) then there's a simple way to “import” this JavaScript code into your HTML page.
Let's first assume that we have a basic HTML page like so:
Secondly, let's also assume that we have a JavaScript file that's called “Debugging_Example.js” and we'd like to include it into our HTML page above. In this case, we've already seen this JavaScript file in the last article on debugging, and we know that it is stored in the following URL: https://www.coderscampus.com/wp-content/uploads/2015/07/Debugging_Example.js
Note: If you like, you can even click on it and see the contents of the JS file in a new tab
Okay, so now we know where our example JavaScript file exists, where do we go from here?
Well, in order to import this JavaScript file into our HTML file, we just need to use a
SUPER IMPORTANT NOTE: When using the script tag, it is mandatory that you use the closing tag just as it appears. Don't try to use the “short-cut” approach like this
And voila! You've now successfully imported the “Debugging_Example.js” file into your simple HTML page.
Pretty simple to understand I hope.
There is also a second way to include JavaScript code in your HTML files, and that's by directly embedding the JS code itself.
This method is nearly identical to the one above, and thus the same rules from above apply here. You still need to use the proper closing tag when embedding JavaScript code.
The only difference when embedding JavaScript code is that you don't specify a src property, as you're not importing the code from an external file, so there's no purpose to trying to specify the source of the code right?
Here's what embedding our “debugging example” code would look like:
Boom! You've just learned how to directly embed JavaScript code into your HTML pages.
So you're probably wondering when you should use either of the two options for including JavaScript code on your HTML pages.
And the answer is also pretty simple.
Generally speaking, it's best to separate your JavaScript code from you HTML code.
This means that it's usually a best practice to create separate JavaScript files (just like our “Debugging_Example.js” file) and import them rather than embed them.
When you embed a LOT of JavaScript code, it can get a little bit hard to follow along with the HTML file. So you should try to always favor importing over embedding.
In order for your HTML files to make use of JavaScript code, you'll need to include the JavaScript code IN your HTML files in one of two ways.
Either you import the code from an external JS file, or you embed the JavaScript code right into your HTML page.
Both approaches will get the job done, but you should try to favor importing your code from an external file, as it's best to separate your HTML code from your JavaScript code for easy readability.
Oh! And don't forget, we're always offering SWEET stuff in the email signup form below. So if you haven't already, be sure to check out what freebies we're offering and sign up below.
The post EP33 – Importing JavaScript into HTML via Script tag appeared first on Coders Campus.
Learn all about how to get a job as a full-stack Java programmer. In this episode, you’ll hear the story of my friend Nathan, and how he became a coder.
At Coders Campus, we help you get a job as a Java programmer. Learn more how to get a job as a Java programmer with our Online Java Coding Bootcamp.
The post EP44 – How to get a Job as a Java Programmer appeared first on Coders Campus.
Learn about how to write your resume to land an interview for a programming job.
You can download a copy of my resume via coderscampus.com/resume
Learn about how to write your resume to land an interview for a programming job.
You can download a copy of my resume via coderscampus.com/resume
Coders Campus can help you write the perfect resume and land your first Java programming job. Learn more about our Online Java Coding Bootcamp and the career services we provide as well.
The post EP43 – Resume Writing Tips appeared first on Coders Campus.
In today's episode, we'll dive into all the different facets and disciplines that exist in the world of Java programming.
You'll learn about the “5 Pillars of Java Programming” and how they apply to the different types of jobs.
You'll also get a high level overview of the types of salaries you can expect to see in the world of Java programming.
In today's episode, we'll dive into all the different facets and disciplines that exist in the world of Java programming.
You'll learn about the “5 Pillars of Java Programming” and how they apply to the different types of jobs.
You'll also get a high level overview of the types of salaries you can expect to see in the world of Java programming.
Coders Campus can help you start your Java Career. Learn more about our Online Java Programming Bootcamp and how you can launch your career as a Java programmer.
The post EP42 – Java Careers and What they Pay appeared first on Coders Campus.
In today's podcast, I'd like to share my knowledge on how to get that coveted entry-level / junior programmer position.
You'll hear about my take on things like:
In today's podcast, I'd like to share my knowledge on how to get that coveted entry-level / junior programmer position.
You'll hear about my take on things like:
Coders Campus can help you land an entry level coding job. Learn more about our Online Java Coding Bootcamp.
The post EP41 – 5 Tips on Landing an Entry Level Programming Job appeared first on Coders Campus.
The DOM is something that intimidated me for quite a while (even as a senior software engineer), but this was only because I didn't understand what it was, and never took the time to learn.
I assure you, if you're feeling intimidated by the DOM, you don't need to be!
DOM stands for Document Object Model and it exists so that you can interact with HTML elements using JavaScript. That's really all there is to it from a 30-thousand foot view.
When a webpage is loaded, a Document Object Model is created.
The important thing to remember here is that we're talking about Objects, specifically, JavaScript objects.
So a “model” is created, whereby all the elements of the HTML page are loaded up as objects so that you can interact with them.
Here's a great visual representation of the DOM:
So every element in the HTML page get assigned to its own Object, and along with that Object you'll also be able to access the HTML element's properties too.
And believe it or not, you've already seen all of this in action before. We recently talked about all the built in objects that JavaScript has, and in that lesson we saw how we can load up HTML elements as objects using the getElementById() method in JavaScript.
The whole reason why you're able to “call up” HTML elements in JavaScript is because of the DOM.
No DOM, no interacting with HTML, sad days.
And the DOM is not only used to retrieve HTML elements, but also to change them as well.
You'll recall that we changed some of the style properties associated with a paragraph when we talked about the built in document object.
Not only can you change HTML elements via the DOM, but you can also add and delete elements as well.
It slices, it dices, but wait, there's more!
There are plenty of things that you can do with the DOM, but they've all been outlined and explained to death out there on the interwebs and the concepts aren't hard to grasp. So instead of having me just rehash existing content, I think I'll turn this one over to the good people at W3Schools.
Have a gander at their tutorial on the DOM here.
The post EP40 – The Document Object Model (DOM) appeared first on Coders Campus.
So we've talked a lot already about all the different data types and built-in objects in JavaScript, but not once have I mentioned Arrays.
Having said that, I believe your moment has arrived, you are now ready.
Believe it or not, JavaScript actually has two ways of creating an Array.
Here's an example of how to create an Array using the first method:
You see here that we've used square brackets to create an array that has three elements. In this case we're storing strings inside of the array, but we really could have used any data type we wanted. You can even mix and match data types in your arrays like so:
Here we have inserted a string, two numbers and an Object.
This kind of mix and match isn't recommended though, as it's pretty confusing and would be strange to iterate through. But, it's interesting to note that you can do it, right?
Alright, now let's take a look at the second way to create an Array.
It's worth noting that this method for creating an Array isn't recommended as it's not as efficient and has some quirks. So it's always suggested that you create an array using the array literal syntax above.
In any case, you will most likely run into the code that uses the new keyword to instantiate an Array in JavaScript. So let's take a look at an example:
When you place a number inside of the round brackets of the Array instantiation, this tells JavaScript to allocate three spots for the array. However, with JavaScript, arrays are implemented as objects and can therefore be extended beyond what was initially set as.
Just as in most (if not all) programming languages, JavaScript uses a zero based index for its numbering system with elements in an array. This means that the "first element" will be at index 0.
As you've seen above, we are able to place elements into our arrays, but we haven't talked about how to retrieve those items.
All you need to do is reference the index of the item you'd like to retrieve with the following syntax:
Pretty simple stuff. The hardest part is remembering the syntax.
One thing that's interesting to note is that a JavaScript array doesn't give you any errors if you try to access an index that doesn't exist. In the Java language, if you've allotted 3 elements to exist inside the array, then try to access a fourth element, you'd get an IndexOutOfBoundsException… but in JavaScript, all you'll get back is undefined, as you're accessing an element that hasn't yet been created.
So you've already seen how to place elements in a JavaScript array when it's being created… but what about after it has been created? How do we insert elements then?
There are two ways:
First let's look at the push() method:
This is also pretty simple stuff, each time you invoke the push() method, JavaScript will add the element you specified inside the round brackets to the end of the array.
OR…
You could just manually specify an index where you'd like to insert an element like so:
In the code above, we just specified the exact index where we'd like to insert an element.
The cool thing about JavaScript arrays is that they don't really function like an array really, they operate like a Map. So you're allowed to have “holes” in the array. As you can see, we assign an element to index 9, and then we assign an element to index 99… again, in Java, this is sinful, but in JavaScript it's perfectly legal.
Again, it's not very useful if you'd like to have consecutive elements being stored, but you are free to utilize an array with gaps if that suits your needs.
We know how to add, now let's talk deleting!
One thing I wish the JavaScript Array had was something like a remove or delete method, but alas we must deal with something a bit more complex.
The method used to delete an element or elements from an Array is the splice method.
The splice method can actually be used to delete multiple elements (not just one), and it can even be used to insert elements into an Array at any index. So the splice method is quite flexible, but that's exactly where I think it falls short. It just does too much and therefore I'm always looking up how to delete elements from a JavaScript Array as I keep forgetting how to use it.
Anyway, enough complaining, let's look at an example. Let's say we wanted to implement some code to delete the last element in a JavaScript Array. This is a common task, so it'll be some useful code, here we go:
So, what's going on here is that the splice method takes two parameters by default. Both are required.
The first specifies the index at which you'd like to delete elements, the second parameter says how many elements you'd like to delete.
So in this case, we're passing in myArray.length-1 as the index from which we'd like to start deleting. Since the Array‘s length is 3, this means that we'll start deleting at index 2. Then we specify that we'd like to delete one element, so it will just remove the last element in the Array.
Alright, but I also mentioned that the splice method can insert elements as well! So let's now try and insert an element in the middle of our Array while deleting an element as well… you see how complicated this can get? Jeez!
So, the code above will do two things, first it will delete one element at index 1. Since Arrays use a zero based indexing system, this means that we're deleting the second element… THEN, we are telling it to add the "random middle element", which will add the element at the index that you specified in the first parameter.
So the resulting array will look like this:
So you see here that the second element has been deleted and it has been replaced with a "random middle element".
It's also pertinent to note that you can add as many elements as you like with the splice method. Here's what I mean:
The resulting array would then be:
Cooooooool.
Alright, then about sums up all the typical things that you can do with the JavaScript Array! For even more fun tricks, check out this article from W3Schools.
And since you've read ALL the way to the bottom of this post, you REALLY need to put your email address in the box below. We've got some great free JavaScript swag to send to you, check out the info in the box below for more details.
The post EP39 – Arrays in JavaScript appeared first on Coders Campus.
From the publisher's feed