Armed with years of development experience, hundreds of CodeMentor hours, and a deep understanding of remote work, Mexico-based Jim OKelly founded online web development school Devschool in January 2015. Now having graduated several cohorts, Jim sits down with Course Report to talk about the time commitment he expects of successful graduates, keeping the curriculum updated, and how the Devschool experience remains “insanely human.”
Do you come from a dev background or do you come from an education background? When did you start teaching?
I come from a development background. I’ve been programming since I was 13. I skipped the rest of high school and university to go straight into programming at 17. At 18, I got a job at Intel and then at Microsoft. Essentially, I skipped a formal education and went straight into the job force.
Skipping ahead of 13 years in development, I was the number one Ruby on Rails mentor at Code Mentor for almost three years running, and I mentored over 300 people. It really allowed me to build my teaching style. Also, I used to be a DJ and I am a musician, so performance and interacting with an audience in an engaging way just comes to me naturally. The first Devschool cohort started in January 2015.
What were you up to between then and starting Devschool?
I was a digital nomad for almost 20 years travelling around the world, working for different clients, and companies and living where I wanted to live: Amsterdam, Paris, India and Mexico, the Caribbean.
That’s a cool example of the freedom you can create with tech skills.
If you want to not be a slave, become a programmer. You can work anywhere for anybody and you don’t just have to make your boss happy. If you’re a person stuck in a certain location, you may not have that choice.
What’s been the biggest change over the last year since starting Devschool?
From the beginning, Devschool was a 180 from the traditional bootcamp model, so I’m not sure there have been any major iterations. We don’t teach classes, we don’t have pre-canned material that students have to read or watch. Everything is hands-on, side-by-side learning.
What does a typical “Unit” or lesson look like at Devschool?
There are ~50 units, and one Unit means one private session, one group session and 10 hours of homework and hacking. Private sessions are one-on-one between me and the student; group sessions are 4 to 5 students together.
I teach people how to program by first demonstrating how to code in a proper, efficient way, using the least amount of code possible. After that, students spend 10 hours replicating that process. We repeat that process, and eventually, it’s like pushing a kid on a bike. You let go and they can ride off but at first you have to keep them upright and going in the right direction.
What is the time commitment? Are Devschool students generally quitting their jobs or working part-time?
There are 600 hours in the curriculum, divided into ~50 units. A student who does 3 sessions per week will graduate in ~3 months. That is a full-time commitment, but you can learn at home in your underwear, which is a little easier than doing 70 hours a week at an onsite bootcamp where you’re jammed with people for 70 hours a week. I don’t think that’s fun.
Students who already have a job don’t usually quit their jobs to do Devschool. They complete 1 to 2 units a week. Some only do one unit a week and it takes them about a year to graduate. Most students spend between 25 and 40 hours on Devschool per week.
Are students learning back end frameworks as well?
Why was it important to you to create a product for remote students specifically?
Remote is far more accessible. You can’t learn to be a chef online because you can’t cook online with an instructor. But programming is built around the computer and remote working is built around the computer, so it all gels together in a good workflow.
Also, the tools we teach were specifically chosen to allow us to do remote online education; we teach VIM instead of Sublime and Textmate. You won’t find novices who choose VIM, because experts tend to choose very powerful tooling where you have control over it. We also can’t jump into Sublime and edit code on a foreign server. As programmers, your job is to edit code that is going to be deployed to foreign servers. So all of our tools are built with remote in mind.
Are there plans to expand offline and start an in-person bootcamp?
I’m based in Puerto Vallarta, and the plan is to open a bootcamp here eventually. It will be at the intersection of adventure and technology education. Obviously, it’s a great way to learn to code, pay your bills and eat tacos in Mexico rather than in New York where your “closet” costs $3,000 a month. I would like to get more information from the public on this idea – comment below or tweet me @devschoolrocks.
Online bootcamps are definitely more accessible, but I also imagine that you face the issue of disengagement or demotivation more often- how do you resolve that?
It starts at the meta level. We used to offer a payment plan, but noticed that dropouts were all on the payment plan, because they were not invested enough in their education to stick through it. Losing $7000 or $8000 is a bigger deal. We still have a layaway plan, and with our appropriated refund nobody actually loses money. We look at how long you’ve been at the school based on a 6-month graduation average and prorate your refund if you decide that Devschool really is not for you.
Devschool seems to be designed around project-driven work. Are most of your students starting Devschool with an idea for a business or a project or a product?
In the early days, yes, about 50% of our first cohort were entrepreneurs. Now it’s probably 20%. We help the other 80% figure out what they want to do by first figuring out what makes them get up early in the morning and stay up late? What is it that they’re really interested in?
We had one student make a wedding app around being inclusive of same-sex marriages, and another student built an app that tracks the amount of money coming from lobbyists to different congressional members so you can see who gave your congressman money. We have a student building a farm management app for his cousin who took over the family farm to manage the harvests and the crops and the seeds, and an ex-trucker who’s building software for truckers to use as they’re driving across the country. Their past lives influence the choices they make as programmers.
Are there any other admission standards for Devschool?
We don’t accept anybody who hasn’t already talked to Bloc and Thinkful and General Assembly and the rest of the bootcamps. We want to make sure that they’ve already done their research and been disappointed at another bootcamp because then they’re much happier when they find Devschool.
The only rule is the “no asshole” rule. If you come to the interview and you seem too technically apt, too plugged in or too geeky, we typically turn you away because they’re the hard ones to work with. They’re the ones who “know everything” and they make other students’ lives miserable.
Is there a time zone requirement since students are learning online?
We hold school Central time, between 10am to 7pm CST Tuesday Tuesdays, Wednesdays, and Thursdays, and Saturdays and Sundays 12pm to 4pm CST. You can be anywhere in the world as long as you can schedule your time with your instructor during the time that we’re available.
Are students working with their peers?
It’s not forced, we instead have a “self-assembling teams” policy. If you’re not a social person and don’t want to work with other people, we don’t believe that you should make other people miserable. If you want to work with other people then that is absolutely encouraged.
We’re all connected in Slack, students talk to each other. There are channels for posting non-related work stuff and chatting about Bernie or Trump (although the latter doesn’t get represented as much). We expect people to communicate as much as they want to but they don’t have to.
What tools do you use to make the online learning experience easier?
We use Slack to communicate, and Zoom for screen sharing, audio etc. All the coding is done through the terminal to cement those skills as we work. Students record every single session so in the end they have 50 recorded personal sessions.
After the session, a student can see their next steps and homework through our Internal Tools. For example, the student building a farming app can see that he needs to add the ability to track weather every day and track precipitation. They can check these boxes if they get it done. Here, they also see notes about what we accomplished in our session. Then we set up the next appointment.
We don’t want to build software to replace the human interaction, but we have built some to facilitate keeping a history of previous learning and organization.
Tell me a little bit about job placement. When we’re talking about remote online schools, can a student really get a job afterwards?
Our statistics show the opposite problem. We can’t keep people in school all 50 sessions before they get hired.
At what point in the 50 sessions of Devschool do you start talking about job placement?
At session 40, which gives students 5 to 10 weeks to find a job. We don’t kick them out of the program at week 50, we keep on working with them until they get a job.
Are you finding that most of those jobs are remote jobs?
It’s a good mix and depends on where the student is. If a student is in San Francisco or New York, they want to get a job there because it will pay more. People who are in Akron, Ohio tend to get remote jobs because there’s not a lot of programming there.
We focus on helping students learn how to interview, where to find jobs, and how to market themselves. What does an interviewer want when they ask a question because the questions they ask are rarely straightforward. For example, at the end of an interview when they ask if you have any questions, that’s really just testing for an engagement factor.
How can junior programmers who don’t have work experience sell themselves in a job interview?
That’s a conundrum because you don’t have any skills yet. You have to convince the company that they’re investing in a person who will be there a while. They’re taking a risk on somebody without the skills so they can shape them into what the company needs. So if you go in and tell the interviewer what you want, you will not get the job. If you go in and say, “I want to learn your way of doing things and find the best way I can help the company achieve its goals” – now that’s how you get the job.
What types of jobs are you seeing students accept after Devschool?
Is there anything else you want to make sure our readers know about Devschool?
Devschool focuses on providing an insanely human experience. Yes, we’re teaching technology, but it’s the human interaction that’s important to us, not just because it makes the student more engaged but also because it prepares you better for a job. We also offer electives you don’t normally find in coding bootcamps like SEO, Logo Design, Fontography, and Consulting 101.