NOEL: Hello and welcome to the Episode 20 of the Tech Done Right Podcast, Table XI's podcast about building better software, careers, companies and communities. I'm Noel Rappin. If you like the podcast and want to help other people find it, we would really appreciate that and you should please leave us a review on Apple Podcast. If you want to contact us, send feedback, get more news and information about the show, follow us on Twitter at @Tech_Done_Right. To learn about past episodes or leave comments or find out more about our guests, find us online at TechDoneRight.io. We really love getting your feedback and answering questions. Today on the show, we have Jeff Casimir and Mark Guzdial. Jeff is one of the originators of the developer bootcamp school concept and currently runs the Turing Academy in Denver. Mark is a professor at the Georgia Institute of Technology where his research interest is in computing education, which I'll let him explain later on. Many, many years ago, Mark was my faculty advisor for graduate work in educational technology. The three of us talk about bootcamps, teaching general computer skills, complexity, abstraction and context, and Microsoft Excel. It's even better than the conversation I expected with the two of them. It's a great talk with two people who are really passionate about teaching. I hope you'll enjoy it. Hello. On the show this week, I have two guests. We'll do this in alphabetical order, I have Jeff Casimir. Do you want to introduce yourself, Jeff? JEFF: Hi. I'm Jeff. I'm the executive director of the Turing School in Denver, Colorado. NOEL: And Mark Guzdial. MARK: Hi, I am Mark, a professor in the School of Interactive Computing at Georgia Tech and my research area is computing education. NOEL: Do you want to say what you mean by computing ed? I think people are familiar with computer science education but I don't think that's quite what you mean. MARK: Yeah, a little bit broader than that. Here at Georgia Tech, we have a College of Computing and the idea is that we're interested in computer science and the implications of it, how computer science interacts with other disciplines. For me, computing also includes things like information systems and information technology. People interested in computing education research look at how people come to understand computing, the computing that they use in their lives and how we can make that understanding work out better. A big part of what I look at is how people come to understand programming since programming is particularly important for non-software developers. For every professional software developer, depending on the study they look at, they somewhere between four to nine end-user programmers so people who need programming as part of what they do but not necessarily to be professional developers. NOEL: So people who write scripts or Excel spreadsheets or things like that? MARK: More lower level than just make the spreadsheets. Make the macros, do some programming, SQL queries. A lot of people do SQL queries where they're manipulating variables and don't realize that they are. NOEL: I actually just interviewed somebody who came to development because she had been working in customer service and became the person that everyone else relied to do SQL queries into their customer database. Then she realized that she really enjoyed development and became a professional developer. JEFF: I've heard it said that Microsoft Excel is the world's most popular IDE, which I think is a funny and sad idea. NOEL: Yeah. I don't think either of you have met the CEO here who is an Excel wizard and does things with Excel spreadsheets that probably should be outlawed. It's staggering. But yeah, you can do amazing things. MARK: I think, Jeff is probably completely right and it's also particularly scary when you think about the lack of error messages in Excel so there's these horrendous stories. Paul Krugman just did a New York Times piece, not just, like a year ago or so about the Excel spreadsheet that ruined all monetary policy for the world, that a lot of the claims made about the needs for austerity are based on an Excel spreadsheet, where they made a mistake and didn't include all the rows and columns in the range. NOEL: See, now that is genuinely terrifying. This is not where I thought we were going to go and I'm already terrified. JEFF: "Microsoft Excel, you've ruined the world." NOEL: But, and this was a totally other random thing about Excel -- we're digressing and we haven't even started yet -- one thing about Excel is it does internationalization. There's a thing about somebody who learned to program in Russian and he struggled with it but his father who learned Excel. In Excel, if you're using the Russian version of Excel, all the functions are in Russian and then when you translate it and somebody opens it in English, it's all localized -- the functions and things like that. What I really want to talk to you guys about, it's been an interesting summer Jeff, for bootcamps. Here in Chicago, particularly the closing of Dev Bootcamp, which is in multiple locations, I say here in Chicago because I interview Dev Bootcamp graduates all the time. What started had become some research into bootcamp graduates and their skills and CS majors and their skills and I wanted to talk to both of you from somewhat different directions about teaching development skills, teaching computing skills and then my interest here, which as somebody who hires developers. Jeff, do you want to talk about what your goals are at Turing as you've developed them over five or so years of teaching developer bootcamps. JEFF: I did a traditional four-year undergrad degree. It was computer engineering so like half electrical and half computer science. I'll never forget as I approached the end, we were in March of 2003 and we asked one of our professors, we were having a chat session, "If you were us, what kind of job would you want to get?" He said, "In my opinion, the only job you're prepared for is graduate student." Having spent four long years with a pretty, in my eyes, boring monoculture of folks, the idea was like, "The last thing I want to do is keep doing this for two years." I think I learned a lot of valuable things in studying a traditional computer science degree and the majority of them I got alongside what I was asked to study like the interesting valuable things I learned on my own or by accident. In about 2011, a conversation with a friend was, "If you had really smart people who didn't know anything about programming, how long would it take to turn them into a job-ready software developers?" I hypothesized that it was six months. He said, "I have budget for five months," and so we're like, "Five months it is. Let's go." Now, I've been iterating on that idea for five, six, seven years. With setting up Turing specifically, I had a bunch of questions. One of them is when we look at the education institutions, like well-known programs like Mark said: Georgia Tech or MIT or Stanford or whatever, we take them for granted as though they've always been there. But the reality is that at some point, some stubborn people got together and started a thing and then kept it going. My kind of guiding question was how do we create a school that lasts and lasts because it's providing value for its students but lasts for 100 years. Part of that is in our tech venture capital IPO world. I knew I didn't want to play that game so we started as a nonprofit, where we couldn't be invested in, couldn't be bought or sold, couldn't IPO and said, "Let's just focus on students and student outcomes and quality of education," and that's what we've been doing now for three long years. NOEL: How does that compare, either one of you, with the bootcamp landscape overall like your program is different from some of the other programs. There are a variety just in Chicago and around the country, what are some of the differences in your approach versus some of the other? JEFF: One of the fundamental differences is around time and scale of time. I think many programs have started with the question of, "How short a period can we train people before they can get a job?" Our question was, "How long can we keep someone before we think their best learning happens in the workforce, rather than in the classroom?" and that answer is about six months. We interject some breaks for them to recuperate a little bit to come out to a seven-month program. When we discuss program length, people often ask about why is this program 12 weeks and this one's 10 weeks and yours is 27 weeks and the answer is, "It's 27 weeks because if I could, I would make it 52 weeks or 100 weeks but I think that our students are best served by leaving after 27 weeks." NOEL: Your students for the most part are coming without having programming knowledge or developer knowledge in advance, correct? JEFF: Correct. We actually prefer people not to have much experience. In folks that have kind of been the basement hacker or whatever, they tend to have a lot of notions that we have to kind of unprogram first and that's challenging. There are also lots of pathways for people who have some experience to be successful. We prefer to build a pathway for people with no experience. MARK: I love the model that you're describing, Jeff. Can you tell me, when you say that you're a nonprofit so that you can last for 100 years, which is an unbelievably... that's so non-Silicon Valley to think about 100 years as supposed to just the next quarter. How do you measure your quality of education? How do you decide that you're achieving that goal? JEFF: Yeah. The whole concept around metrics is at once both important and incredibly cloudy. Do we look at graduation rates? Do we look at employment rates? The way that I feel success differs a bit from the way we measure success. We're able to measure graduation rate. We're able to measure employment and the job titles of employment, time to hire, initial salary and all those kinds of things and that's what we put down on paper. The way that we feel successful or that we know that the core of the mission is working, is to look at the students who are two and three years out and to see them in jobs that they're fulfilled, where they're well paid, where they're well-cared for, they're promoted and able to lead teams and so forth, if that's what they choose to do. Turing to me is about economic empowerment more than it is about programming. Although I've been doing it for a long time, I don't think programming is that great. It's neat but I don't think it's the greatest way to possibly spend your time in life. We use programming as a tool for economic mobility. How do you get yourself into a career, where you, yes, enjoy the work and also, have a strong income ability to work, when and where, how you want, to be well-treated by your team and if you're not, find a place that you will be. The privileges in the workforce that only the 0.1% of the world gets to experience. That's what we're trying to open up for people. MARK: I love that vision. It drives a lot of my work as well. A lot of my research is funded by the National Science Foundation program in Broadening Participation in Computing. For the most part, the people who are in computer science are 30% of the US demographic. It's mostly white and Asian males who are not disabled in any way. The argument that we make in the BPC program is that this is actually a social justice issue, that women not getting access to computing education, that African-Americans and Latina/Latino students are not getting access, means that they don't get access to those high economic desirable jobs that you're describing, Jeff. I think it's a really important goal. JEFF: Yeah, I think we're super-aligned on that. Our vision statement of the organization is, "A world powered by technology where the people building it represent the people using it." It's sad to see how far we are from that. NOEL: Something that I definitely see from my position of hiring is that the bootcamp population en masse is a much more diverse and much more representative sample, than the people that I see who are graduates of CS programs. JEFF: Yeah. There are few CS programs that have succeeded in my eyes in creating a diverse student body. Whether you're talking about higher ed or you're looking at the industry, you're looking at basically, negligible diversity so doing better than that is not so hard. When you look at the stats, the stats that I see talk about women in technical roles in the industry, somewhere around like 11% or 14% and in our student body, it's about 35%, which relatively speaking is great and we feel good about that and is also still terrible, like where is the remaining 15%. There's a lot of work to do to close that gap. MARK: Jeff, would you be willing to give us an actual stats on, for example I love your two to three years out, how do the women do who come out of Turing School, two to three years out, what is your graduation rate like? JEFF: Some of the interesting things we've tracked in the metrics with a bit of trepidation, when you're in Excel crunching those numbers, I hope I don't find something I don't want to find. Some of the things we've looked at are what's the graduation rate among female students as compared to the general population, what's the graduation rate of students of color, of veterans, etcetera. What we've seen is that our female students and people of color have a slightly higher than average graduation rate, which is super encouraging. Coming out some of the data I've looked at most recently shows our median time to hire overall student population is about 45 days and for female students, it's about 37 days. That jives with what I see in the job market that junior hires are always going to be a risk, whether they have a great degree, a master's degree or no degree in our case. People can come down different places on the issue but I think there are a lot of companies that have decided that they want to put some of their risk-taking towards audiences under-represented in tech and that benefits are female students, I think clearly. I think our female students have an easier time getting an interview. They don't have an easier time getting a job. Once in the job, we find that female grads are more likely to leave a job in the first six months and that is a heartbreaking stat. I think there is a complex ongoing conversation in the industry around pipeline and the pipeline of girls in STEM in middle school and in high school and so forth. I think that's a real problem but it's definitely not the whole problem. We have a lot of work to do, as I think Google has well demonstrated for us recently. We have a lot of work to do to create environments that are inclusive, not just diverse. NOEL: With respect to the actual skill, here's what I see. I have interviewed dozens of bootcamp graduates, some of which from programs like Turing, some from a variety of programs around the Chicago area and what I see generally is a tremendous amount of enthusiasm. If they went to the right boot camp, a very strong understanding that they don't know everything, which is in and of itself, I think pretty valuable. And still a very strong lack in a couple of skills that are really important in our environment, most notably having worked on longer projects, larger projects, more complicated codebases. Some of the stuff is very hard to get if you're a junior. Mark, can you speak to what kind of skills acquisition is reasonable to expect in a three-month intervention or a six-month intervention? MARK: No, I can't. Let me give you two answers to that. For the first part, I don't worry about trying to develop software development skills. I don't know much about how to make good software developers. I'll tell you that one of the things that we've been focusing on is how do you take a high school teacher who wants to become a high school computer science teacher and bring them up to speed, where the speed is not being able to teach the class but feeling comfortable in teaching computer science at all. We actually have a bunch of evidence that you put teachers through a one-week professional development and then afterward, they may not be interested in ever doing this ever again. We've been developing an online electronic book and I can tell you a lot about why we want to do an electronic book versus like a MOOC. Our teachers are spending 20 to 30 hours in the book and they come out afterwards saying, "You know, I think I could do this computer science stuff. I'm ready to sign up for a professional development now," which for me is a really important goal, which is way less than being a professional software developer but it's a necessary prerequisite. NOEL: Sure MARK: The second answer is that the challenge that you all are talking about -- I've lived in the south long enough and allowed to say 'y'all.' I got my passport stamped -- is really fundamental to all of computer science. These histories of computer science, in particular this one Nathan Ensmenger, The Computer Boys Take Over, which talk about how people in the 50s and 60s decided, "We need a lot of developers. It's going to take a lot of software developers to make all the things that we want to make," and then realized, "Wow, most of our developers aren't any good." Nathan Ensmenger goes so far as to suggest that software engineering was invented because we realized we had to figure out how to make software with a lot of particularly cruddy developers. If you have a lot of really great developers, you don't need a lot of them to be able to do cool things. But when most of your developers are mediocre, you need some more formal processes to make sure that you reduce errors and reduce time to completion. Computing education of developers is actually a fundamental issue of software engineering and computer science. JEFF: In between teaching middle school and high school and doing this developer training thing, I was doing corporate training. It very much resonated with what you're saying, Mark. In that, I would go into some teams and they were excited, fired up, smart folks doing great work and able to just give them a couple of new tools to work with. A lot of the teams that I went into were just unengaged, didn't even have strong fundamentals. There were times I was working with professional developers who typed with two fingers and it was just like, "If you're talking about 10 of these people with a bunch of enthusiasm and a bunch of gaps, can they beat out this person?" Yep, they sure as hell can. MARK: Yeah, can I ask you Jeff a more meta level question? JEFF: Yeah. MARK: I love the image of you came out of undergrad and asked what am I equipped to do and they said you could go on to grad school. Why not fix traditional computer science? And then, which raises a bigger question that is what should a computer science degree be about? Certainly, not to make everyone ready to go to grad school but I wonder if it's necessarily should be about making everybody a great software developer. JEFF: I think there are complexities on the meta-meta level, we have cultural complexities with like adolescence and having worked with a lot of 18-year olds and 20-year olds and 25-year olds, it's clear to me that at least in the US that we've perpetuated adolescence into the early to mid-20s. Thereby, college creates a necessary green house for you to just grow up. It's unfortunate that we try and do some of your best learning at the time that you're also essentially still acting and living like a child. I think that's where we see such a difference and I'm sure, like your colleagues doing the work every day, see the radical gap between folks who are showing up to show up and get a degree and the people who actually have the maturity to pursue meaningful academic study. If that is a background, I think there used to be a period, two or three years ago when folks in my training industry would say things like, "We're disrupting higher education. Higher education is over. Anybody who goes to college is an idiot," and I like to ask people, "Oh, you didn't go to college?" and their answer was usually, "Oh, yeah. I went to Stanford," and it was like, "So you're telling other people not to go to college with that Stanford degree hanging out your back pocket." That's not genuine advice right there. I think we need computer science to be science and we don't need computer science to be building web applications and building mobile applications and so forth. NOEL: From my experience, which admittedly is really old was attempts to change the computer science curriculum to make it be more job training, received at fair amount of pushback and I think understandably so. I would say that like as the tooling has gotten better and better, the amount of things that you can do as a developer without really understanding computer science has, to my mind increased like the reach of something that you can do without a deep understanding of computing has increased until the exact moment when you realize that you don't understand as much as you think and suddenly everything is falling apart or super slow and you don't quite understand why. At that point, it's nice to have somebody who knows a little bit more formalized computer science. JEFF: I think of it sometimes in parallels to doctors and medicine and I want Mark's team training up brain surgeons and I'll train up doctors to work at the MinuteClinic, and the first aid place down the street where I can get in and out in 25 minutes with a cast on my three-year old. Some of those folks will get into that work and decide, "This is the thing for me and I want to continue and get a grad degree in computer science or doctorate in computer science," and there's so much value in those deep studies. It's just not what a lot of people need to be successful in the industry. MARK: Let me take a third direction off of the model that Jeff just gave us. There is the brain surgeons and there's the ones at the MinuteClinic and then there's the kind of first aid that the park ranger needs to know or that every kindergarten teacher needs to know. I think that's a really interesting question that because computer science, some software development skills are becoming really important, because computing is becoming really important. I'm curious what do you think about bootcamp for the people who need computing as part of what they do? Do you all know Greg Wilson and his Software Carpentry work? JEFF: No. NOEL: I don't think so. MARK: Greg is in Toronto and he was working with scientists and engineers and increasingly computation is an important paradigm in the way that scientists and engineers work. What does someone who has a degree, maybe multiple degrees, in science and engineering, highly successful in what they're doing but who now needs to use computing as part of their work? What do they need to know about computing? It's more than just Excel. They need GitHub. They need Scientific Python. They need R but they certainly don't need a lot of theory. At least, they don't want a lot of theory. They want enough to be really successful as computational scientists and engineers, not as software developers. But there's this really interesting intersection. All of those folks, for example one of the first things they need to know is GitHub because they need libraries, they need to be able to store versions, they need to be able to get at data that's being stored at GitHub and put new data back there. NOEL: We train project managers on GitHub here, like everybody. MARK: Yeah? So how do you teach that stuff? It's not software development per se but there's a lot of software developments skills there, right? NOEL: And GitHub is an interesting example there because on the face of it, it looks, I want to say it looks simple, which is unfair. There's a lot of hidden complexity there in the sense that GitHub makes a lot more sense if you understand git and git makes a lot more sense if you have a mental model of a file system that you can use. JEFF: I'm still waiting for Git to make sense, Noel. Go ahead. MARK: I'm right there with you, Jeff. NOEL: That is completely fair. Git has a very elegant internal model, which is completely obscured by a horrible interface. MARK: And how about I want to push or I want to pull or I want to branch? I'm confused. NOEL: Right, so we get to this point where here's like this entry tool, this tool that is a gate to all of these other tools and in order to understand it, there's just a huge chunk of computing that you need to understand. It's not necessarily computer science but it is like, "What's a file system?" It has got a fair amount of jargon attached to it. What I see, in practice, and I even see this with professional developers in git, I see it in myself and git is a ton of cargo culting. Cargo culting is the idea that you are just copying something that you saw work for somebody else in the hope that it will work for you. I certainly see that in how people use git or their text editor or all of these things that are in some ways like foundational tools just to interact with the technology that are very hard to understand. MARK: Is it necessary? Just to work in what we do, I don't know what processor is currently inside of my MacBook. I don't really know all the complexities of the compiler that I use because of what we do. Isn't there a layer where we say beyond this, the demons lie and I'm not going to go there? NOEL: Right. That's kind of interesting. I don't know the details of the compiler and I write in languages where I'm super isolated from compilers. I write Ruby, what's a compiler? Mark, who was around when I learned graduate level compilers is probably cringing internally. MARK: No, I'm right there with you. NOEL: But there's this interesting thing where you have this model of compilers and that kind of thing are the core technologies that we interact through these interfaces of text editors and GitHub and things like that. But at the edge of it, the things that we need to do just to interact with the technology in a way that we want to use it are themselves very complicated. Even relatively simple programming languages that have been designed to be relatively simple, like, in some ways, Ruby, there's a tremendous amount of internal complexity that you need to pick up just to make progress. JEFF: I think there's an important piece that Mark mentioned is about wanting to know how things work and being okay with the idea that sometimes we don't want to or maybe a lot of the time, we don't want to. I think to a lot of people in tech, that's almost like, "Oh, how dare you?" I've been lately refurbishing an old car, a 1977 vehicle and reading these message boards, trying to figure out what I'm doing is a very much an experience of like, "This is what it sounds like." When you don't speak the language, you don't even understand. I have to send photos to a friend to be like, "What's the name of this thing so I can Google it." I think in tech, we need to accept that there are so many layers of abstraction now that even people who want to understand, have actually somewhat given in to the fact that like we won't understand all the things. We pick some spectrum of depth that we're willing to understand. I think the idea, Mark that you're talking about with Software Carpentry and teaching people to work with and manipulate data, that's a totally reasonable spectrum and it allows them to do their jobs better, to do their creative endeavors better or whatever and they don't want or need to understand how compilers work and they don't want or need to understand how git works. They just want to get their code onto the website. It's naive to me if we don't understand that that's okay, that it's like, "It's cool." If we want to have a whole bunch of people using technology to build neat amazing things and insights and so forth, it's going to mean that for a lot of them. It's not their thing. It's just a tool that they're using to get what they want done, done. MARK: I'm going to make a hypothesis, Jeff and you can tell me if it's fair or not, that Turing School is a successful bootcamp because you have students who want to become software developers so much that they're going to cough up $17,500 and seven months of their time and what you can teach is the developer depth. These folks can't go much deeper. They don't have much theory, but they do know how to be successful within that layer that you can focus on and teach seven months. Is that fair? NOEL: From my perspective, they have a significant amount of face validity as developers. They can talk the talk, which is not nothing. They can express themselves. JEFF: I don't know if it's like wonk-wonk in my liberal heart. Turing School is successful because we deliver on our promise to students and our promise is to create workforce-ready skills that allow them economic flexibility and mobility and life satisfaction. What that means for them in software is I'll say by the time they graduate, they're interested. At the beginning they're not always that interested in software but by the end, they see that they can use code to be creative and to create things that matter. I think that their ceiling is high. Our graduates create software more complex than any software I was able to create when I graduated my four-year degree and it's not even close. The majority of them create software that is more interesting and complex than anything I have ever done now. MARK: Is that because the libraries they use? JEFF: That's a part of it. NOEL: I would also say that it's a huge difference between the six-months or seven-month programs and the three-month programs. I've interviewed people that have come out of Jeff's program and I've interviewed people that come out of three-month programs and there's a tremendous difference in the size of problems that they have tackled. JEFF: I think what we've seen in our casual research, I'll say is it seems to me there is a tipping point around 1200 good, deep practice hours in programming at which point someone moves from being afraid of programming to feeling like, "I might not do it right the first time and I might not ever do it completely right but given N time, I can solve problems with programming." Getting somebody over that hump, I think is possible in four years and I think it's possible in seven months. I don't believe it's possible in three months. NOEL: One thing that I see from the bootcamp graduates in general is because a lot of them are career changers, they bring often some other skill, which is actually often useful. A lot of times, they have some more communication-focused background. They've been in marketing or they've been project managers or they've been... I don't know. Even though they're running away from it, they still have some kind of skill that often makes them valuable in different ways than somebody coming right out of standard computer science program might be, at least for me. JEFF: A big part of it is just being a grown up and like having five, eight, 10 years' experience in the workplace doing anything, you're probably just going to be a better person than the average recent college grad, regardless of your major or where you studied or whatever. Then there's also this social complexity, Mark, that I imagine that in the work you're doing, with trying to reach a broader audience of computing education. You see that most people who have not been on a computer since they were 12 or have not been programming for 10 years when they show up for undergrad or whatever, they just have a richer life experience. Sometimes that's hardship and sometimes it's just like, "I traveled the world for two years," or, "I was in the Peace Corps," or, "I did this difficult sales job for four years," and all those experiences develop the person who then comes into computer science. I have three kids and talking about studying computer science and so forth, I worry a bit that if you lock into that as your thing when you're 14 and it stays your thing for eight years or something until you graduate from college, you've missed out on a lot. MARK: If it's okay with Noel, can I tell you a story about how we teach non-majors here? NOEL: Yeah, go ahead. MARK: Okay. In 1999, Georgia Tech decided that being an institute of technology, that computing was so important that every single undergraduate that came on to campus had to take a course in computer science. Engineers were on board but that also meant everyone in the college of science, the liberal arts college, the business college, the architecture and design college. We started out in 1999 with one course because you have one intro physics, one intro calculus, we have one into computer science. By 2002, the overall pass rate for the class was around 78%, which for intro classes is pretty good but then, if you break out and look at just the students in all of the programs in liberal arts, architecture, in business, the pass rate was less than 50%. They're losing about half the students every semester. Business students would talk about three-peating. By third time took the class, almost everybody passes. That's when we decided that one course for everybody didn't make any sense so we continue teaching the one course for computer science majors and most of the college of science decided to keep taking that one. We built a separate intro course for the engineers in MATLAB, a lot of engineering problem solving. I got the liberal arts architecture and business students. I developed a way of teaching computing that we called Media Computation, where the students are doing the same kinds of programming but instead of walking through all the characters in a string, we walk through all the pixels in a picture and you compute a grayscale or you make a negative of the image or you get rid of the red pixels only around the eyes without changing the red that the person is wearing in order to be able to remove red eye. We splice sounds, reverse sounds, change the frequency of sounds and then do digital video special effects with videos. It's all the same basic intro CS but it's contextualized. We called it contextualized computing education. I thought of it because you talked about not been out of computer since the age of 12. It sort of the opposite. These students have been on a computer all the time. They're at in institute of technology but their focus is business or liberal arts, history, English composition, design architecture. These folks haven't been programming a whole lot. I still get students who walk in the door and will come whisper to me, "I'm not a computer person." We started Media Computation in 2003. In 2012, I did a revisit to all of the classes and most of which I have not taught so it's not Mark effect. The pass rate has been better than 85% for over a decade now. Part of this is about giving the students what it is that they want, what it is that they recognize computing is about. Computing is about digital media. "Oh, wow. We're learning how to manipulate digital media. We're learning how Illustrator and Photoshop work." I think that it's actually kind of a similar story to what you're doing in the Turing School except that my students haven't discovered any interest in programming yet. In fact, they're just taking this required course because we make them. Many of them are juniors and seniors who are taking that as late as they possibly can but about 10% of the students decide to take up a CS major or minor afterward because they discover they like this stuff. JEFF: I think the context is the easy to overlook and hugely important part there. When we talk about, "Let's walk through this string and manipulate the characters and so forth," when you have to explain first what a string is, you've already lost. No one can possibly give a crap about this problem, especially as non-computer scientists. But when you can put it in this context that they connect with and understand with, then also you're solving a puzzle instead of just trying to answer an exercise in a textbook. NOEL: Yeah, I think we do forget how completely abstract programming is, especially for people who haven't been doing it for years and maybe don't really like dealing with abstractions on top of abstractions the way that developers do, which is a lot of people. JEFF: It's funny that in some ways, when we try and strip down problems, we're trying to make it simple. It's just an array and then we're going to do something to each element of the array or whatever. We have now, number one, we've told you you're dumb because we said the word simple and you didn't know what was going on. And number two, we're dealing with a problem that makes no sense to you, whatsoever as far as why you would want to do that. It shouldn't be surprising then when 30% of them are like, "No, thanks. This is not going to work for me." NOEL: Jeff, how do you contextualize at the beginning at Turing? JEFF: A lot of it is subtle. One of the advantages that we have of being a short program as compared to a four-year degree and the way our class is set up, we start a new group of students every quarter. That means that at any given time, there is a group in fourth quarter, in third, second and first. A lot of the context is about observing the work of the fourth and third quarter students and seeing the things that they're able to build and they're are working with, struggling with, etcetera and that provides the context for the newer students to say, "I'm not sure exactly how these arrays and strings and so forth add up to the things that that person made but I want to do what they're doing so I'm going to go ahead and figure out why arrays start at zero." MARK: Jeff, you saw the New York Times piece because you sent it to us about the coding bootcamps close. Audrey Watters has written a piece based on that. My blog post came out today which talks about Audrey Watters' post and also the new data from the paper that Kyle Thayer and Andy Ko at University of Washington just did. I am willing to accept that Turing Academy is a successful bootcamp. What's your explanation for the bootcamps that are closing and the negative data that is in Thayer and Ko paper? JEFF: I haven't read the paper but I can speak to the industry and the challenges there and it really boils down to the economics. I think there are folks who can do a back of the napkin calculation and say, "If we get N students and we charge them Y dollars every X interval, then we can pull in a lot of money." That's somewhat true. It's just very expensive to run so we, as a nonprofit have the privilege, if you will of just targeting cash positive, at just trying to break even. The challenge to me is when organizations are set up as for-profits when they've been acquired by these large for-profit higher-ed institutions or you position your company to set up for that, that you want to be, you're necessarily taking a lot of oxygen out of the system. Especially in tech, investors are looking for that 5x to 10x returns and at least the models of education that we've seen so far is not set up for that. I would argue it's unethical because to me, like student tuition should be spent embettering the student. When you have investors, it is the fiduciary responsibility of the organization to benefit the investors and that's money that should be going to students. When you look at programs that have shut down, I think what you see are very committed educators, people who are fired up about teaching people to program and working as hard as they possibly can to do that. I think you see businesses that perhaps overestimated or were hopeful on their ability to turn revenue into profit. When it became clear, that you're only going to throw off a couple percentage points of profit in a year. You look at a company that you acquired for, let's say 35 or 40 million dollars if you're the big parent company and your two options now are to keep this thing around so it's throwing off a couple of hundred thousand a year and is not trivially easy to organize and run, or shut it down without even selling any of the assets. Shut it down, we can take our purchase price, write that down against our revenue in other divisions for this year and decrease our tax burden. That's where with the two significant organizations that have shut down recently, to me that's why you don't see them selling the assets or selling the name or continuing it. It's just the experiment had run its course and it's not going to be 10x profitable so just pull the plug. NOEL: Yeah, I also think to some extent, when the bootcamps opened, I think there was a backlog of people who wanted to switch careers but didn't know how. I think to some extent, five years in, there's not as much of a backlog so the consistent flow rate is lower than the initial burst. I think also to some extent, that's what you're seeing. JEFF: Yeah, I'm not sure yet on the incoming side. I think there's still a tremendous number of people who are looking for workplace happiness, stability, economic flexibility. I agree that there was a pent up demand of people who knew that's what they wanted to do. They just didn't know how to do it. I think now, there are still a lot of people who want that for themselves but they don't have any idea how to get it. It's not a matter of, "Oh, there's a thousand students a year," and they're going to be divided up by whatever programs are available. There are hundreds of thousands of people in the country that could be successful in programs like this. To date, the top tier of developer training programs have trained like 8000, 10,000 people. I don't think we've scratched the surface in terms of the potential. On the job side, there was originally a lot of enthusiasm and I think companies were very willing to take risks and hire somebody who seemed cool and fired up and they knew a couple of things about programming. Sure, let's give it a shot. What we see now is more hesitation in the market than at any time in the past that companies have interviewed folks and it hasn't worked out or they've hired folks and it hasn't worked out. Now, they paint all non-traditional candidates with the same brush of like, "We've worked with people like this before and it was a no, so you're a no." Now, that's a challenging environment for students to job hunt in. MARK: Jeff, we talked about two different kinds of students, at least two, that come in to bootcamps: people who have had a previous career and now make a change in the software development or people who have decided to skip college and do an alternate path into software development. Do you see both of those camps? Which are more successful? Your various success rates like grad rate, mean time to hire, which of those two do you see as being more successful long term? JEFF: For us, it kind of varies with our turnover being pretty quick, 10% to 18% of students will come to us without a college degree and those students in the job hunt, the median time to hire is about 50% longer so there is definitely a disadvantage. I put an asterisk on it in my mind in that those folks who do come in at 18, 19, 20 years old. I think it's just really hard for a 20-year old to get a job no matter what they can do because if I'm a hiring manager and I have two people with equivalent experience, two resumes where they each have been doing this thing for some number of months and one of them has 10 years experience working in another industry, I'm going to take that person. Maybe it's bias, maybe it's just reasonable. I'm going to take the person that knows how to operate in the workforce. It's not infrequent that we get questions about ageism in tech and I think ageism is a real challenge but I think it is most pronounced at the bottom side, that folks are not that interested, perhaps with good reason, are not that interested in hiring 19 and 20 and 21-year olds, where in some cases, as I'm saying I think our society, we are collectively to blame, folks have trouble with the basics of being in a job much less the complexities of software engineering. NOEL: I've interviewed very, very few under-college graduate age, bootcamp graduates and maybe even be none and yeah, that would be challenging. JEFF: We've seen folks who do not have a college degree but have been in the workforce and are 25, 28, 30. Their stats on graduation and job hunting is very similar to the overall population. I would say that the job hunt median is a little bit slower but it's 5% or 10% longer, not 50% longer. NOEL: That doesn't surprise me. It's kind of interesting though because one thing that I don't almost never see now, which I used to see a lot is completely self-taught people who have never done a CS program or a bootcamp and that used to be a lot more frequent of people who try to bootstrap themselves up. Even though there's a lot more material now, most of those people it seems to me wind up trying a bootcamp. JEFF: I think it's real hard to get your foot in the door if you're just random person and you know some things about programming. If you don't have any network to rely on, if you don't have the job coaching like, "How do you write these outreach emails and how do you write blog posts that people want to read?" If you don't have any of that support, I think it's real tough to get in for a first phone call. NOEL: I'm about to get kicked out of a conference room, which is a shame because I'm really enjoying this conversation. Let me just quickly, where can people reach you, if they want to learn more about Turing or Mark, about your research. Jeff, where can people reach you? JEFF: Easiest is Twitter. You can find me at @J3. MARK: Wow, you had to get on pretty early. On Twitter at @Guzdial or Guzdial@cc.gatech.edu or Google 'Guzdial blog.' There's not that many of us. NOEL: Not many Guzdials. Do you have one final thing do you want to say before we go, either of you? JEFF: I say, I appreciate your work, Mark and I think there's so much to be done in this broadening the pool of people for whom programming is accessible like we can do a lot more. MARK: Thanks, Jeff. I am fascinated by bootcamps in all the different ways in which we're going to make computing available to people in the future. I see bootcamps as meeting an important need but I see that there's a lot of those sorts of needs. We don't need a lot different kinds of models. JEFF: Yep, agreed. NOEL: Tech Done Right is a production of Table XI and it's hosted by me, Noel Rappin. You can find me on Twitter on @NoelRap and you can find Table XI at @TableXI. The podcast is edited by Mandy Moore. You can reach her on Twitter at @TheRubyRep. Tech Done Right can be found at TechDoneRight.io or downloaded via wherever you get your podcasts. Please contact us, send us feedback or you can find out about new episodes on Twitter at @Tech_Done_Right. Table XI is a UX design and software development company in Chicago with a 15-year history of building websites, mobile applications and custom digital experiences for everyone from startups to storied brands. Find us at TableXI.com where you can learn more about working with us or working for us. We'll be back in a couple of weeks with the next episode of Tech Done Right.