Although John Shiver had a stable job as an underwriting lawyer, he turned to Code Fellows when he was ready for a career change. We talk to John about his initial skepticism of a bootcamp education, instructor Cris Ewing's teaching style, and how he landed a job as a Python Developer at OfferUp!
What were you doing before you started with Code Fellows?
I was working as an underwriting lawyer. I majored in biology, and then I went to law school.
That’s a pretty stable job. What made you want to switch careers?
Well, it is definitely a stable job and overall it wasn’t a bad experience, but it didn’t allow for the kind of freedom I needed. In that industry there can be a very defined career path and you get pigeonholed pretty quickly. The day-to-day work rarely changed. I spent a lot of my free time on programming and, after some time, realized it was a better fit.
Did you have a technical background at all?
I was programming just for fun initially. Last October, I found an online Intro to Computer Science course run by MIT. It used Python and although it was challenging, I enjoyed every minute of it. After I took that course, I started researching bootcamps.
How did you find out about Code Fellows? Were you in Seattle?
I was actually living in Philly at the time. I found out about bootcamps on Hacker News, generally speaking.
To be frank, it all sounded like bullshit initially. I was skeptical of moving across the country and paying all this money. So the guarantee made me feel more comfortable. I also contacted a few Code Fellows alumni and everyone only had great things to say, so I was convinced.
Did you end up applying to any other bootcamps or just Code Fellows?
I think I just applied to Code Fellows, actually.
What was the application process like for you?
I had a three-part interview. At the initial one I answered a bunch of essays, to see if I could answer these basic things in an interesting way. One of the questions was something like, ‘To you, what is the coolest thing in the world?’ or ‘How would you build an elevator?’ and those sort of open ended questions.
I didn’t have a formal technical interview. I had a phone interview then I had a video interview with the CEO and one of the other folks there.
What was your cohort like? Did you feel it was diverse and people were on the same level and able to learn together?
I think we had 16 students in that course, which is apparently big for Python. A lot of the students actually had a computer science background and were looking for a change. I know one of the students had a master’s degree. Another had worked at Microsoft for a while as a project manager, though not as a coder.
I probably was one of the least experienced students there, but I didn’t feel like it ever limited my ability to work with other students or learn the material. Most of the assignments we had were in pairs. I always felt like I could contribute equally.
Who were your instructors?
Our instructor’s name is Cris Ewing. We had two TAs. They were former students; now they have jobs.
Were those TA’s helpful to you?
Oh yeah, totally; Cris only has so much bandwidth. I guess my favorite part about the class was that Cris was there as long as I was every day—10 or 12 hours. You’re not going to sit there banging your head over something stupid. You want to progress and get your assignments done every day; and the TAs and Cris would make sure that happened, but they didn’t just hand-feed it to you. Even with their help, you had to work very hard to finish every assignment.
What was Cris’s teaching style like?
We had lectures in the morning for about two hours, and then we would do whiteboard exercises in groups of four and work through technical interview questions. One person would write code while the others would comment or make suggestions. Cris would go around and tell us if we were on the right track, and if we got the answer too quickly, he would modify the problem to make it harder.
In the afternoons we would have projects, all of which were assigned. The four-week course was really two four-week courses and at the end of every four-week segment, you had a full week to work on a larger, self-directed project with a group of three or four.
Can you tell us about one of the projects that you did?
Sure. My project was called Rhetorical. I actually worked on this project for both project weeks; we just made it better and added more features the second time. It was basically a website that mined Twitter data, analyzed it, and visualized the results in real time. We found that using the free Twitter stream, if you narrowed your search scope enough, you could get every tweet for a specific area, not just a subset. So we monitored various programming languages to discern how popular they were on twitter.
Were you satisfied with the curriculum and the actual material you all were taught?
That’s a good question, especially since Python is used for so many things and has a really broad, diverse community. We covered a number of areas, a lot of breadth, not too much depth, which was great but at the end of the course, you really needed to choose something in order to be more marketable to employers.
We learned two web frameworks (Flask and then Django), some machine learning, and the material essentially covered an introduction to algorithms course, which is really important for technical interviews.
Overall I thought it was a really good course. It will consume your life for eight weeks but you will learn an incredible amount.
What are you up to today? Where are you working, what have you been doing?
I am a Junior Software Developer at OfferUp.com which is primarily an iOS / Android app that makes buying and selling your stuff online simple and safe. Think Craigslist meets Pinterest. I do the back-end work, and we primarily use Python with Django as our framework.
How did you get the job?
The project manager from Microsoft, who I mentioned before, worked with me on the Rhetorical project; we were partners for a bit. He was hired at OfferUp a month after we graduated, and he put in a good word for me when I applied.
Did you feel like you were able to get through a technical interview once you were done with Code Fellows? How did the interview go?
At OfferUp they didn’t do a typical interview. Rather than white boarding for a few hours, they assigned a tech project that you demoed to the engineering team, after which you had a number of one-on-one interviews. That said, the tools I learned at Code Fellows were 100% responsible for me succeeding.
When did you get that job?
I signed the contract on October 22.
What were you doing between graduating and accepting that job offer?
First, I had just moved to Seattle so I didn’t have a network at all, so I was going to a lot of meetup events and hackathons. I also worked on my portfolio. I figured Django was the most marketable skill to have, so I tried to expand my Django skillset and made a few apps.
Is there anything else that you wanted to add about Code Fellows or even advice for future students?
My advice for people is to be super proactive about everything. You can’t just let it come to you. I think the problems I’ve seen with other graduates, and not just Code Fellows but other people I’ve met, is a lack of understanding for what technical skills are most likely to get you a job, especially if you come from a non-CS background.
The reason why Code Fellows exists, or the way I saw it anyways, is because there’s a gap between computer science graduates and what the market needs. From what I could tell, one of those unmet needs is junior engineers who are very familiar with one of the major backend frameworks, like Django or Rails. A lot of people didn’t understand that mastering Django or one of the other major web frameworks and understanding the architecture of a web app is one of the most marketable skills you can have.