My Experience at App Academy

Before I go into my review it’s necessary for me to share my background so you can understand where I am biased. I studied statistics and business in college. I, like most students graduating college at this time and in the bay area, experienced this FOMO with knowing how to code; so I started at Codecademy and eventually went to highly theoretical CS classes in college. After graduating my perspective then inverted itself as I went from student to teacher by founding an ed-tech startup Leada (YC S15) that teaches business professionals data science skills in R, Python, & SQL. 3 years later my perspective inverted itself yet again when I became a student at a coding bootcamp, App Academy.

I think my background is unique in how I worked as both a teacher and student in the coding education space, but it’s also a common story of a quantitatively minded business person getting swept up in the “learn to code wave”. My goals for attending App Academy were (1) to learn how software is built to become a better product manager / founder (2) to be able to prototype potential startup ideas faster and (3) to learn if I wanted to work in software engineering as quickly as possible. In the end I’ll say that I semi achieved 1, but the improvement of my product management capabilities did not need to come from a coding bootcamp. I did not achieve 2 at all, I learned to build the basics of what you can now create without writing any code with businesses like Strikingly, Squarespace, etc. I did achieve 3, but if there is any takeaway from this essay, it’s that you should not attend a coding bootcamp unless you are 100% sure you want to work as a front end web developer.

Details of App Academy

App Academy (a/A) breaks down into 3 parts: (1) online prep work done 1 month before the bootcamp begins which comprises of basic programming challenges and building small games in Ruby (2) an 8 week teaching curriculum and (3) a 4 week job preparation phase.

8 Week Teaching Curriculum

a/A has an extremely time intensive but effective system of readings and videos on concepts the night before, to a 120 minute lecture in the morning, to project work on the concepts you learned the night before and during the lecture. Here’s a typical day:

9AM — Lecture aka “Code Walkthrough” for 2 hours on concepts that were assigned reading/homework the night before

11AM — Pair programming project work

12:30PM — Lunch

3:45PM — 15 minute break

6PM — Classwork finishes and you have 2 to 5 hours of reading/videos/homework to do for the next day

To say this bootcamp is full time is an understatement, you are typically given anywhere between 2 to 5 hours of reading, videos, and exercises after finishing classwork at 6pm. During this 8 week period they are also extremely strict about attendance to all of the class times. There are checkins at 9am, 1:30, and 4:45 every day and a 10 strike policy is enforced. Failure to check in results in a strike and 10 strikes results in you getting kicked out of the class. There are also exams at the end of each week and failure of two of them results in dismissal. This structure was one of App Academy’s strengths because just by time spent (70 to 80 hours per week) you will see drastic improvement in anything you do.

Curriculum & Projects

a/A has created custom video lectures with length ranging from 5 minutes to 30 minutes on all of the concepts in the curriculum from recursion to cookies and authentication. There are also custom readings with examples that ranged from 1 to 3 pages long.

The daily projects were large and they gave more than what is usually possible to finish in the day. The projects were also designed in a peculiar way. Conceptually they could be quite interesting, for example one of the projects was to build a lite version of Rails ActiveRecord. When working on them though I felt like it was as if I were filling out a MadLib. The architecture of the project was largely built and our job was to fill in the gaps where they asked. Sometimes this was as simple as writing psuedo-code into actual code. I found myself quite often thinking there was a difference between coming up with my own solution and understanding the half given solution they gave me to fill in. This pedagogy seems effective if the goal is to train someone how to use a tool (or in this case a framework like Rails) but I couldn’t help but feel like it’s less effective for teaching one how to think.

The style of lecture follows a similar pedagogy, they focused on explaining the implementations of, for example, generating a migration and model in Rails rather than explaining how Rails is manipulating your database. My frustration with a/A’s teaching style was so ironic. After running Leada where the thesis of our business was the uselessness of theory in a university degree; I found myself craving more theoretical explanations of the topics a/A were covering. Then I realized my ultimate frustration wasn’t at the lack of theory, but simply was the lack of depth a/A provides on any of the topics they teach. a/A spends 1 day on a topic; 1 day on git, 1 day on J-Query, etc. and while you are learning a lot it very critically lacks any depth. The length of these coding bootcamps is an advantage because it’s a minimal time commitment (it’s just 3 months right?) but that comes at a cost you should be aware of. Your surface level understanding of the major programming concepts does not give you the foundation to succeed as a software engineer, without a major commitment to continue to learn on your own.

Pair Programming

Almost the entire curriculum is learned in pairs and as a result your learning depended a lot on how similar your level was to your pair. If your pair was more advanced than you, you learned less because you would end up focusing on simply understanding the solution being communicated to you and not be able to think of a solution on your own. If your pair was worse than you, you also learned somewhat less because you moved at a slower pace. In either case there is definite learning in being able to communicate your solutions clearly or understand a technical solution being communicated to you, so pairing is valuable, but I personally felt like pairing was done too much at the expense of the student. Pairing, they said, taught you how to communicate your code more effectively, which it definitely does, and improves your communication skills which is arguably more important than the technical skills, again agree here, but when 90% of the time is spent doing pair programming and not enough care is taken to match pairs effectively, it seems like more of an excuse to decrease the resource strain on TAs. When I asked about this to the instructors they said that “pair programming is necessary to be able to learn this much curriculum in such a short time” and to that I would say they are making me learn faster at the expense of learning well.

App Academy TAs

One of the most impressive thing about App Academy is the way in which it has built software to streamline it’s own processes. The question and answer software they developed as well as the more than adequate TA to student ratio made the TAs quite effective. Because the TAs are all former students themselves and had gone through the same curriculum they were all quite effective at answering our questions. From a service perspective they were superb in providing help whenever you needed it and quite quickly.

4 Week Jobs Curriculum

Once the teaching curriculum is complete the bootcamp transitions into interview prep focusing on coding challenges and algorithms questions, building a game in javascript, and getting your professional portfolio (resume, cover letter, personal website, etc.) in order. At this point you lose the TAs as a resource because another cohort begins and you’re mostly learning on your own or with your peers. The instructor student ratio goes from 1:5 to 1:25 and the formal education portion of a/A ends. There are weekly lectures on preparing for interviews and breaking into the industry best practices.

Job Placement

I did not personally participate in the job search with App Academy but now more than 5 months out I can share some data points of my peers. My impression is that the ones who got jobs the quickest were simply the ones with the best pedigree and/or network. For those without a degree from a well branded university the job hunt was and still is quite difficult even with companies like Triplebyte that do blind interviewing.

My Personal Conclusion of App Academy

As my own coding education journey has largely ended, I can say that I have found immense value in becoming more technical purely for the frame of mind it’s given me, but a/A’s cram and memorize teaching model is more of a business than a school. As a product, ~$18K for 8 weeks of class is quite expensive and only makes me further question the value. a/A can be quite helpful in helping students attain a front end web developer job, but since my goals were for education rather than job placement it was not worth it.