Episode 1
What Self-Taught and Bootcamp Grads Miss
September 28th, 2022
42 mins 27 secs
About this Episode
Today we talk about what self-taught programmers and bootcamp graduates potentially miss out on by not attending traditional 4-year brick and mortar universities.
Transcript:
DAVID BRADY: Hello, and welcome to a podcast that still needs a name. I'm David Brady, and I am a self-taught programmer who's been self-teaching for a couple of decades now or more. And today, on our panel, we have Swapnil Bhosle.
SWAPNIL: Hello.
DAVID BRADY: Welcome. We have Brian Parry.
BRIAN: Hello, gang.
DAVID BRADY: Welcome, welcome. We have David Solano.
DAVID SOLANO: Hey, I'm glad to be here.
DAVID BRADY: Welcome. We have Adam Lauper.
ADAM: Hello from South Jordan.
DAVID BRADY: Howdy. We have Afton Call.
AFTON: Hello from Cottonwood Heights.
DAVID BRADY: And last but certainly not least, we have Tad Thorley.
TAD: Hey, welcome. Glad to be here.
DAVID BRADY: Awesome. Today on our docket, we want to talk about an interesting topic which is what self-taught programmers and bootcamp graduates what they miss. And I just want to open it up to the panel to see if anybody has an immediate...what is the opposite of a hot take? If anybody has a hot take, I'd like to hear it. If anybody has opening shots fired that they want to throw out there, great, or if somebody has initial comments. Anybody want to take a stab at this? I have some questions I will ask if no one wants to volunteer.
ADAM: I think there are some categories in terms of learning that we're talking about, so one is like self-learned. You just started, you know, your kind of 1999 website and then grew that, and you grew your experience. There's a bootcamp, which is kind of a shorter form of education; usually, they're like four to six months. And then there's a bachelor's and a master's and stuff. We're talking about what people might miss if they're going through a bootcamp.
DAVID BRADY: Yeah. And I wonder if that's...you've talked about getting a bachelor's or a master's degree, or other postgraduate work like getting a Ph.D. I kind of think of that as getting a classical education. And the obvious thing that you end up missing is the general education classes, right? You don't have to take American history. You don't have to take civics and economics. You [chuckles] don't have to take PE.
AFTON: I just want to point out real quick that saying that you didn't get a degree in computer science doesn't mean you didn't get a degree, go to college and get that experience.
DAVID BRADY: Ooh.
AFTON: You could have done your computer science later and still had a different college degree.
DAVID BRADY: That's a fantastic --
TAD: I know a lot of developers who got degrees outside of the field of computer science who are excellent programmers.
DAVID BRADY: Yeah, thank you for pointing that out.
TAD: I've got a buddy who got a journalism degree. And I think it has actually really helped him to do software development because he knows how to tease apart things, do investigation, really find out some core bits of what software needs, interrogate people [laughs] to get the facts kind of thing. His background in trying to become a journalist and a reporter helps him with his interaction and getting all kinds of things set up for software development.
AFTON: I got my degree in music. And then ten years later, after I graduated, I took my first coding course online as a stay-at-home mom homeschooling my children. So I took a very different path.
DAVID BRADY: That is fantastic. Thank you very much for bringing that up. Because I have said multiple times in my career, I've said this in conference talks; I've said this on Twitter: almost without exception, every programmer I have ever worked with who has a bachelor's degree in mathematics or engineering, one of the hard stem courses, and then went into programming they are without exception the best programmers I've ever worked with. Especially the folks with a math background, they have this ability to go to a whiteboard and express a really difficult formula or solve a difficult problem with a computer.
I literally worked with a guy who was trying to match sound waves literally on the oscilloscope, the sound wave. We could watch the sound pressure go up and then drop off. And the speed at which the sound wave dropped off was important. And how far down and up the sound wave was when the buffer cut off; all of that had to be matched at the start so that the line would continue on the oscilloscope unbroken.
And we were generating the sound waves, so he literally had the problem of generating that. He was a Ph.D. in geophysics with a minor in mathematics. And it took him three days to come up with a mathematical proof of why what he was doing would work. But once he had it, it took him probably two days to write the software.
SWAPNIL: I would like to share my experience.
DAVID BRADY: Please.
SWAPNIL: I have a bachelor's in engineering and electronics, and telecommunication. I'm a Ruby developer right now. But in the past, I used to like data structures. I used to like algorithms. I used to like coding on 8051. So basically, I was more inclined towards coding. So after graduation, I started with bootcamps. I'm sure you guys have heard about Codecademy.
DAVID BRADY: Mm-hmm. Yap.
SWAPNIL: So, from there, I started learning Python. And after Python, as Ruby was mostly inclined with Python, so I started learning Ruby. And I really liked, you know, I started with Devise. And I really liked how Devise used to plug and play login functionality which it's doing right now as well. So that's how my career path started.
So it's not about a computer science engineer should be a software developer but one, you know, who finds a path or one who has an interest towards coding. And it's more towards and inclines towards algorithms and can select the path of coding. That's what I feel.
DAVID BRADY: That is fantastic. I have a follow-up question for that. Earlier, I said that if you didn't have a college degree, you might have missed classical education. But you said something really, really interesting. You got a degree in engineering and communications.
And you said the magic word because I was starting to think that classic maybe the thing you might miss then are the classical computer, science classes. You might miss data structures and algorithms, or you might miss that horrible class where all you do is do sorting algorithms for the entire semester. And at the end of it, you just realize quicksort is the best; just always use quicksort.
So you actually got a degree, and then you went to Codecademy. And then you actually said data structures and algorithms. Swapnil, did you have anything in particular where you actually sat down and had to learn structures and algorithms like formally or informally self-taught from a book?
SWAPNIL: We had a subject named data structures. And in data structures, they used to cover address, linked list, trees, linear search, quicksort, bubble sort, all these algorithms in C. And basically, I learned that in my career. And from there, I developed an interest in coding.
DAVID BRADY: That is fantastic. We have a latecomer to the podcast. I'm going to mess up your name; I apologize. I'm going to do my best. I know your first name is Sreya. How do you say your last name? Is it Bhatt?
SREYA: Yeah, Bhatt.
DAVID BRADY: Bhatt. Sreya Bhatt, welcome to the podcast. We are talking today about what things you might miss as a programmer, what things you might not learn if you are self-taught or if you went to a coding school. And we haven't really well-defined what the alternative is. Maybe you got it. But so far, it's sounding like you don't have a degree in computer science; what do you miss?
And we do have some people here that have degrees in other things. And we have some people here that don't have degrees at all, myself included. And we're going around talking about that. Can I ask, Sreya, what is your computer science portion of your background? Did you study it in school? Did you do an academy? How did you get here?
SREYA: I basically started my coding in college. I was basically a bio student, so coding was new to me. And I started learning from my college. I basically didn't go for it at first.
DAVID BRADY: Awesome.
DAVID SOLANO: I wanted to add something there. So I learned about programming in the university, so I have a bachelor's degree in that. But what I wanted to say is that if you know how to do a program or you know how to program, and you have a degree in something else like in physics or something, that will boost you a lot. I was trying to learn a few years ago how to do simulations of how they...you talked about the sound, right?
DAVID BRADY: Mm-hmm.
DAVID SOLANO: I was trying to simulate how the water behaves in a glass and how you will be able to simulate that using all the physics that that involves depending on the density of the water that you're trying to measure. And that's extremely crazy. If you have knowledge about that and you know how to program, it will be a lot easier. But for me that I didn't know anything about that, it was really difficult.
DAVID BRADY: Yeah. One job that I had was working on graphics cards. We had built...this is right about the time NVIDIA invented the GeForce. So prior to this, nobody was doing 3D graphics in hardware. It was your computer had to do it all in software, and we were working on a card that would do it in the hardware, and it was...you've seen the GeForce; it's wicked fast.
And we had an engineering team that wrote the device drivers for us. And then, we had to write better device drivers because we were the software team. But they all had degrees in electrical engineering. And if you wanted to be a programmer on that team, you had to be an electrical engineer because they were talking about phases of currents and Faraday linkages. And I'm making up terms now. I need like a Star Trek psychobabble generator or technobabble generator.
But they would get into how the transistors actually work and how much real-time they need in the world to transition their magnetic fields. And I would just kind of look at them and go; I am so glad all I have to do is write software to talk to that. And if you want to be a programmer in a certain field, it is so much easier to get a degree in that field than it is to get a degree in programming and then try to learn the things in that field.
ADAM: Yeah, I had some comments. I had this chemistry teacher in college who acted as if his class was the most important class we've ever taken. And he kept telling us that "People complain, but I'm telling you, talk to me in 10 years. You're going to be glad you took this class. It will come up somehow in your job or whatever." And I always want to write them back and say, "No, [laughter] it's never come up. It was completely useless. I hated your class."
And so I feel like the college route you definitely have a lot of fluff like American heritage. I'm working for a financial tech company. That's not relevant information. A lot of those general classes don't apply directly to my work. I mean, they make me more well-rounded in conversations and knowledge, but not really in my programming aspect.
DAVID BRADY: Yeah, it is actually really important to know the difference between nitrates and nitrites. And that has to do with the number of nitrogen. I'm just messing with you.
ADAM: Huh.
DAVID BRADY: But sometimes we take a rounded thing, and then we walk into a programming situation. And with software, you can end up so upside down and with lack of context, and you're programming a thing. And I've told this story before, but I had a bug report come in from a customer once that began with the sentence, "Fortunately, no one was killed but..." and that'll get your attention.
And it was the vibration stuff when we were doing sound waves. What we were doing is we were vibrating things. And we had a little test stand that could vibrate a little like a pager or a cellphone to see if it would fall apart in the real world, you know, if it had any mechanical resonances. What we weren't really clear and precedent to was the fact that our big dollar customers were vibrating entire cars, and the military was vibrating tank bodies to see if the ammo crate would fall off the back of the tank, like that sort of stuff.
And we had a bug that caused a little bit of a transient spike. Anybody over the age of 30 or so on this podcast may remember a time when you would turn your computer on, and your speakers would go "pop!" really loud. This was that. It's just caused by just random noise in the line getting sent through a very powerful amplifier.
Well, when you send a pop through a 75 kVA three-phase power system that is capable of throwing five tons around, you end up launching a Toyota Camry so hard that it bends the frame of the Camry. And everyone on the plant floor wore their brown trousers that day whether they wanted to or not.
I mention this in the context of general education because sometimes we get so hyper-focused. It's just a one; it's just a zero. It's clear; I click a mouse, and I drag a button. There's no way this can hurt somebody. Right up until somebody in the real world connects your ones and your zeros to a machine that can launch a car across the room or, in our case...Our podcast is entirely staffed by folks who work at Acima, and that's great.
But we work with financial instruments, and there's always the possibility that we could ruin somebody's financial life if we write bad software. I don't see it happening a lot. It's not a huge risk. It's not something that we do. But it is something that should be in the back of our mind that this is real stuff. It's fun, but it's not playtime. Does that make sense?
ADAM: Yeah, it's a good point. I have a question. So if someone has a four-year degree in computer science, computer engineering, something like that versus someone who went to maybe a bootcamp for six months and then has three and a half years of actual experience, you know, work experience versus someone who just kind of picked up a laptop and started working in the industry for four years, how do those compare? So they've all been working four years but in different ways.
BRIAN: Comparing two people is really difficult because I've met so many people, like, I've met someone...he's one of my best friends, Oz, he never went to...doesn't have a classical education. He never went to a bootcamp. He just picked up stuff. He just picked up a book, got part of the way through the book, got a job as a junior in JavaScript. And then he was so fascinated. Now he's talking about set theory and everything else. He learned all the academic stuff because he was fascinated by it.
At the same time, I've met people who graduated with a four-year degree, and this isn't their hobby, so to speak. It's not that they're bad programmers. They have some computer science knowledge, but they're not necessarily into it as much. And so they've learned some of the academic stuff, but they have no practical skills yet, if that makes sense. So I think that's a tough one to make the answer even more [laughs] valid.
DAVID BRADY: I have a friend that is starting university right now in Germany, and he's pulling his hair out because he has very little programming experience. So he doesn't have the real world to bring to it. But they're throwing him into computer science theory. So he's doing red-black trees and sorting algorithms. And he doesn't understand the theory, and he doesn't understand the application.
So he's starting from scratch, this poor guy, and he's absolutely hating it. But yeah, wind him forward four years, and he's going to have a good grasp of general theory. You could sit him down and say, "How do I sort this set? How do I guarantee that this is the way this is going to work?"
I think to touch on Adam's question, people, in my experience, that have come out of a bootcamp and then jumped straight into real-world experience if you go back to them four years later if their passion is present...I worked with a fantastic programmer named Hannah at a previous job who came out of a bootcamp. And two years later, she was every bit as...I had absolutely no problem giving her a task from the team. If she was working on something, I did not feel any need to backstop her or to check her work or anything like that.
But it is also true that her experience was entirely centered around the business that that company did, which was the healthcare sector. And a lot of it's transferable. I mean, messages go in queues. Everybody needs that. But the meaningful business part of it is going to be a little bit focused. We do kind of see that...or I do kind of see that sometimes.
It really only hangs over somebody for the first, I don't know, five to six years. And then once you're in the five to eight-year programming kind of where you would hire on somewhere as an intermediate or an early expert level programmer, you've gotten both things. You've gotten the theory and the practice under your belt by that time.
ADAM: Yeah. Brian, I think you have a good point in that my observation is passion is paramount. It doesn't matter what someone's experience is; if they're excited to learn, they're going to be top of their, you know, whatever you hand them because they're hungry enough to figure it out, to learn. They have that excitement, that passion. So anyone with that, to me, it doesn't matter what their previous learning has been because they're going to learn anything that's relevant and be in a good place.
With four years, my observation is they don't have the real-world experience. I remember when I came out of college, I had some kind of academic things that didn't really apply in the real world. And they're like, "Oh, why do you think that?" And it's like, "Oh, that's what the book said." [laughs] I think with someone with a bootcamp, that's great exposure. It's just so short that compared to a four-year degree, it's really focused. And so I think they really choose the most relevant. And it's a bootcamp, but it gets you started, and then you continue your learning after it.
I did notice when I was in college; I took different languages in classes: Java, C++, JavaScript, so various languages. I took a compiler class, a security class, a data structure class. My first class, we actually wrote a simple program in machine code. So I feel like the four-year degree might give you some additional big-picture stuff. It's not as tuned, but I don't know if that's as relevant day-to-day. That might come up once every few weeks or a few months of, like, oh, yeah, that was actually useful to know.
So that's kind of my take is that if you do it in a quicker way, great, because now you get a jumpstart. That's what I was saying is the person who took a bootcamp and then worked for three and a half years, so, in equivalent time, they have three and a half years ahead of that college degree in the exact relevant experience.
They're not taking American heritage. They're not taking English or all these general classes which aren't relevant, specific to the job. But I do feel like they might have some dark corners or blind spots because they haven't taken all those other classic computer classes: security, compilers, operating systems, stuff like that.
DAVID BRADY: Yeah, there are a lot of things that are adjacent to, you know, we talked about things that are career adjacent or things that are conceptually adjacent. Basically, it's stuff that you learn that as you're learning something or as you're doing something in your job, here are things next to your job. Or there are things next to the stuff you're learning that turn out to be incredibly useful. You would not see if you had not gone down that alley.
And so I have no problem hiring somebody with a degree in English as a programmer because I'm going to sit them down and say, "I expect you to have a lot of adjacency into how to communicate with human beings." And I argue very passionately that source code is all about communicating with humans, not about communicating with the computer, because that's what the compiler is for is to turn your human language into stuff for the computer.
And so somebody with a degree that's off into, you know, it's like underwater basket weaving; when is this ever going to become useful? You never know. You run into these adjacencies, and you're like, all of a sudden, oh, man, I know how to write this series of expressions in a way that's linguistically satisfying. And it ends up being code that feels really good to everybody else on the team, but it might not be any more efficient or any less efficient.
MIKE: What you're saying there, Dave, Andrew Ng, one of the luminaries in the AI field, says we need a lot of people who are doing AI plus X where X is whatever career you're in. We need physicians who know how to code and can use that in their job. We need historians who can go through the data that they work in and gather that information. We need biologists. We need even artists who understand how to code. That adjacency is actually a big deal. The things that you bring that are not technical are actually some of the most valuable things I think you bring to your job.
DAVID BRADY: Yeah, that's fantastic. By the way, for those of you who've been listening from the beginning, that's Mike Challis. He's our director of engineering and his time is often very well spoken for, so he couldn't come until just now. Welcome, Mike. We're glad to have you. There's an image forming in my mind of what are the adjacencies that you're going to learn in a bootcamp plus a couple of years versus in a college degree?
And if you walked into a woodshop and your job was to take down a log, take down a board, a two by two plank, and your job was to shape it, like, put it on the lay, you know, take hand tools to it or whatever, the person who has the college degree in lumber mechanics is going to look at each of those logs and say, "That's got knots in it. That support thing that was in a poor-growth forest. We want to use that for structural, not for cosmetic lumber." They're going to know all this theory about it.
But the person who went straight to a bootcamp is going to pick up one log and say, "I can feel the grain on this wood because on day one of the bootcamp, they handed me a knife and told me to start whittling. And so I know how to listen to the shape of the wood." And I don't know if that metaphor is useful to anybody. It's really clear in my mind. [laughs] But I should have got a degree in English to communicate better, I guess.
AFTON: The conversation has turned actually quite well into the thoughts I was having. I was thinking we've been focusing on one particular aspect of developing, and that was writing code. But this conversation has steered into other aspects that make you a good developer. And I was thinking, yeah, there's so much more that can make you successful.
For instance, I'm self-taught. And the first skill I had to develop was how do you research and find answers to problems? First of all, you don't even know maybe what the question is you're asking. You just have this new task, and you don't know enough to know how to ask the question, what words to use. And so you'd have to develop the skill of knowing how to research, how to problem solve, how to plan and organize. And those are skills that you can definitely get from any other field from classes and/or just life experience. All those things are going to benefit you in those skills.
And in my opinion, since that's the route that I got into development, I feel like those skills have really helped me because I don't have as technical of a background from school. But I think I'm really good at getting the answers I need when I need them, or I have confidence that I can get the answers. And that I think is super valuable.
DAVID BRADY: That's fantastic. I saw a question go by on Twitter, and I have a very strong opinion about the answer to this. But I want to open this up either directly to Afton or to the group. If you're in a job interview or if you're interviewing someone and a question comes up that you don't know the answer to, is it appropriate in the interview to crack open Google and search for it?
AFTON: So, just real quick, in my interview for my summer internship, that did happen to me. [laughs] I got asked the question, and I didn't know. And I said, "Can I Google it?" I had my computer right in front of me. I was showing a project I'd been building. And he was like, "Sure, as long as you can find the answer." So I Googled it, and I got the answer in, I don't know, 20-30 seconds. And that was fine in my scenario.
DAVID BRADY: I ask this for a reason because I feel very, very strongly that my job every day is to find the answers to things as quickly as possible. So Googling is literally a career skill. And so I would argue that it's not only appropriate to Google, but it almost ought to be an essential question as part of the interviewing process. Like, do you know how to find the answers to things you don't know the answers to? That'd be a fantastic interview question, right? Because it's literally a job capability skill.
The difference I think sometimes we see between people who did bootcamp versus people who spent a long time in academia, in academia, you're never allowed to plagiarize, and therefore, Googling is evil, and it's wrong, and it's stupid. And this is where I think art students are the one college degree that have the biggest advantage because, in art, you get taught to paint by looking at other paintings and trying to paint copies of them.
But when we teach you to write software, we give you a math problem, and we say, "Solve this, but don't you dare look at anybody else's software." It's one of the only disciplines where we don't let people study the existing work of other people. That's a habit you absolutely have to unlearn when you get out into the real world because my job is to steal as much stuff as possible because my boss doesn't want to pay me to invent everything here, at least I think so. Mike? [laughs]
MIKE: Oh, [laughs] I agree. You both said some stuff that I really value. Before Afton said how she answered, I thought if somebody didn't know the answer, I would want them to say, "Can I Google that" [laughs] And that's exactly what Afton said.
What you don't do is...I interviewed somebody once, who I asked them to implement an algorithm. I think it was like, write an algorithm that will show the Fibonacci numbers. And they said, "Give me a minute." And then they gave me this really weird implementation. And I Googled it, and they just copied it from Google and passed it off as their own.
DAVID BRADY: Yeah, that's the bad kind of plagiarism, yeah.
MIKE: Exactly. That's the bad kind of plagiarism. If that developer I was interviewing had said, "Honestly, I'll probably Google it and come up with an answer. And here's the answer that came back. It's a little weird. Here's how I would change it," I would love that answer. If you are upfront and honest...in fact, it's a huge red flag if you were at a company and they asked you, and you say, "Can I Google it?" And they're like, "No, no, you shouldn't do that," I'd be a little bit worried because a surprising amount of jobs of every engineer revolves around Google.
DAVID BRADY: So we've been covering a little bit of things that you need, whether you've gone through a bootcamp, or self-taught, or whether you've gone through school. But I want to pull us back to the original topic. Is there anything else that might come out of a classical education that people who are self-taught autodidacts or people who took a bootcamp and just jumped in...what are some things that they're going to have to learn on the mean streets that they could have learned in the cloistered halls?
TAD: One thing that I thought was interesting is we had to take ethics classes for our CS degree, and not everyone has to take ethics classes. If you're an art history major, you don't have to take ethics classes. But if you're a computer science major, if you were a business major, there were several other majors that were required to take ethics classes because I assume the idea is that what you do will have a lot of effects on people, and you need to stop and think about what that will do or what will happen. One of my professors told us nobody is going to write a function that's called bomb Baghdad.
DAVID BRADY: [laughs]
TAD: But you might write a bomb function that takes Baghdad as a parameter and not realize it. So I think that was an interesting distinction.
DAVID BRADY: There's a thing that I'll throw out here. This might date me a little bit. I didn't graduate from university, but it doesn't mean I didn't try. And when I was at BYU, they spent an entire good portion of a semester...not the entire semester, but they spent a good portion of a semester in computer ethics talking about the Therac-25. If you don't know about it, go Google it, T-H-E-R-A-C, Therac-25.
TL;DR: if the software didn't work, they just printed up a number like 72, and you're supposed to go look up in the manual that there's this problem. This radiation shield did not close, and that literally was the error. And the programmers that wrote it never stopped to think that, oh, when the radiation shield isn't closed, the patient is being bombarded.
They killed half a dozen people before they realized that they had written software that was indecipherable. You couldn't understand it. And so the nurses were doing their dead-level best to operate the machinery, and they were killing their patients because the software was so terrible. That's kind of a bright, chipper story, isn't it?
DAVID SOLANO: Was that because they didn't know how radiation worked?
DAVID BRADY: Possibly. So the Therac was back in the 1980s. And I think a lot of software was written...you wore a t-shirt and jeans in an environment where business suits were the norm. And everything you did was just numbers on whiteboards, and nothing mattered. And so if the machine went into one failure state, like, oh, your password doesn't match. That's one failure state, and we should give you back an error code. And if the radiation shield is supposed to close, but it doesn't close, well, that's another error state.
And the programmers never stopped to think one of these error states is way more serious than others. There's actual risk to life and limb. They didn't know they needed to think about that difference. Does that make sense? That literally was the point of that ethics class was to say do you need to think about this human life and endangerment type of situations?
AFTON: I'm going to read really quick a paragraph from Wikipedia on this topic [laughs] or just a sentence, sorry. It says, "The overconfidence of the engineers and lack of proper due diligence to resolve reported software bugs are highlighted as an extreme case where the engineers' overconfidence in their initial work and failure to believe the end users' claims caused drastic repercussions."
DAVID BRADY: Yes.
AFTON: There you go. [laughs]
TAD: And we went through all kinds of scenarios when I was in school where we went to a lecture by one of our professors, and he's like, the top 10 worst software failures. And they resulted in deaths and stuff like that.
So the thing that I think my degree got for me was a bigger context of just what software development meant, and what software engineering meant, and the effects of what you're doing has. Whereas a lot of the bootcamp people are very focused in on their particular industry, their particular set of skills they need to do a task. But getting a bigger picture of things like, you know, we did order of Big O notations and stuff like that.
And I've talked to a lot of bootcamp folks. And they don't think about efficiency. They just know that I coded it up, and it works, and it did the job. Whereas we were taught, you have to think about a lot of different things that are going into that loop or that sorting algorithm or whatever.
DAVID BRADY: And they'll come to it from the other direction. They'll get out into the real world, and their program will be too slow. And they might not know the notion of like, oh, I have a Big O. It's a linear Big O, and I don't like that. I'd like to reduce it, da, da, da, da. They'll come at it from, oh, my Rails app has an N+1 bug in it, and it's really slow when the database is big. And yeah, they end up...
I think maybe you touched on it, Tad. You said that they'll come out, and they learn what they need to know to get the next thing done. It's a very goal-oriented type of learning. I think people with a classical education learn things because their teachers tell them to. It's just here's this generic principle. You're going to use it everywhere, so go ahead and learn it. Learn De Morgan's Laws, right?
TAD: Yeah, I had some professors that actually tried to emphasize the science of computer science. They said, "Let's get into the nature of the science and develop hypotheses, test things, do all sorts of stuff that you might do just as a scientist. But let's simulate that kind of stuff with computers." And that's not get a specific task done; that's just try a bunch of different things and see if your theory is correct. And it doesn't necessarily accomplish any goal other than you satisfied your curiosity.
AFTON: So glad that we have such varied experience on our team, so we can glean from other people's knowledge, and skills, and backgrounds and work together to have this awesome team environment of learning and growing and making good code.
MIKE: Very much so. You're here.
DAVID BRADY: I like we started off, like, what are you going to miss if you go this route? But we've really come to it from regardless of where you came from; what are we going to knit you together with? It's like, you have to come out of either environment and become part of a team, and the team is going to look out for you. And you have to look out for your team.
I do have a question for some of the newer folks on the team. Is there anything that you feel like you missed? And this can be those of you that got a college degree. Is there anything that you feel like you missed by not just jumping straight in and going to work? And if anybody did a bootcamp or is self-taught, is there anything that you really keenly felt as a missing bolt in your quiver?
SWAPNIL: Actually, I never feel that way. Basically, when I did my engineering, whatever we learn, what I feel is we utilize it in whatever way we can. So anything you learn, if you learn communication, you know, you learn microcontrollers, what I feel is somewhere I can utilize that. So that's my thought about it.
DAVID BRADY: That's true. You don't know what you don't know. So you have to focus on what you do know and what can I build out of what I have? Yeah, that makes sense.
SREYA: I think we learn a lot when we start working in a real-world environment rather than learning in university.
DAVID SOLANO: When I finished university, no one wanted to hire me because I didn't have experience and I was like, well, teach me. [laughs] I want to learn more. At the end, I fell back into an institution, a biodiversity institution, so I didn't know anything about biodiversity. But I liked a lot of views around it by a biologist and all that.
And what I learned there is that if you don't know something, there are other people that will help you because they are experts in those fields. We, as engineers or programmers we, probably don't know all the answers, but we can work with someone else to bring a solution to a product. And that's something that, for me, is fascinating, and I totally love that.
DAVID BRADY: I personally have experienced that if you can mentor under somebody, you will learn so much faster. There's a reason the apprenticeship program was invented thousands of years ago in blacksmith shops and alchemy shops around the world. It's just so so powerful.
I have one more question for the group. David, you touched on this really well about you had the degree, but you didn't have the experience, and you're like, "Well, teach me." When I have interviewed people, I go in looking for two things, one, what is their skill level? What do they actually already know?
But I always try to interview for something else, which is can they think? Because I know when I hire somebody, I'm going to have to teach them how our software works. And I might have to teach them how to program on top of that, depending on where their skill level is. But those are teachable skills. And I find that I cannot teach somebody to think.
I have actually rejected candidates who were five to eight years into their careers and experts at programming. And I rejected them because I can't teach this person to think. I can't teach this person to listen to their teammate. I posed a problem, and when I nitpicked the solution, the candidate got angry at me.
What are the ways, especially this is for the senior folks on the call...do you notice anything in the difference in the way people when the candidate is out of a bootcamp or is self-taught versus coming out of a college degree?
MIKE: I've worked with a lot of people. The people with a college degree seem to have a...it's like they come with a bigger toolbox, I'll say that. If somebody comes with a big toolbox, they have a lot of tools they can draw from. But going back to what people said about passion, the people who are really curious might build their own tool [laughs] And come up with something different.
My dad is a woodworker. He actually makes a lot of his own tools. And he doesn't have a university degree, but he's very creative and comes up with things. I feel that people who don't necessarily have the toolbox are forced to use their creativity. And the passion will get you there one way or the other. The tools are useful, absolutely, but somebody who's willing to be persistent and push through it will invent their own solution. So I'm more interested in the passion and curiosity, especially, than I am necessarily in how big your toolbox is.
DAVID BRADY: I realized as you were talking about that that there's an inverse case to that which is here in the United States we had, especially 20 years ago, it was expected of many kids that you'll go to high school, you'll graduate, you'll go to college, you'll get a degree, you'll graduate. And there were people coming into the computer science field 10, 15, 20 years ago that had no passion. They were just doing the next thing that was expected of them. And so they went up through the educational ladder and got a bachelor's degree.
And these are people that end up in middle-level enterprise corporations at a mid-level thing where they sit and crank out a few lines of COBOL. And they're just waiting till 5:00 o'clock so they can go home. And I think that's something I never ever see out of somebody who's been to a bootcamp. If I interview a single mother who's put herself through a bootcamp, on top of working a day job, on top of raising her kids, I know this person has a passion for the work. I know this person has got a full plate and has figured out how to make room on her plate.
And I've never seen somebody come out of...I can't say never. I have seen some people come out of a bootcamp that were just completely lost because they were so new. But I've never seen that; well, I did this because it was what I was supposed to do. I've never seen that out of bootcamps, and I have seen that out of degrees. And those people find their own level, I think.
I think we might be at a good stopping point on this. Does anybody have a closing parting shot? I don't want to end on such a downer note. [laughs]
AFTON: I'll just say I came here today expecting to have to fight to defend myself [laughs] as a self-taught learner because this was, what have I missed? But it did not end up being that way, and that was refreshing for me.
DAVID BRADY: I came in with the same exact expectation, and this call has surprised me. Afton, maybe you and I should go away and think hard about why did we come in with our guard up a little bit? Probably because we've been hit a few times. So that'll have to be a topic for another show, though. We're definitely coming up out of time.
I want to thank everybody for being on the show today: Tad, Swapnil, Brian, Afton, Adam, David, Sreya, Mike. Thank you all for coming today. This was a lot of fun. And we'll see you in a couple of weeks.