Buck Shlegeris is a teaching assistant at App Academy in San Francisco, who is earning to give. We discussed whether it is feasible for 80,000 Hours members to switch into a career in programming using a coding bootcamp like App Academy. We spoke to Buck because we knew him and he’s involved in the effective altruism community. Here are our notes from that conversation.
Summary of main points:
People can enter training at App Academy from an unrelated background such as philosophy or other humanities with a few weeks of preparation.
The application includes some programming challenges and takes around an hour. However, it takes around 10-20 hours to learn enough programming to reach the interview stage.
The course requires 60+ hours of work per week for 12 weeks.
90% of App Academy students make it to graduation. By asking for help if you are failing to progress, you can probably further reduce the chance of dropping out.
Over 95% of App Academy graduates seeking employment as programmers attain it.
The average income of graduates is $100k in San Francisco’s Bay Area, with 90% securing an income from $80-120k. In New York City, the average income is $84k.
The cost of attending App Academy is 18% deducted from your first year’s salary.
For many individuals, App Academy can quickly and cheaply train students for likely lucrative employment. However, we note that getting a working visa in the USA usually requires a 4 year degree or 12 years of relevant experience. As a result, most aspiring programmers who live outside of the USA cannot immediately move to the USA to work.
Why did you move from your undergraduate degree to App Academy?
I was initially studying a five year double degree in science and computer science at the Australian National University in Canberra. At the end of my second year, for my summer holiday, I decided to study at App Academy. This was initially recommended by a friend. Although I was a little sceptical that App Academy would get me a programming job, I noted that their business model meant that App Academy was taking on all of that risk. Instead of paying a tuition fee, App Academy allows you to have 18% withheld from your first year’s salary – and almost all students at App Academy take this option.
It’s a university summer. If it turns out to be a scam, I will be annoyed, lose a $3,000 deposit, move back to Australia, go back to university and everything will be fine. If it was a completely obvious waste of my time, I could just leave early. So it just seemed like a very low risk proposition. As I was doing it, I became convinced that it was a very legitimate program and I was learning a lot of stuff and I met lots of people who had done it before and now had high paying jobs.
Was it better to go to App Academy rather than use your holiday to do a coding project independently?
I suspected that App Academy would teach me far more effectively. It’s intensive. And I know very few people who can self-teach or do a project as effectively as the 60+ hours of week I was doing here in an intensely regimented way with the teaching assistants around. Without someone who knows the material really well, you waste so much time not being able to figure things out. When you’re working in pairs so you can’t slack off and then there’s someone to help you if you get stuck, that just massively increases how much you get done. So it was a very, very effective way of learning – for me less than most, because I already knew a lot of programming and so a lot of it was only learning the specific technologies instead of learning the basics of how to code but I still found it an intensely useful experience.
How did you get to teach at App Academy?
I was offered a job at App Academy two weeks before I graduated there.
Studying at App Academy
What is a typical App Academy Cohort like?
There are 30-40 people in each cohort, typically aged in their 20s, of average age around 25 with a gender split similar to a regular computer science degree. There is more than one LessWrong reader on average per cohort.
What kind of background do you need to get in? Can you get in with a humanities degree, like philosophy or classics?
People with a degree in philosophy should come here. Actually, it’s not just the humanities, a lot of people come from an undergraduate science degree as well. People who have recently finished undergraduate degrees with poor employment prospects are our main market and make up most of our students. Lots of the other students don’t have an excellent job and are using App Academy to transition into a job that they’re more interested in. To enter App Academy, you need to answer some programming questions.
Let’s make this concrete. I’ve actually dabbled in programming. I’ve read Learn Python the Hard Way, and my background in programming is doing pivot tables in excel and programming my TI calculator in high school, how much more work would I have to do to get in?
People’s background doesn’t correlate that reliably with how good someone is at programming. When you initially apply to App Academy, we send you some preparatory work with questions that are roughly equivalent to the ones that we’ll ask you. If you’re not sure, I strongly recommend that you just do that. 5-10% of applicants are accepted.
On a related note, people often ask me if they’re too far ahead or too far behind in programming ability for App Academy to be useful. In my view, if you can get in, you’re not too bad for the program. If you have a computer science degree, it may not be useful. For a lot of people, I would consider looking for jobs in the Bay Area [of San Francisco] before doing App Academy just to see if they can do it, because if they succeed, they save a lot of money. But even for them, it’s tricky – there are not many people who I think are too good for it. I’m happy to be contacted by any 80,000 Hours members who are not sure whether they are at an appropriate level to enter App Academy (note: Buck can be contacted at bshlegeris at gmail.com).
Do you think some people are just more analytically competent and that makes them more capable of becoming a good programmer? Is it reasonable that you could have a psychometric test for programming?
Yes. However, if you’re considering App Academy but you think maybe your personality is bad for it, I think it would be far wiser to just apply. That only costs 10-20 hours of your time to learn enough programming to get to the interview. And if you don’t have the right personality, you just won’t get it. It’s not like you hit a brick wall after you’ve been learning for a month. And there are people here with very artsy backgrounds who don’t seem analytic at all and they do fine.
Would you have considered doing a coding bootcamp elsewhere?
The coder bootcamps in Australia are newer and programmer salaries are lower there. App Academy SF is the best bootcamp and Iwould advise going here. Some reasons that it’s the best are:
1) You don’t have to have money to get in, so we have a larger pool of applicants to choose from.
2) App Academy is one of the first training bootcamps, now a year old, with a strong reputation.
3) Because of the funding model, a lot of the students are talented, bright and desperate to succeed but lacking in funds.
4) The founder of App Academy is very focussed on actually getting people jobs.
What are alternative ways of getting into programming – do you teach yourself? Do you get a computer science degree?
When App Academy graduates find a job, what kind of jobs do they get?
Who doesn’t end up getting a good job and why?
In my round, in a cohort of 30-something students, about 6 students who wanted a job are still job-hunting two months after graduating. The round before that, all students who wanted a job got one.
How many students don’t want jobs?
There were about 3-5 students who didn’t want jobs last cohort and instead paid App Academy for their education because they got married or were sufficiently financially secure that they did not need to take on a programming job.
What makes it easier to get a job?
Having a degree. So it would be more difficult for me for example. However, it seems like mostly luck. The people who don’t yet have jobs are quite good. Some of the people who don’t have jobs did other things after graduating, like travelling for a few months.
And what about long-term job prospects after App Academy?
We don’t know because there is only one year of data. After you’ve been in the workforce for five years, it’s unlikely that a degree provides very much information to employers.
Apart from getting a qualification, what do you need to get a good first job as a programmer?
A university degree will help you to get a visa. For your employer to give you a visa, you should have a university degree. (note: in order to get a visa to work in the USA, it is usually necessary to have an undergraduate degree relevant to this work. Buck’s situation was unusual in that he already has dual citizenship for the US and Australia. Normally, to get an H-1b visa, you need to have a completed degree, ideally a four-year degree, or have 12 years of relevant work experience.)
You can, but they’re mostly not the jobs that you want, for example, with a computer science degree, you can work as a database engineer somewhere for less money. It’s easy to move slightly across the industry when getting a job: lots of App Academy grads work in Python or Angular.js. Maybe App Academy graduates can’t get an iOS job although that’s not well taught in computer science at college anyway. You’re not going to get a C++ job from App Academy but it’s not that desirable to get a C++ job anyway. It’s a less dynamic and interesting professional environment and there’s less upside to it.
Buck’s career plans
From a career point of view, what are you likely to do next?
I have a range of options:
1) Doing a software job in the Bay Area,
2) Doing a software job in Canberra,
3) Studying at Zipfian Academy, which is the App Academy of data science, which I mostly want to do because learning data science sounds awesome, or
4) Finishing my university degree. If I do this, in order to finish more quickly I will drop the computer science part of my double degree and graduate with a science degree.
It might also be possible to combine 2 and 4.
In terms of kinds of software jobs, my preference is to backend functional programming, preferably remotely, and preferably for a smaller startup in order to take on equity. I’ve applied to about 20 places and already have some interviews. The equity is because I’m more risk-seeking than most people. My immediate thought is that everyone else has a reason to prefer salary to equity because it’s right now and sure, whereas I don’t care about those things, which makes me think that equity is going to be undervalued.
In the long run, it would be good to create a startup. To start a startup, I don’t think I’m desperately lacking in any programming skills, or at least I can learn any that I need.