Khalal talks about his experience writing the dad jokes SMS bot, how CS curriculums can kill the joy of coding, and the problems with bootcamp marketing.
Khalal's first language was Java, he learned his it in school. He didn't like coding in school because all they did was learn algorithms and data structures. How many people have completely turned away from this amazing career where you get to build cool things like dad jokes in text messages simply because classes get structured around data structures, algorithms, and Java?
New coders should take a step back before jumping straight to a Bootcamp. Take time to learn on your own to make sure this is what you want to do or what you want to invest in. You'll still be doing a lot of self-lead learning anyway when attending a Bootcamp.
Try to find people who went to the Bootcamp. Don't look on websites like Course Report where almost every Bootcamp is five stars. Get on LinkedIn and find developers who graduated the Bootcamp and talk to them, you'll get honest insights.
ISAs are the only option for most people to attend Bootcamps. You have to be coming from a place of privilege to pay the 18-20 thousand dollars upfront. So instead they'll take 20% of your income for two years. You get a job for $100,000, and now, you have an $18,000 Bootcamp that just went up to $50,000. You got $50,000 worth of debt in 13 weeks. That's what people may get after a year or two of college, or three or four depending on where you go.
"Get Comfortable Learning On Your Own With Khalal Walker" Transcript
"what sort of habits have you developed or you think are important if you want to break into this field, and do it and kind of in a sustainable way?"
"You literally just can't give up or quit. And that sounds like the most cliche thing ever. But it's literally so important, because you're going to hit walls. You're going to struggle. I think, the biggest thing with being a developer is just banging your head against your keyboard for eight hours of the day. And the last hour, you just see the light and you just keep finding different ways until something works."
"So, I take that with learning how to code. In the beginning, you're going to mess up on syntax. You're going to forget a semi-colon. You're going to miss a quote. And some of these things may really, really bother you. But if you keep at it, these things will become second nature. And then, you'll have new struggles. Because when you have new successes, you move on to new problems."
"And so, as long as you know that in this industry, it's always... Things are going to get easier, but you're always going to be learning something new. You're always going to be learning. You're always going to be growing and you just have to have the willingness to take on that challenge every single day."
Joel Hooks: Hi, Khalal.
Khalal Walker: Hey. How's it going?
Joel Hooks: Going great. How are you doing?
Khalal Walker: I'm doing pretty well. Can't complain too much.
Joel Hooks: So, I'm really interested in talking to you about learning to code and some of your opinions on bootcamps and how they're structured. But first, I want to ask you. What happens when I texted dad to (202) 410-4710?
Khalal Walker: Right, right. So, what will happen is you'll get added to my dad jokes subscription list. And what'll happen is you'll get a dad joke around 9:00 p.m., Pacific time. I mean it'll range from 9:00 all the way up to 9:06, should be. And sometimes, if it's slow, maybe 9:10. But you'll get a random dad joke every day until you opt out of that service.
Joel Hooks: So, how does that work? One, I want to know, how do you come up with that idea at all? Because it's fun. I love that. I just signed up and I'm looking forward to my first one. But how do you come up with that idea? And then, how do you go about building it?
Khalal Walker: Cool. So, first and foremost, I was really interested in this company called Twilio. They actually work two floors below the building that I work in now. I always see them and I met some cool people. They're like, "Yeah, we build... We have a SMS-like API that's centered all around communication." So, I was looking through their API docs and I wanted to learn how to build something, how to receive and send text messages.
Khalal Walker: So, I was like, okay, we have free API. I was like, how can I get people to get these cool dad jokes? So, how it started was I didn't have a subscription list. The only thing that would happen is, you text dad to the phone number and the phone number would send you back a dad joke. I posted that on Reddit in the Python subreddit.
Khalal Walker: And I think I got maybe 2,000 upvotes.
Joel Hooks: Oh, nice.
Khalal Walker: And my Twilio bill went crazy. I went through $50 in the first day that it was up on Reddit. I was like, well, this isn't sustainable. So, I don't think I could burn through $50 a day, just so people can get dad jokes from this free API to their SMS. So, I was like, instead of that, I made it into like a subscription service.
Khalal Walker: So, I looked into MongoDB. I didn't know much about MongoDB. I'm semi-familiar with NoSQL databases. So, went about how to hook that up. So, instead of texting... When you text dad, you'll get a joke. You text dad and you'll be added to the subscription list. And then, in the event you text stop, you can always be removed, because people don't want to keep receiving messages for things that they've unsubscribed for.
Joel Hooks: Right, right.
Khalal Walker: I've done the majority of my work in Angular and React, and I just wanted to see how to set up a quick server with flask with two end points. And that's how you get it done. Yeah.
Joel Hooks: I've played with the Twilio API and, honestly, it's probably one of the best APIs out there. It's so friendly and their documentation is good. What was your experience like using Twilio?
Khalal Walker: Right. I mean, Twilio, they have a good amount of documents to get you started. And then, they also have a great documentation on if you want to just build a project. So, they have content creators, probably, in the DevRel realm pool make content on their website to like, "Hey, if you want to build something like this, this is how you could do it," and it'll help you step by step. So, I think their documentation's great to have support and code snippets for many different languages.
Joel Hooks: Yeah. And I feel like they really... They cover the most popular ones anyway, right? You're probably going to be covered. But even if you aren't, you can just use straight HTTP calls and use the API, and it should be clear.
Khalal Walker: Yeah.
Joel Hooks: And how was Python when you got into that? It was my first language, actually, after just hacking around and PHP and stuff. The first language I really learned was Python and I love it. And I'm wondering, how was it for you?
Khalal Walker: That's cool, yeah. Python is like... It's really cool. I like it. A lot of things are more... I don't want to say straightforward, but I'd say it's more... It's easier to read, just as far as just reading code. It's like a more human readable, legible, not sure which word, but-
Joel Hooks: Yeah, I agree with that.
Khalal Walker: Yeah, I think it's just easier to read. My first language was in school and it was Java. Yeah, it was Java in school. I didn't like coding in school, because all we did was algorithm and data structure stuff. And I didn't really get a chance to go outside of my curriculum, because I was on scholarship. So, my only goal was to keep my scholarship and to keep my GPA at a certain point. So, I'm like, if work is anything like this, doing stacks and trees and heaps and... I don't want anything to do with this. So, yeah.
Joel Hooks: I wonder sometimes, because this is a theory of mine. And school is fine and computer science is great. And people learn however they're going to do it, but I wonder how many people have been completely turned away from this, this kind of amazing career where you get to build cool things like dad jokes in text messages simply because the classes are built like that and structured around data structures, and algorithms, and Java, and all that kind of... Like, that section of this field.
Khalal Walker: Yeah, tons. I mean, I'm pretty sure it's a lot of people. And I think the... I will say I think the biggest thing for college is, I guess, you'll be pretty prepared to interview, if that makes sense.
Joel Hooks: Yeah.
Khalal Walker: You'll be pretty prepared to interview, because that element is still there and a lot of these technical interviews, they're... It's still there, but all of the people who I've talked to who started tech jobs are like, "Yeah, we didn't learn anything about using stuff, just using APIs." And I felt the same way. I'm like, don't know how to build things with version control, in a collaborative effort. Just stuff like that, that people use every single day and that just doesn't get taught in a curriculum.
Joel Hooks: And I feel like the job interview process feels like it's almost a direct extension of that tradition, right? Like, the college tradition where you're learning this specific thing. So, that's what we're going to test you on, because we expect you to have learned that and we want to make sure you learned it well, or whatever.
Khalal Walker: Right.
Joel Hooks: So, yeah, with the-
Khalal Walker: I mean, majority of the time, these technical interviews, you'll do these find this node and this tree. And you'll never see anything like that again on the job. I think that maybe we should... Those interviews should be structured or how the job is going to be-
Joel Hooks: Like, real work, right?
Khalal Walker: Yeah, right. I'm not saying get rid of coding interviews all together, but just something that's transferrable. I'm not going to go... If I'm a NBA general manager, I'm not going to go and scout my point guards that are six flat to how good they can post up against centers. And then, grade you on that and like, "Oh, yeah, you're not good in the post, so you can be a terrible point guard."
Khalal Walker: So, yeah, it's just change how the hell that's done.
Joel Hooks: Yeah. I think about that a lot, because at 10 years in, if you asked me to solve FizzBuzz, which is kind of a classic programming problem, right? It's supposed to weed you out, to eliminate people that can't code at all. I couldn't do it without... I would look it up. I could probably sit there and do it, but not in a time where you'd actually hire me.
Joel Hooks: And I'm a decade into being a professional developer, and I've built my own business around coding and teach it. I couldn't do it without time and the ability to do a little research. I suppose you could prepare for it but, still, it doesn't seem realistic to me along the way.
Khalal Walker: Right. The creator of Rails had a tweet a couple of years ago. He's like, "I can't do a binary search tree. I created this framework, this Ruby on Rails. Everyone used it. It was hot. It was the hottest thing on the market at one point. And people are still using it today. And I can't pass a technical interview. Does that mean I'm inadequate? No, it just means we need better ways to assess how we go about finding valid programmers.
Joel Hooks: Yeah. So, you use a a site called LeetCode. I've seen you talk about that and could you explain what LeetCode is and how you use that?
Khalal Walker: Right. LeetCode is pretty much a website that has tons, probably hundreds, probably thousands, I'm not sure, of these programming questions that are more than likely going to pop up in technical interviews, especially if you're interviewing for the FANG companies or... And just a lot of companies still has this type of, I guess, the structure of the interview in that we talked about.
Khalal Walker: So, there's tons of questions on there that'll help you practice, that'll... You'll see some of the same patterns that'll come up in multiple questions, which will help you recognize them later on. That'll pretty much help you get better for the interviews.
Joel Hooks: So, FANG is Facebook, Apple, Amazon, Netflix and Google, right?
Khalal Walker: Right, right, right, right, right. Yeah.
Joel Hooks: Yeah. So, is that addressing what we're talking about, or is it good practice and something that you would enjoy, otherwise?
Khalal Walker: If I didn't have to do it, I wouldn't do it, if that makes sense. But, I mean, I, personally... As of right now, I don't see myself being a full-time entrepreneur and if I'm going to play this game, how it is right now, the game is the game. So, not happy with it, but-
Joel Hooks: Well, I mean, you can swim upstream or swim with the current, right? It's kind of a... You either get in there, or you fight and struggle, I would think.
Khalal Walker: Well, yeah, I mean, it's going to be a struggle. And I'm not saying you can't swim upstream. I just don't think, right now, is the fight that I'm-
Joel Hooks: No, I'd say it's a personal choice, right? It's not... you know? I don't think it's bad either way, right? You go with the current... You get the gig, get the experience and progress your career is ultimately the goal.
Khalal Walker: Right.
Joel Hooks: So, right now, what's your favorite stack to work with? What are you working with?
Khalal Walker: For me, I really like React. At my day-to-day professional job, I use Angular. But I really do like React. It took me a while when I was first learning how to use these frameworks, how to understand what props and state were. But the more I did it, the more it makes sense. And then, with the introduction of hooks, it kind of made everything... I'm not going to say easier or simpler, well, maybe simpler.
Joel Hooks: Clicked?
Khalal Walker: Yeah. It just clicked to me. When they talked about hooks, I was like, wow, okay, this makes sense, a lot. So, yeah.
Joel Hooks: So, using React and Angular, I think they do have similarities. And then, they have a lot of differences. And how do you compare them, when you compare the two in terms of how you'd use them or what kind of project you might pick one up over the other?
Khalal Walker: Right. I'd say the... I mean, some of the similarities are the way data gets passed down. I think, like in React, we'd use props. And then, in Angular, you'd use an input decorator to pass that down. And then, some of the differences will maybe be how the frameworks, the two frameworks or library separate their concerns. Like, how Angular, for the most part, you'll have a component which has a HTML file, a CSS file and a TypeScript file.
Khalal Walker: Some people like to have their concerns separated.
Joel Hooks: What about TypeScript? I know Angular. If you're building Angular, you're probably using TypeScript, right?
Khalal Walker: Right, right, right. Yeah. I mean, TypeScript's pretty cool. I mean, for, if you've come... Like I said, my first language was Java. So, TypeScript made a lot of sense to me. Just looking at a function, knowing what type of arguments are going to be called or passed in, what type of variable is going to be returned, if it's returned at all, if it's void, if it's a Boolean, if it's a number, et cetera.
Khalal Walker: And then, being able to build interfaces for how data should look. So, if it doesn't match that, you get an error throw knowing that, Oh, this does it. This doesn't match-
Khalal Walker: Right, yeah.
Joel Hooks: So, I want to get into learning to code, because I feel like a lot of people want to do that. There's so many opportunities out there. There's businesses to... I run a business where we teach people how to code. So, like bootcamps are kind of almost controversial, it feels like. It feels like there's some good ones. It feels like there are some bad ones.
Joel Hooks: And I know you have opinions about bootcamps and I was wondering. Do you recommend them for people that are trying to break into this field?
Khalal Walker: Yeah, I'd say, I don't recommend new coders jumping straight to a bootcamp. Because, well, I'd say the reason is why, you should probably get pretty comfortable learning on your own. Because from what I hear from a lot of bootcamps is there's going to be a lot of learning on your own, anyway. So, you should probably get comfortable learning the basics on your own. And there's a lot of resources out there that can be used.
Khalal Walker: And so, I'd say, first, you just want to get the basic programming fundamentals. A lot of these bootcamps actually have you interviewed to get in, so they know that you're... At least, you have the basics in some boot camps. You submit an application and you write them a check, you're in. So, it's just that level of difference.
Khalal Walker: I just think you should, at least, take some time to learn on your own to make sure this is what you want to do or what you want to invest in.
Joel Hooks: Yeah, I agree. Because, I mean, there's one and make sure you... It's something that you really enjoy and you want to dedicate, because regardless of your bootcamp experience, you have to put in the work. And that's true. That's true for college. That's true for anything, right? If you are not doing... If you're not going a little bit extra and you're just sitting there in class absorbing what they tell you. Good luck, at the end of the day.
Khalal Walker: All right. Yeah, that's true.
Joel Hooks: With bootcamps, to me, one of the big things, I think, would be vetting them, right? Like, doing the research. And have you seen anybody that's had success on doing that or how would you go about figuring out what bootcamp might be right for you?
Khalal Walker: Vetting. Yeah, I'd say, for me, one would be to try to find people who went to the bootcamp. Don't look on these websites that... Course Report, I think, is one where almost every bootcamp is five stars. And you just know that's not true. And, I think, if you go out and use Speak... I mean, everything can't be five stars or nothing's five stars. So, I mean, I think you should go out and like... I went on LinkedIn.
Khalal Walker: I typed in software engineer and the name of the bootcamp and clicked people, and just scrolled. And I messaged people, every person that I saw. Some people got back to me. Some people didn't. Some people had good things today... to say, only good things to say. And then, some people gave it the real. So, I think just having direct contact with people who attended these bootcamps and that are willing to be honest with you to give you the good, the bad, the ugly.
Khalal Walker: I think that's going to be, ultimately, the best review you can get is from personal. It's directly from people who went there.
Joel Hooks: So, I think one thing to keep in mind is that there's a lot of venture capital. There's a lot of money, like billions of dollars in this industry, in the education side of this industry and the bootcamps. And so, they're funded and they get growth hacking, right? That's part of their business model.
Khalal Walker: Right.
Joel Hooks: And then, you get ISAs, right? Where they're telling you, "Oh, you don't have to pay anything. It's basically free. We just take a... 20% of your salary for five years," which-
Khalal Walker: Yeah. It's like they're really... So, all these bootcamps, they're really, really, really good at marketing. I mean, as they should be. Bootcamps are this new... kind of new. Well, they're still new compared to college. This a new hip thing, not too many accreditations for them. So, we have to get people to trust us. So, you know what, hey, no money upfront sounds like a dream. But we take X, Y, Z of the money you get when you start making X dollars.
Khalal Walker: And, I think... How do I put it? One, there's a certain level of financial privilege to be had to be able to attend a bootcamp, Two, you're probably really, really better off than most people, if you can pay for the bootcamp upfront. Three, the majority of people who opt for the deferred payment typically aren't going to have 18 to 20 whatever thousand dollars up front to pay, which makes a lot of sense.
Khalal Walker: So, hey, nothing upfront. Now, when I get a job, it'll be all good. And I think it sounds good upfront, because you want to land that first role. But the amount of money they can take on the backend, it hurts. You're looking at a $17,000 bootcamp, but they say, "Oh no, don't pay us now. If you wait until later, we'll just take 20% for two years. You get a job for $120,000." I'm sure they max out their capital.
Khalal Walker: Yeah, we can take up to 50. And now, you have an $18,000 bootcamp that just went up to 50,000 but just because you didn't pay any money upfront, you feel like it was a big win. So, I just think people should look at that from that standpoint, because that really hurts people who may not have as much money. And then, it's almost like going to school. And then, you graduating with a debt, but this debt is only after 13 to 16 weeks.
Khalal Walker: Your bootcamp's a lot shorter. So, now, you got $50,000 worth of debt in the 13-week period. And that's what people may get after a year or two of college, or three or four depending on where you go. '.
Joel Hooks: In some cases, it's almost like a payday loan.
Khalal Walker: Right. Exactly like a payday loan.
Joel Hooks: I think, it's like people don't understand either that they take this debt, right? The ISAs, they take this and that's like a financial instrument. And it gets sold almost immediately to a third party, and they can garnish your wages and just basically hunt you down for... until they get their money back. And it's not the bootcamp or the institution that does that. It's whomever they sell it to and that can be passed around.
Joel Hooks: It goes into whatever sort of fund that acquires those kind of things.
Khalal Walker: Yeah, yeah. That's how the banking and... That's how the banking industry is. Yeah.
Joel Hooks: Yeah. It's high finance, right?
Khalal Walker: Pretty much.
Joel Hooks: Yeah. So, that said, we got into it a little bit, but what are your favorite resources? How do you... If somebody wants to go out there and they either want to prep. They might be thinking about a bootcamp and they want to get ready, see if they really like this. How do you recommend that people do that work?
Khalal Walker: Cool. I'd say a platform that I swear by would be... It's this website called the Odin Project. Pretty much, it's an open-source curriculum that'll teach you how to code, but how to teach you how to get your development environment set up on your machine. So, you'll go through the struggles with configurations. You'll go through how to set up-
Joel Hooks: So hard.
Khalal Walker: Certain... Yeah, that's really tough. And when people learn how to code, they use a lot of platforms which, I guess, are good for beginners that only focus on the coding aspect. It's like, all right, now I actually want to build something. Oh, I didn't know I had to set up all of these things. Instead of coding in the browser, you're coding in your text editor of your choice on your machine. So, the Odin Project, it's a full stack web development.
Khalal Walker: But, basically, all of this is free and it's just reading tons of documentation, because that's what you're going to be doing. There's an entire community behind it. They have their own... What's the platform called? Discord chat to where you can reach out and ask questions in certain channels to talk to people. And it's a really big community.
Joel Hooks: After a while, I feel like you forget the struggle that goes into that and the terminal and all the other stuff that goes along with it.
Khalal Walker: Yeah, definitely.
Joel Hooks: Yeah. So, I think a lot of this like breaks down into habits and being able to work. And it feels like, I call it... It's like a... I had to hustle, right? I work two jobs and I learned how to code at night. And I'm wondering, what sort of habits have you developed or you think are important if you want to break into this field, and do it and kind of in a sustainable way?
Khalal Walker: I think you have to just... I'd say, one, you just can't... You literally just can't give up or quit. And that sounds like the most cliche thing ever. But it's literally so important, because you're going to hit walls. You're going to struggle. I think, the biggest thing with being a developer is just banging your head against your keyboard for eight hours of the day. And the last hour, you just see the light and you just keep finding different ways until something works.
Khalal Walker: So, I take that with learning how to code. In the beginning, you're going to mess up on syntax. You're going to forget a semi-colon. You're going to miss a quote. And some of these things may really, really bother you. But if you keep at it, these things will become second nature. And then, you'll have new struggles.
Khalal Walker: Because when you have new successes, you move on to new problems. And so, as long as you know that in this industry, it's always... Things are going to get easier, but you're always going to be learning something new. You're always going to be learning. You're always going to be growing and you just have to have the willingness to take on that challenge every single day.
Khalal Walker: And I think that's probably the biggest thing.
Joel Hooks: I think, yeah, it's like a fundamental stubbornness. That's the mindset. And if you have to be just tenacious, because almost all of these problems can be solved. And it's so frustrating though. But when you solve it, I don't know that there's a better endorphin rush than when you figure it out and get to tell the computer what's up.
Khalal Walker: Yeah. That's like one of the biggest. The days I don't, I'm not productive. I feel down. I'm like, oh my goodness, am I even a developer? Then, the days I'm killing it, I'm like, man, come here. Like, who? I can code anything.
Joel Hooks: Yeah. I've stood up out of my chair and just told the computer exactly who the boss was, until the next day when the computer showed me.
Khalal Walker: Exactly. Yeah.
Joel Hooks: I don't know if you have any sort of fundamental books that you've read or source material and not necessarily related to computers, but have you... Is there anything essential that you think people have to read and know, in terms of getting a really good career in software?
Khalal Walker: Does it have to be a programming book?
Joel Hooks: No. It'd be great if it wasn't, to me.
Khalal Walker: Well, the book I probably would... What changed my attitude or mind on everything on life would be the Subtle Art of Not Giving a F. And that book really taught me... The title just sounds like, oh, you should just walk around and not care about the world. It more so talks about where you should place your cares and your values, and how that'll make you a better person. Let's say, someone places their cares, or values, on how many likes they get on a photo.
Khalal Walker: Now, when you post a photo, you literally can't control who's going to like it or not. You can control how much you promote it. You can control how many people see it, but you can't control how many people like it, right? So, the book tells you just to place your values on things that you can control, on things that... Yeah, that you have control over.
Khalal Walker: Because if you place your happiness and your values on things that are in someone else's hands, then someone else will always have control over you. And I think with that, even in programming, I'm still learning this now. When you go out and you start interviewing, you're going to meet these, I don't know, gatekeeper-type people who are going to make you feel less than a programmer. Less than this, less than that.
Khalal Walker: But I just know that things I can control is to make sure that I'm a better programmer today than I was yesterday and just to be able to see the progress, that I'm better than yesterday or I'm better than a week ago. I'm better than a month ago. And I think it's really hard to see, because we always take time to compare all of these other notable developers and we want to be that. But they weren't always that, right?
Khalal Walker: And you can't get there until you get better tomorrow than you were today.
Joel Hooks: And it's like you said. You have control over not quitting and doing the work, and studying, and learning, and growing as a person. That's something that you control and you can make the decision tomorrow to do that. You can't make the decision tomorrow to have a job at Google. That's not in your control, but you can work, right?
Joel Hooks: You can do LeetCode, or you can do whatever it takes and do the work towards that goal. And that's something that you can control. One of my favorite-
Khalal Walker: That's true.
Joel Hooks: One of my favorite books... I love that book, by the way. The Subtle Art of Not Giving a Fuck is excellent. And it's funny how many books after that book have the word fuck in the title.
Khalal Walker: Yeah, because people were all afraid. They're like, you can't do-
Joel Hooks: Oh, wow, that's good marketing.
Khalal Walker: They'll never put you in the front, in the front of Barnes & Noble as soon as you walk in, big orange book, hi.
Joel Hooks: And the audio book is amazing, because he has a New York accent and there's a lot of cursing in the book. So, it just really... It really pops. But it's essentially a stoic philosophy book. And my favorite book in that... My favorite intro text in that area is A Guide to the Good Life. Which, really, it's like the same fundamental thing, right? It's focused on what you have control over.
Joel Hooks: Don't covet other people's... You can have people, and you can admire people and strive to be a better person and be more like people that you admire. But, really, you can only control what you can control. So, you have to work on that. And that's it. That method is great. And I think, that epiphany, if you can have that. It's hard. It's a daily work thing. You always got to work on it.
Khalal Walker: Yes.
Joel Hooks: Work on that.
Khalal Walker: Control the controllables. If you can control something, do it. If you can't, you shouldn't be worried about it. You literally can't do nothing about it. And spending time worrying about something that you have no control over will only make your mental state worse.
Joel Hooks: Yeah. Yeah, I agree with that. Khalal, thank you so much for hanging out with me and chatting today. I really appreciate it.
Khalal Walker: No problem, man. No problem, man. I appreciate you.
Joel Hooks: Cheers.