Relicans host Pachi Carlson interviews Rabbi on Rails Yechiel Kalmenson about attending a bootcamp to learn how to code, taking advantage of free coding resources like Codecademy, and his top tips for people who are starting to learn how to code. (Hint: you don’t have to be a genius!!)
Should you find a burning need to share your thoughts or rants about the show, please spray them at firstname.lastname@example.org. While you're going to all the trouble of shipping us some bytes, please consider taking a moment to let us know what you'd like to hear on the show in the future. Despite the all-caps flaming you will receive in response, please know that we are sincerely interested in your feedback; we aim to appease. Follow us on the Twitters: @LaunchiesShow.
Jonan Scheffler: Hello and welcome to Launchies, proudly brought to you by New Relic's developer relations team, The Relicans. The Launchies podcast is about supporting new developers and telling their stories, and helping you make the next step in what we certainly hope is a very long and healthy career in software. You can find the show notes for this episode along with all of The Relicans podcasts on developer.newrelic.com/podcasts. We're so glad you're here. Enjoy the show.
Pachi Carlson: Welcome, everybody. I'm Pachi Carlson, and I'm going to be hosting Launchies today. And as you know, Launchies is a podcast for newbies, people from different backgrounds, and anything in between. And today I have here with me my friend, Yechiel Kalmenson. He was born and raised in Brooklyn. He got his rabbinical training in Israel, and he spent a few years teaching both children and adults. And we’re going to ask him more about that. It sounds awesome. After a little time in tech support, he found out that his next calling would be working as a programmer, and here we are. Now he lives in New Jersey (so he is almost my neighbor) with his family. Okay, so you have a passion for teaching, coding, and flying. So I’m going to start by asking you why the flying?
Yechiel Kalmenson: I don't know. Since I was a kid, I always wanted to fly.
Pachi: Just fly.
Yechiel: Yeah. I just love airplanes. I took a few lessons. I never actually -- One day, I want to get a Private Pilot License.
Pachi: That is awesome. I’m terrified of flying, but I get the appeal. The thing about programming you could be programming in the airplane.
Yechiel: These days, yeah.
Pachi: So I always start by asking how did you get into tech? I know you did tech support. But when did you figure out, hey, I can actually do this.
Yechiel: I started with tech support, and I was constantly learning new things. And I always enjoy figuring things out and breaking things down and taking them apart, and putting them back together. So tech support does a great job for that because there are a lot of systems that are supported. And we worked for a payment processing company, so there were different terminals and different point of sale systems to figure out. But eventually, I learned everything there was to learn, and I was starting to get bored. And also, there were a lot of questions that would come in that were beyond us. We had to escalate it to the programming department. So I started looking closer at those, and I realized that that was something that I might want to do. So I started taking some courses on the side. And eventually, I enrolled in a bootcamp, Flatiron, and here we are.
Pachi: And why did you decide to go to a bootcamp? Some people go to college; some people don’t do anything at all. Why did you decide to go to a bootcamp?
Yechiel: So I didn't go to college because, at that time, I needed something quick, and I didn't have three, four years to spend on a CS degree. I didn’t know I wanted programming, but I knew that I needed something that I can ramp up quickly. I did a bootcamp rather than teaching myself for the same reason that I needed something quick. I needed that structure. There's so much out there to learn to decide what to learn or where to focus on. It could get overwhelming very quickly. I needed that framework, someone to tell me, “Here, learn this, learn that, after this, learn that, there you got it.”
Pachi: I’ve thought about joining a bootcamp at times, but then I’m like, eh, I’m doing this already. How long were you working on tech support before you decide that?
Yechiel: Probably about two years, then I was learning on my own. I did some free resources for a month or two probably before realizing that this was something that I wanted to commit to. I did the bootcamp online, like part-time. So I was working in tech support while I was doing the bootcamp, like at nights and weekends. So it took me about a year. And after that, it took me about half a year to get my first developer job.
Pachi: How was that job search?
Yechiel: Job search was, as you know and probably everyone listening knows, [chuckles] it was not fun. I thought when I graduated bootcamp, I was like, okay, now the hard part is behind me. And then, bam, got straight into the hard part. And especially since I had a full-time job at the time also and job searching is a full-time job. So I was juggling two jobs at the same time. It wasn't fun. It was hard. My bootcamp gave support. They gave career coaching. So once a week, we had a meeting with a career coach to help us with our resumes and cover letters and things like that. So we had support that way. And of course, I had support from the friends I made in the bootcamp and friends on Twitter, and the community was very supportive. And eventually, we got there.
Pachi: Yes. Friends on Twitter are awesome.
Pachi: I spend a lot of time on Twitter. So talk about Twitter. I know you from Twitter because you’re active there. Had you been active on Twitter since you started programming, or did it just happen? How did you do it? You have a great community around you. How did that happen?
Yechiel: I had an account before I started learning programming. But it was just that, just an account. There were zero tweets on it. But then, when I started the bootcamp, people were saying that Twitter has a great tech community. It's a great way to get support and to meet people. So I started looking at it, and I made a few friends from the bootcamp. I became friends with them on Twitter and slowly started growing. I got to know the communities like CodeNewbie. I was pretty involved there when I was in bootcamp. So I made more and more friends, and yeah, the community is great.
Pachi: It is. It really is. It has to be like half of my friends nowadays are on Twitter, and the other half are on Twitch, so all my friends are online.
Yechiel: [laughs] Listen, I'm a big fan of online friends are real friends. People say, “Oh, they’re not real friends,” no, they’re real.
Pachi: I feel like, with the pandemic, people really learned that.
Yechiel: Yeah, with the pandemic for sure. There are friends I've met after the pandemic started that are such close friends. I can't wait to meet them, of course. But we're just so close. We’re tight. We hang out, of course. I really can't wait to meet them.
Pachi: Yeah, we had big plans for CodeLand 2020, but things didn’t happen the way we were expecting.
Yechiel: Maybe 2022.
Pachi: Yeah, maybe. We’re getting vaccinated. Talking about that, what is the first conference you want to go to? What are you looking forward to the most when things get maybe normal? I don’t know if they will ever be normal.
Yechiel: Which conference? I don't think it matters which one. It matters more who's going to be there. So I'm probably going to find the first conference that a lot of my friends are going to go to and make sure I’ll be at that one. I'll go to a Perl conference or an Assembly conference as long as my friends are there. [chuckles]
Pachi: And Ruby is your main language, right?
Pachi: I know because I always see you post more about Ruby. So, what are you working with right now? You’re on your second job, right?
Pachi: And do you learn as you go?
Pachi: Right? Lots of people see the jobs, and they don’t apply for jobs because they ask for things that they don’t know. But really, you didn't
Pachi: I feel like programming languages are a bit like regular languages. You learn more by doing.
Yechiel: Exactly. The more you use it, the more you master it.
Yechiel: Yeah, exactly.
Pachi: (Whispering) I still don’t know what I’m doing. Don’t tell Jonan.
Yechiel: (Whispering) Me too. [laughter]
Pachi: That’s the beauty of programming.
Yechiel: Yeah, that's the thing. You're always learning. So you learn one thing. You learn another thing. It doesn't matter.
Pachi: The other day, I saw a job ad that was asking for three years of experience with Deno that just came out last year. [laughter] I was like, what? Do you know something that I don’t?
Yechiel: A few years ago, I saw this tweet. React was celebrating; I think its five-year birthday or something. Dan Abramov was like, he tweeted, “Yay. Now I can apply to all the jobs that need five years with React,” or whatever it was, ten years, whatever it was. [laughs]
Pachi: That is so silly. Before I got a job, I was always looking, and every time I saw the requirements for a junior, I was like, really? Do you know what junior means, people? Because it just didn’t make sense.
Yechiel: I saw a job post for an internship that has asked for five years’ experience. Like, I don't have five years’ experience yet, and I'm applying to mid roles already. With five years, you don't go for an internship.
Pachi: Right? I feel like with five years; they could become a senior.
Yechiel: My friend is a senior with five years of experience.
Pachi: I guess it depends on where you work and who you work with.
Yechiel: Still, nowhere is five years still junior. That doesn't exist.
Pachi: No, it's just that people want cheap work, really. Because when you’re starting out as an engineer, you don’t have experience. So, how do you get this experience? And then they ask you for experience, but how do you get the experience? When I asked Jonan for a job, I was like, “Hi. I don’t know what I’m doing.” And he was like, “Okay, that's great. You’re hired.” I’m like, okay that works for me. I know I’m going to do some learning sometimes. It was like, hi people. I’m working here.
Yechiel: Yeah, Jonan is a good guy.
Pachi: You said Ruby is your favorite language, and you have learned a bunch of programming languages. You’re a polyglot now. You’re in the wrong podcast. We have another podcast that’s called Polyglot. You probably need to go there, but you’re here already.
Yechiel: I just realized a fun fact; you were the last person I met before the pandemic. The second last person was Jonan. He was in New York. He put a post on Twitter that he's going to be in New York, and I was like, “Hey, let's hang out.” So he was like, “Sure.” So we went out for drinks after work.
Pachi: That’s so cool. Jonan is my manager, and you know him. Actually, when I started talking to Jonan, I was like, “Hey, do you know this person? And you’re like, “Yes, he’s good.” I was like, “All right,” and I was so excited. Because I was a junior, and I go, “Hey, why don’t you hire me?” And I wanted to go meet more people. I had so many plans before, and I can’t even remember what they were.
Yechiel: Yeah, it’s going to get some getting used to.
Pachi: So earlier, I was listening to the kids in the background. You have a pretty big family. How many kids do you have? How was it when you were going to the bootcamp?
Yechiel: So back then, I only had four. [chuckles] Our fifth one was born in the middle, so yeah, it was a crazy year. And like I said, I was working full-time doing tech support. So I was doing bootcamp at night and on weekends. So I would stay up till like 2:00 a.m. to 3:00 a.m. three or four nights a week. I don't know how I did it. I don't know how I didn't collapse every day at work. That was at the point where I felt like I knew everything and I wasn't learning anymore. So I was able to do everything almost on autopilot, but yeah. So balancing everything was, of course, hard. My wife is an angel. She put up with it. I don't know how. I would have divorced myself. [laughs] But I did make it a point to take time off. So, for example, I’m an Orthodox Jew, so on Shabbat, we don't use electronics and computers and things like that, so that was for sure off. So that was time I spent with the family. I did try to spend Sunday away from the bootcamp as well because my kids were off school then, so I’d spend more time with the family. And I did make it a point to go to sleep at a normal time at least one or two nights a week so I wouldn't completely burn out and just get to live my life a little bit.
Pachi: Yeah, without breaks, you’ll burn out. Your kids don’t care. They're not very nice like that. And that's very important because there are so many people that go through bootcamp, and they just focus on studying all day.
Yechiel: I had the flexibility because I did it online. It was self-paced. If it was traditional, like an actual bootcamp or on campus, you probably don't have that flexibility. So it's a little different, but that's also shorter. It's usually like three months or whatever it is. This was a full year, so I had to pace myself a little better.
Pachi: Yes, especially at home. I wanted to do a traditional bootcamp because I felt that was how I was going to learn. But then dropping everything for three months, I’m like, er…
Yechiel: That’s basically why I did it online because I couldn’t afford not to work for three months and pay for a bootcamp and then however long it would take me to get a job after. So I had to find something that I could do with my job at the same time.
Pachi: Yeah, because you got bills to pay.
Yechiel: For sure. Like you can't tell your landlord, “I'll pay you when I get the job after. It’s a money-back guarantee.”
Pachi: The bootcamp is telling me. You can trust the bootcamp. So, how old were you when you got into tech?
Yechiel: I was 29, I guess. Yeah, probably 29.
Pachi: Sometimes I’m streaming, and there are these kids who are like teens, and they’re like, “Is it too late to start?”
Yechiel: Yeah, I see those questions all the time that go like, “I'm already 18. Is it too late to start?” Then I’m like [laughs] 18? That’s very old. Retire already. [laughs]
Pachi: Right? I feel like there’s this pressure that I had to let go of.
Yechiel: But I know where they’re coming from because, in fact, one of the reasons why it took me so long to start was because I had in my head this idea that programmers are people who were basically born programming. They were the kids who were always hacking. Like, whenever you saw them, they were on a terminal editing something. I didn't think that it was something that you can learn. I thought it was something you were born with. In fact, it was my mother's idea. She had a coworker who is actually a friend of mine who did a bootcamp also. He did it at App Academy. And she was like, “Your friend did a bootcamp, and now he has a very good job. Why don’t you do something like that?” And I was like, “Yeah, I don't think it's for me.” And she was like, “Why not? You're smart.” I'm like, I mean, I'm not going to say I'm not smart. That's the last thing I'm going to tell her, but I'm not that kind of smart. So I was like yeah, it's not for me. I can't really do it. And then I went home, and then I Googled coding resources, and then the rest is history.
Pachi: When you started learning, you said you used some free resources before the actual bootcamp. What were those free resources?
Yechiel: So I first tried some free resources; obviously, I'm not going to put money into something if I don't know I can actually do it. So I think I did Codecademy. I did a few courses on Codecademy. And then Flat Iron had an intro course for free, so I did their intro course, and then I just enrolled and then chose Ruby, and I fell in love with Ruby right away.
Pachi: Yeah, it's very true. I have a friend that's my age. She's going to be 30. And she just got her Associates, and she’s like, “I don’t know what to do next.” I was thinking maybe I could do programming, but I think it’s so hard, and I'm dumb. And I sent here the freeCodeCamp link, and I was like, “Try this and see how it goes,” and then she texted me the next morning like, “Hey, I’m not dumb, or this thing is actually easy.” I’m like, yeah, you never know. But you really feel like that because when you think about programmers, they are so admired, and they’re so cool.
Yechiel: Right. I don't think programmers are smarter than other people. We're just good at Googling, I'll say it. [laughs]
Pachi: Seriously. We’re just good at Googling or asking people. That’s why I like live coding because when I’m stuck, it’s like, “Hey, how do I install this thing?” And I’m like, somebody here at least knows the answer to this, and they usually do. And that’s pretty awesome. But I like that thing that people say the difference between a junior and a senior is that seniors know how to Google better.
Yechiel: And at the bootcamp, they taught us those a bit. I would watch the instructor, and they would live code a thing. And they would run into errors, and I’d be like, oh my gosh, it’s so embarrassing for them. They got an error. And they’re like, “Oh, great. We got an error. Let’s see what it says now.” They were happy they got it. People who are programming already for a while know this, but errors are our friends. That's how we know what to do.
Pachi: Yeah, we need actually how to learn how to read the error message.
Yechiel: Regular ‘non-technical’ people when they get an error message, it's scary for them because the computer has just screamed at them in a language that they probably don't understand. And they probably think it's their fault or something. Like, what did they do wrong? Did they break something? I think one of the first switches you have to do when you're learning to program and when you're learning to code is to realize that the error message is your friend. It's showing you what went -- Like, Ruby is very helpful on error messages. It shows you exactly which line the mistake is. Sometimes it will even suggest something like, did you mean that? Or something like that. Just take a moment. Don't get scared. Don't freak out. Just read what the error message says. If that's not helpful, Google it, ask someone.
Pachi: Don’t freak out or maybe just a little bit. Sometimes you need to freak out. So you’re a programmer now; you’re an engineer. Is working in tech everything that you expected when you did the bootcamp?
Yechiel: I mainly got into tech for a few reasons. First of all, like I said, I was getting bored. I always have to be learning something new. If I'm not learning, I get bored. And in tech, there's always something new to learn. You're never going to learn it all. You're never going to finish it. So I'm not worried I'm going to get bored. Of course, the salary was another reason. Like I said, I needed that nice work-life balance which is also pretty important for me. And I sacrificed a whole year of my work-life balance, but that was an investment that paid off pretty well.
Pachi: Yeah, it was an important investment for the rest of her life. It makes sense.
Yechiel: Yeah. When our last baby was born in the summer, my company gave 18 weeks of parental leave, which was amazing. My wife had to go back to work before me. So for six weeks, I was taking care of the baby myself. She went back to work, and I was taking care of the baby.
Pachi: Yeah, that’s important. Men don't think they’ll get parental leave; I don’t know why. But you have a baby. Be with the baby. They’re not going to be babies forever.
Yechiel: [laughs] I can take care of babies. You know that.
Pachi: They do grow up. So what are your top tips for people starting to code?
So it's not important so much if a bootcamp or a course you're taking teaches Ruby so much as they teach you how to learn Ruby. They should show you how to, like I said, how to read error messages, how to Google things when to ask for help, when to take a break, how to debug, how to break things down. So learning how to learn is going to be a lot more important than what you learn. Everyone's different, and everyone has a different learning style and learning how they pick up information. I actually wrote a blog post about it; I'll share the link after. And in that blog post, I argued that the main three things you need to know how to learn are: how to read error messages, how to read documentation, how to look things up at the source, and how to Google things and to know when to ask for help. But that is what worked for me. Other people might find other things. These are the most important things to learn. Everyone is different than me. Just find what works for you. Find your own pace. It’s not a sprint; it’s a marathon. Just find what works for you, and you'll do good.
Yechiel: Everyone has their strengths. I can’t stand front end.
Pachi: I’ve never tried back end. But I feel like front end is simpler because you have a track.
Pachi: Seriously, that’s true.
Yechiel: And just to clarify, when I said I don’t like front-end, it's not because I think front-end is any easier or any simpler or any less valuable. I have the biggest respect for front-end developers. It's a skill that I wish I had, but I don't. I think it boils down to the front end developers design things for humans, and I just don't do well with humans. So I like talking to the computers and the back end it’s computers talking to computers and screaming at computers and everything.
Pachi: Computers are bad at explaining.
Yechiel: Not always. If you program them to explain, then they'll explain.
Pachi: Yes, but it’s easy to program than to explain. [laughs] My husband can attest to that. Okay, so I think that is all I had for you today. Thank you so much. It was great talking to you, sometimes in person, sometimes online. That was fun. You talked about knowing when to ask for help, and I just want to build on that because sometimes I feel like, especially newbies, they’re afraid of asking for help, so just ask for help.
Yechiel: Oh yeah. And talking about tips for newbies, is it too late?
Pachi: No, go ahead.
Yechiel: So one more tip is to find a community. Surround yourself with people either on Twitter or a Slack group, or a Discord channel. There are many communities out there. Maybe sometime in the future, we'll have local meetups where you meet people in person. But online has tons of people, and they'll be super helpful, especially if you can make closer friends who can hold you accountable. You can tell them your goals. When I was in the bootcamp, I did it nights and weekends. So the bootcamp had instructors to help us out, but they were only on until 11:00 o'clock at night. And I would sometimes go up to 2:00 or 3:00. So it was me and another few students who were also doing the graveyard shift. We would basically help each other out because the other option was to wait until tomorrow to be back on. And we became pretty close. We would be on Slack the whole time, helping each other, complaining to each other, celebrating with each other. We would set goals together and then hold each other accountable and give each other virtual kicks if we missed our goals or celebrate when we've met our goals or give ourselves support to extend the goal if needed. It was a very wholesome atmosphere. And some of those friends are friends that I have until today. These are the people that'll get you through. So find your place, find your community.
Pachi: Yeah, that’s true. And even for newbies. I feel like they are some bubbles on Twitter for all these people. But there are a lot of programmers that are programming, but they don't have the community. They're just programming out there lost in their own island. Be friends. Come on, let's be friends. You don’t have to be alone. Okay. So thank you for talking to me. I was really excited to interview somebody that I know in person. I’m excited that I know you in person; not many people can say that.
Yechiel: Got it in right before it was over.
Pachi: We can talk about that, but we met right, maybe two weeks.
Yechiel: It was close enough that I remember we didn’t shake hands. So it was when things already were like -- We knew it was already coming, I guess.
Pachi: I think it was in March. I think it was the week of Women’s International Day because I remember that I went to my internship, and I was pissed at somebody, and I just wrote a very angry post on Dev about that. That was the beginning of good times. I’ve been in New York since. So, where can people find you online?
Yechiel: You can find me on Twitter @yechielk: Y-E-C-H-I-E-L-K. I have a blog at Rabbi On Rails that I own that’s more Judaism-oriented stuff. More tech-oriented stuff is on Dev.to. My profile is at yechielk, the same as my Twitter handle.
Pachi: And send the link to that post about learning so that I can put it in the description in the podcast. It will appear in the description like magic because I don’t do this. It just appears there.
Thank you, everybody, for listening. This was Launchies for you. Please subscribe and do all those things that people do, subscribe. It was great having you today, and have a great week. Bye.
Jonan: Thank you so much for joining us. We really appreciate it. You can find the show notes for this episode along with all of the rest of The Relicans podcasts on therelicans.com. In fact, most anything The Relicans get up to online will be on that site. We'll see you next week. Take care.