Turing Retrospective

My Experience at the Turing School of Software Design

At the end of June 2016 I enrolled in the Turing School of Software Design. My goal was to pivot from the world of k-12 education, which had been my career for the past 11 years, into the world of technology, which has been my passion for just as long. When contemplating this move, I found the information I had about Turing and some of its main competitors deficient compared to the gravity of the decision. My intention with the past few posts on this site has been to help others in my position reach their own conclusions about whether or not Turing is right for them. In this final post in the series, I want to share my thoughts on the program and some things to consider in your own decision making process.

Rigor

The first thing to know about Turing is that it is rigorous. It is not uncommon to hear students at Turing to say that the program is the hardest thing they have ever done. While I don't feel that way (I taught middle school and I am the father of twins), I think the sentiment is basically correct. I worked about 60 hours a week at minimum for the entire 7 month duration of the program. I completed about a dozen major projects in that time. Some of the most challenging and rewarding projects included my personal project from the third module, which was a text message translation service for educators, a Rails API that made business intelligence queries against a large e-commerce data set, and most recently, the identity management platform and OAuth provider for Turing's internal application suite.

In addition to projects, Turing students complete two assessments each module for a total of eight on demand coding challenges over the course of the program. The challenges get progressively harder to the point where the final four assessments were accompanied by significant anxiety for me. The final at Turing for my cohort (and Turing is constantly iterating) was to build a Rails API backend for CRUDing (creating, reading, updating, and destroying) weblinks.  We then had to build a single page application in JavaScript that allows a logged in user to submit, update, view, filter, and search links without refreshing the page. Links can be marked as read or unread by a user. Next we had to build a second Rails application that counted and displayed the number of times each link was read in the first application. To make it extra spicy, when a link in the first application was in the top ten most read links according to the secondary app, it needed to get a "Hot Reads" badge in the primary app. If it was the most frequently read link, it needed to get a "Top Reads" badge. It took me about 12 hours of straight coding to finish.

All this is to say that Turing demands a lot from its students and not surprisingly, not everyone makes the cut. It's not uncommon to have to repeat a module based on one's aggregate performance across projects and assessments. Turing does a fantastic job destigmatizing this possibility and communicating feedback in such a way that repeaters rarely feel surprised.

In thinking about standards, schools can choose to either keep standards consistent for all students and the time for reaching those standards variable, or they can make the standards variable and the time consistent. Turing clearly falls in the former category, but it is worth pointing out that not all bootcamps operate this way. My understanding is that there are other programs that keep the length of study constant for all students, but graduates leave with vastly different technical proficiencies.

The question remains, can anyone learn to code? As an educator, I'm deeply committed to the idea of malleable intelligence and therefore I think anyone can learn to code. However, I do not think everyone should learn to code. For some people, the time required to get to the point of having a professionally viable technical skillset is just not worth the payoff. Any applicant needs to carefully weigh their own personal technical knowledge against the time they are willing to commit to the program. For me, I had a fairly significant technical background that I was looking to professionalize. I also had considerable obligations to my family, which capped the total number of hours I could commit to learning each week. Technical naivete can be overcome with additional hours of study, but just be prepared for the fact that everyone needs to put in a lot to achieve success at Turing.

Culture

In the new and unregulated bootcamp marketplace there is always the fear of hucksterism and promises that are too good to be true. Turing is a non profit organization, which in practice means that it is able to prioritize the maximization of instructional quality instead of profit. This works in students favor for obvious reasons. It means Turing can be choosy when it comes to hiring instructors, because expansion is a secondary priority after quality and not vice versa. I know of three candidates who performed demonstration lessons, but did not move on to become instructors during my time at Turing.

The next important piece of Turing's culture is its mission which is to increase access to high fulfillment technical careers to traditionally under-represented groups. This has a political connotation, which suited me just fine, but definitely skews left of center particularly on issues of social justice and equality. If being around people who value diverse sets of experiences and understand the historical context of prejudice and discrimination in the United States and the tech world sounds terrible, it may be worth finding a program with a less explicit social justice mission.

Turing’s mission is to unlock human potential by training a diverse, inclusive student body to succeed in high-fulfillment technical careers.

When an organization has a strong culture, it is often the result of a concerted effort of highly competent individuals. Turing's people, both staff, students, and alumni, are its most important asset.

Jeff Casimir, the founder of Turing, is the real deal. He has a vision and he is able to mobilize support for its execution. He is committed to social justice and a major voice in the realm of bootcamp transparency and the dangers of for-profit education in this country. He is well connected in the tech scene having started two other bootcamp programs prior to opening Turing. He is fond of saying about his own decision making style that, and I'm paraphrasing here, 'When we have data, we'll use that, when we have opinions, we'll use mine.' While that can be offputting to some, more often than not his opinion is right and not just with regards to the technical. For example, controversially he moved the graduation goalpost ahead just as my cohort was on the cusp of finishing our studies. While that decision delayed my graduation for one day, the work I completed in that time was important and I'm happy he made me do it. 

When we have data, we’ll use that, when we have opinions, we’ll use mine.
— Jeff Casimir

Jeff is also a rockstar teacher. His roots are in Teach for America. He is charismatic, funny, and extremely knowledgeable - having been involved in the technology world for something like twenty years at this point. Every once in awhile, Jeff delights his students with a big ideas lecture. These are some of the most fascinating talks I've ever seen. Highlights include how the internet works and how computers work. If it is not absolutely obvious at this point, Jeff is a heavyweight positive factor that should be considered in anyone's evaluation of Turing against other possible programs.

On top of Jeff, the entire instructional team and staff overall is clearly very invested in student outcomes. 

Areas for Improvement

In thinking about how to improve the overall Turing experience, and to be clear we are talking about improving an excellent program, I would focus on increasing the degree to which the curriculum is personalized for students. Turing takes a one size fits all instructional approach in many cases. Students experience mostly the same classes and work on the same projects. A few notable exceptions to this generalization are the first few weeks of Module 1, students self select into two tracks which go at different paces and reconverge midway through the module. Also, several projects involve a significant amount of choice so they end up looking different from student to student.

I would like to see different methods for achieving proficiency baked into the standard curriculum. For example, students can opt into traditional lectures or instead watch pre-recorded video content and complete a tutorial. Most importantly I would have liked more project-based learning with accompanying small group check ins along the way. For me, I found that I learned best by doing and checking in with an instructor after having struggled significantly. I also gained a lot from the feedback that came in one on one sessions during project and assessment evaluations.

The Real Measure

The real measure for Turing is its job placement rate. With the growing ubiquity of coding bootcamps around the country and in the greater Denver area in particular, the market is becoming saturated with folks looking for junior developer jobs. This was not the case when Turing first opened its doors. For Turing students, part of the challenge is differentiating ourselves from other, less rigorous bootcamps and overcoming the stigma in the industry that bootcamp grads contend with. The fact is that very few graduates finish Turing and are handed jobs with 80k salaries. But, almost all graduates walk away with the skills that allow them to make a compelling case for high fullfillment technical careers.