Many years ago, Kelly Chung was a mathematics major at USC. He was a smart guy who could have easily continued in the academic direction but decided he didn’t want that particular career. After a few months thinking about his next step, and knowing he enjoyed his brief interactions with coding in college, he decided to apply to coding bootcamps. After getting into a couple, including App Academy, he decided he’d go for it and move to San Francisco from Las Vegas.
In less than a year, he would graduate as a top student at App Academy and was offered a job as an instructor. What happened next was a great success story: He became a leader, often leading discussions of growth. Many of those discussions led to new curriculum additions that would benefit successive coding cohorts, like a weekend program for potential students.
In order to understand key aspects of the program, we wanted to talk to Kelly about his perspective. We discussed the reasons behind App Academy’s curriculum updates, day-to-day instruction, and the reasons why a bootcamp degree may be better than a college Computer Science one.
The following conversation has been edited for length and clarity where needed.
Tell us about what students can learn at App Academy that they can’t learn anywhere else.
One of the things we tell people we specialize in is creating web applications, or websites in layman’s terms. [But] where we shine as an organization is our ability to adapt to what is popular within the market. Unlike traditional college CS programs, or Coursera, who have to go through a long update process, we can update our curriculum on the fly with updates that have happened on a day-to-day basis. For example, we’ve updated a couple of the programming libraries six to seven times in the past year. What we teach is the latest technologies and the latest practices on how to implement those technologies.
Can you explain the curriculum updates to programming languages in more detail?
Anytime a programming library or a framework for a programming language is released and updated, it sometimes means they’ve found security flaws. That is the worst case scenario. Less seriously, [it is] bugs they didn’t catch before or features they wanted to implement but couldn’t because it didn’t fit with the underlying philosophy for that particular tech. Creators of these technologies are thinking about how to improve themselves and by extension, their libraries.
For that reason, technology has been an always-evolving thing. So it makes sense libraries need to update according to the times. Some of the things we’ve updated in the last couple of years included going from Rails 4 to Rails 5, which came with a lot of changes like WebSockets — that’s how you get streaming to work. Our students implement things like Slack that need streaming services.
How is the updating connected to students’ educational needs?
As a person that comes out of a bootcamp, it’s almost expected you’re learning the up-to-date tech because you don’t come from a CS background. So there’s gotta be another selling point. That’s what App Academy excels in — the current modern-day applications of those theories. The libraries we work with that are popular in the market all stem from some of the fundamental principles of programming that eventually evolved into this new thing. You only need to know how to use it and work with it and know it extensively [and] that means being up-to-date with any updates.
Sometimes companies will use older versions of these technologies because they don’t want to update and potentially break something when it comes to their production level code but when it comes to them sitting down in an interview, [you need to know whether] you know this or not. It helps to be cutting edge when it comes to those technologies and that’s how you prove yourself in the interview room.
A lot of the day-to-day learning happens at App Academy through pair programming. Tell us about that.
Pair programming is the concept of working with another person on the same computer, sharing a keyboard and a mouse, working on the same exact text editor when it comes to editing a piece of code. Some people say ”what’s the point of that? You’re essentially halving the amount of coding potentially, if you have two people on the same computer.” But for educational purposes, it’s not about how much product you can push out, it’s more about how productively you can learn the concepts. We’re trying to get you to exercise by going through the projects.
And even if we are talking about efficiency, pair programming has been proven to be more efficient. There are different styles of programming and the reason for that is when you pair a mentor or a senior-level engineer with a junior-level one, there’s going to be a gap. And we at App Academy really want to use this gap [of knowledge] between programmers to do the following: teach the lower-level programmers techniques the higher-level engineers know that makes them efficient.
Beyond that, pairing is a very important process to help you verbalize your thoughts beyond what you’re thinking in your head. Being able to flesh out those ideas is a way of practicing what it’s going to be like in the interview room. One of the biggest problems for any engineer is the ability to verbalize the answer even though you know you have it.
What are some of the main concerns people have about pair programming?
They say: “What if I get weighed down by my partner and what if I’m not carrying enough of own weight? I’d rather do this alone.” [But] being able to work with someone else is extremely important. Because being an engineer is kind of a solitary job. Not all the time but most of the time. So if you’re the only person who can understand your code, there’s going to be a problem. Pair programming, as a student as well as an instructor, is a very important part of this educational process considering the fact we are making you drink all of our material through a firehouse. There’s just going to be too much and you’re not going to be able to take it. And programming helps you [to take it].
What is something that makes App Academy special, that is a great asset?
I’ve always been an advocate of creating a sense of community at App Academy and for some reason, without fail, every cohort creates its own sense of community. It probably has something to do with that fact that they’re in the trenches, working through, and misery loves company. But what that also does is creates a network of friends that you can call upon, future engineers you can call upon, if you need help. Every cohort, you have at a minimum 60 people you will be close friends with that know what you’re capable of. If there’s one thing we don’t market enough is the sense of community. I’d say that App Academy’s number one asset is its people.
Give us an anecdote, maybe of hardship, that illustrates the difference that tells us how important community is at App Academy.
A lot of people at App Academy go through a lot of hardship. Whether it’s financial hardship or academic hardship, being insecure, not being sure they can make it. We give lectures about how to combat those problems.
One of the things we do at App Academy is give assessments that judge whether you make it through the course. Keep in mind these assessments aren’t necessarily created to trick people. We don’t make them too hard. It’s a way to test the material to know if you’ve understood it at a minimum level up to that point. If you don’t pass those particular assessments, we can essentially kick you out of the program and that comes with its own financial implication. But these assessments are important to your future at App Academy and for that reason it makes sense a lot of people put a lot of focus on them and they create study guides [to pass]. That’s common on college campuses but what is really phenomenal is some of these study guides have been passed on for years. From one generation cohort to another, a crazy chain of passing of knowledge.
You have your own story of hardship. Tell us about how you got through the program itself before becoming a teacher here.
As the bootcamp name implies, they work you to the absolute bone. They work you harder than I’ve personally ever been worked in my entire life. It’s a full-time commitment. You’re expected to give more than 40 hours a week when it comes to learning how to program and learning that week’s material if not that day’s material.
One of the most rewarding things I learned about myself if learning that I could do it. I can’t tell you how many times I thought I could not do it and was on the verge of dropping out. That was a constant internal conversation I had with myself as I was going through the cohort. That being said, with the help of the App Academy community, I was able to push myself to get through the entirety of the program and that was one of the more rewarding feelings I’ve ever had.
App Academy has a tradition of celebrating by giving you a shirt with the logo on it once you graduate and [when I got it], it was one of the prouder moments of my life.
How can App Academy students connect to other students that have gone through, that already have great jobs?
We have internal program that connects anyone that wants to have a conversation with a graduate. The new graduates are especially receptive to meet for coffee to refer you to their company.
We have a network that is very active but that doesn’t meant it is spoon-fed to you. You definitely have to work for it as a student. That means that if you want to work at a specific company, it’s up to you to reach out to the alumni that is there. It’s easy to do through our internal programs and LinkedIn. If you put in the effort and you reach out to them that you’re willing to learn about their company and want to have an interview with that alumni, they’ll be receptive to that idea.
How does that happen on the ground? Well, let’s just put it this way: as an instructor, I’ve created plenty of bonds with students that are in the industry. It’s a regular occurrence that students will look at a job at a company and I will ask them where they are looking to interview. Then they’ll tell me and I’ll look into my network and see if I’ve taught someone that works there and connect them. It’s clear connections can be made.
What can a person with a Computer Science (CS) degree from a college offer versus a person with an App Academy education?
OK, let’s talk about what CS grads learn: the most popular languages accepted by the top tech companies, or even medium and startup companies. That’s C++, Java, Python. Those languages are useful, like algorithm and data structures, digital logic, discrete mathematics, and operating systems. These classes are the absolute fundamentals of how computing came to be and how programming came to be and how those clashed together to create the modern day computer, starting with the history of computers all the way to modern day operating systems like Mac OS, Linux, Windows and so forth. They go through every step of the way.
Bootcamp grads don’t get much of that, or the history of computers up to the most important point. Rather, you get the bleeding-edge tool in technology today. What technology is now. The textbooks [CS grads] use are not updated quickly, they’re done at a relatively slow pace and for that reason could never teach you about modern day web application frameworks, data management tools. They also can’t really teach what is being used in practice but rather give you a fundamental base.
So can an App Academy grad get a job over a CS grad?
It’s quite simple: It depends on the particular needs of that company. If the company is looking for relevant experience in specific technologies including the ones we teach here at App Academy, they’re more likely to want to reduce their training time by hiring someone who is already familiar with good practices and knows the fundamentals of programming. Why? Because a CS grad is going to learn the same fundamentals of how to code effectively, how to code expressively, to make sure the reader is be able to digest and understand exactly what you did with that piece of code. You won’t get the history of computer science or the more mathematic deep dive into computer science. Here at App Academy, you get a crash course version of that so you can understand what you’re missing and also briefly touch upon those topics so you know they’re there and are able to learn them yourself.
Tech titans like Uber, Facebook, Google, Airbnb don’t typically test you on framework or tech specific stuff but rather on the fundamentals, which is where CS grads come in with an advantage. Because they’ve studied that for 4-plus years and have a better baseline when it comes to being able to implement these particular techniques. But at App Academy, we have a crash course in what those companies will test you in those environments and if you look at our record, we do well. Our program is [set up] so students have at least the minimum baseline to be able to pass those interviews and land jobs [at those] top places.
Tell us about the programs you’ve worked on at App Academy to help students become better coders.
One I did was the 10x Club. But before I get into that, let me explain how App Academy’s main program works. It’s a 13-week program, nine of which teaches you about everything you need to know about making websites. The last four weeks are dedicated to giving you a crash course in algorithms and data structures as well as polishing all of your job search material so that by the end of the program you’re just ready to send out all your applications and be on your way to get a job. That latter part of the program is essentially a refresher course for anyone that’s been in the industry.
Not all techniques that you interact with, like algorithms and data structures, are being used as heavily as they test you in interview settings. So what 10x Club is, it’s a refresher course so that [programmers] can tackle an interview with a lot of confidence. We focus on technical skills including data structures, algorithms, and a couple of other mid-level and senior-level topics, like cryptography, security, and more.
Another huge portion of it is working on soft skills. Like how you present yourself in an interview setting, how you answer questions, how clear you are when you answer them even if you have the answer. We teach you a step-by-step formula to be able to answer these questions effectively.
You’ve also worked on the DevOps curriculum, right?
Yes. DevOps, for people who don’t know, is a relatively new field. DevOps is the team that makes sure your web application, when it goes to production, is scalable, is fault-tolerant. Meaning if your server goes down, to make sure there’s another server that will make sure it keeps the entire app running. What I mean by scalable is the idea that if your site has a million users all of a sudden from one server, that the server doesn’t blow up. Instead what it does is spread users across multiple instances of servers that are essentially copies of each other, on a concept called “load balancing.” So there’s a lot of very technical terms and concepts that go into how to make a website ready for production for the average consumer to use. That’s deep down into the extension program.
Currently the DevOps program is offered to job seekers, people that are looking for jobs in the industry that potentially want to boost their particular CV and resume with this knowledge and more than just the resume boosting, really be able to explore an aspect of programming they didn’t know existed. For people that extend their knowledge of the field. Because one of these days, especially when they’re going to interact with engineers that are dedicated to DevOps, like understanding the lingo, is an important part of being in the industry.
So that’s why we allow job seekers to take these extra programs.