Coding Bootcamps, Teaching and Learning January 27, 2016 jess 10 comments

Two Year Retrospective on Dev Bootcamp

Today, January 27th 2016, marks my two year anniversary of starting Dev Bootcamp. In DBC time, I’m officially ancient. They turn out new graduates every three weeks, so the program has seen many iterations since I graduated. The program, the staff, and the culture have shifted significantly since I attended.

Dev Bootcamp was one of the most valuable (if stressful) experiences of my life. I wanted to take some time today to reflect on that experience and check in with how DBC has changed.

What went well?

Friendships and Professional Networks

I don’t talk to most of the people I graduated with, but the people I do talk to are good friends. If your friendship can survive 100 hours a week together for a couple months, it can survive anything.

DBC also has a strong alumni network. It was small when I graduated, but DBC turns out new grads so often that we’re everywhere now. There is an alumni presence in most major US cities. A thriving Slack community helps connect grads by city or the language we work in. The network’s culture focuses on providing support and professional development opportunities. Keeping up with the connections that I made while at DBC led me to become involved with Chicago PyLadies.

This network is one of the most valuable things about DBC as opposed to self-teaching. You can, of course, build a network over time by going to user groups and participating in open source projects. But DBC fast-tracks that process in a way that’s like a college alumni network. The network itself is young, so it’s hard to measure its impact. So far, it’s been an amazing resource.

My Dev Bootcamp final project group. I'm the short, unhappy looking one.
My Dev Bootcamp final project group.

Learning in a bootcamp vs learning on the job

The whole idea of DBC is to take you from zero (or close to it) to junior-level job ready in 9 weeks. It’s a lofty goal, but they’ve been pretty successful. The pace of material and the hands-off-but-open-to-questions pedagogical style translates well to a junior level job.

The catch is you have to find a team that understands that you’re starting out at a very beginner level. They need to be willing to work with you on that. I got lucky in the team I ended up with, and it’s been great. I also know DBC grads who took jobs with teams that were unwilling to work on building essential skills. That didn’t work out so well for them. Overall I think DBC does a good job of getting you ready for apprenticeships or beginner level jobs. They give you the tools to teach yourself so that you can get past the apprenticeship stage quickly.

Mandatory Yoga

I wish my current job had some sort of wellness program. I miss mandatory yoga. It’s so easy to let physical health fall by the wayside when you sit for 8 hours a day at least. Physical activity and mindfulness as part of the curriculum is one of the best things about DBC. It’s something that more tech spaces should strive for.

Dev Bootcamp is not school

DBC is more of an apprenticeship than an academic program. There aren’t many lectures. If you don’t understand something, you can’t talk yourself into a higher grade. There are no grades. Just like in life, you will not receive help or support if you don’t ask for it. Because students are accountable only to themselves, I think student buy-in tends to be higher than at a college.

This approach worked well for me. I was a total slacker in school. I waged a one woman war against homework for 15 years. In school I never felt like I had ownership over my learning process. As a consequence, I didn’t try as hard. I was more motivated to succeed by DBC’s structure than I ever was by traditional education.

Pair programming

Pair programming is an integral part of the DBC curriculum and culture. This is a great way to work when you’re just starting out. I think it helped me build confidence, focus, and communication skills early on. Pair programming is a great way to accelerate early learning.

However, I’m glad I don’t do this in my day-to-day work. It worked wonders helping create an intense, collaborative atmosphere in the program. I think that working so closely in tandem with others on a long term basis would be unsustainable for me.

What didn’t go so well?

Emotional Toll

I hesitate to call this “bad,” but DBC was one of the most emotionally draining things I’ve ever done.

First, you spend 10-12 hours a day, 6-7 days a week with a pack of complete strangers for 10 weeks. It’s exhausting. By the end of it, you even hate the people you consider friends. Most office settings and social gatherings favor extroverts. Like everything else, DBC turns the intensity on this up to 11. I would say that DBC punishes introverted behavior. As an introvert in the program you either get good at mimicking outgoing behavior or you have a bad time.

Second, DBC prides itself on a series of lectures on Engineering Empathy(EE). These lectures cover a wide array of topics including sexism, tech’s prevalence of mental health issues, impostor syndrome, giving and receiving feedback, and emotional vulnerability in the workplace. I thought these lectures were valuable. They helped my cohort connect in ways that we otherwise wouldn’t have. But the toll these lectures took ranged from uncomfortable to harrowing. EE was a particularly difficult part of an already socially and emotionally stressful program.

Infrastructure

DBC lacks the infrastructure to deal with interpersonal conflict. This became an issue for me and some friends when there was no way to deal with sexist behavior from other students. DBC doesn’t offer grades, certificates, or compensation. There’s no way to create disincentives the way that a school or company would. Here are some examples of unsolvable problems that actually happened in my cohort:

  • Male students refusing to listen to code reviews and advice from female staff.
  • The token woman in a group project only being allowed to work on the CSS, even if that’s not her specialty.
  • A group ripping out a woman’s code contributions and replacing it with something almost identical.
  • Men in a group project refusing to tell the project leader what they’re working on if the leader is a woman.
  • When addressing any of the above problems, men saying they’re not going to “play Doctor Phil with you.”
  • Men sitting women down and explaining, at length, that they didn’t apply to the same jobs as the women just to hurt their feelings.

The only thing that DBC can offer in any of these situations is a shrug, a sympathetic smile, and a therapist. The staff cares about these problems, but, due to the nature of the program, there is no solid way to combat them.

DBC also lacks the infrastructure to deal with students who aren’t neurotypical. My cohort had someone on the spectrum and the program was ill equipped to deal with this student’s learning needs. This student would sometimes decide in the middle of the day that it was time for a nap in the closet. Or that talking out loud was too much and that they would only communicate by HipChat for the remainder of the day. Students and staff alike were at a loss for how to deal with this. As a student it was difficult to find the balance between being accommodating and feeling that this behavior harmed my own learning. I’m sure the staff felt the same.

What’s changed?

Logo

This is a silly quibble, but the logo was way cooler back in the day. The boot logo was retired because parts of the organization thought it was too severe and would deter applicants. I don’t quite understand that. It’s supposed to be a bootcamp; it’s not supposed to be easy.

The old logo was badass. It had personality. It reminds me of my favorite pair of Doc Martens.
dbcold

The new logo looks like an intro-to-design student was listening to Hoobastank the night before and came up with an ‘awesome’ yet familiar looking idea that they can’t quite figure out where they’ve seen before.

dbcnew  hoobastanklogo

Emotional Toll

There are now more EE sessions. They cover a broader range of topics. I appreciate this expansion. However, they’re not soul-crushing anymore. I have mixed feelings about this. EE changed because the intensity of those lectures was reportedly doing real damage to students. I sometimes wonder, though, if students are confusing feeling uncomfortable with real harm.

DBC was a draining experience. It makes sense that the organization is adjusting based on feedback to that effect. I don’t know if I like the result. Having my mettle tested by the program helped me build coping skills and made me learn when to ask for help. I think that DBC softening its stance might be taking away a learning opportunity here.

It’s also possible that I’m just a curmudgeon who thinks that all students should have to suffer in the same ways I did. Who’s to say?

Unit tests

Unit testing wasn’t covered until the last 3 weeks of the program when I was there. Before they introduced us to proper unit tests, we wrote print statements to test the code. Now they teach unit tests from day one. Hooray!

Javascript Frameworks

They now cover Backbone in the last 3 weeks of the program. I’m glad to see they started doing this. The program deemphasized front end work when I went through. I only learned basic vanilla JavaScript. It’s good to see more attention paid to modern front end development.

On the other hand, it seems like a lot to cram in to Phase 3. Phase 2, the middle three weeks of the program, are devoted to creating Sinatra apps. The program introduces Rails in Phase 3. The actual learning time in Phase 3 is only about a week and a half long. The second half of the phase is devoted to final projects. I wonder if it’s worth it to introduce Backbone if they’re not able to spend more than 1-1.5 days on it. I would love to hear from some recent graduates whether the new material paid off for them.

Individual advisors

Until recently DBC used to assign one mentor/advisor to each cohort of 15-23 people. This worked out for the students, but it spread the advisors thin. Now staff members are responsible for mentoring 9-10 students across different cohorts. This is an amazing change for faculty work/life balance and retention. I’m so glad to see DBC taking care of its staff.

Less drinking

There was a lot of drinking when I was at DBC. We didn’t actually drink in the space, but students and staff partied often. Dangerously often. Looking back, I’m uncomfortable with how much I drank and how I relied on alcohol to do the heavy lifting of overcoming my social anxiety.

Some social activities still include alcohol and take place at bars (this is Chicago). However, DBC seems to be working to include non-drinkers in social and networking activities. While I and most of my DBC connections aren’t teetotalers, I recognize that it’s important to be inclusive to non-drinkers. I applaud the effort DBC has made in this area.

Uncategorized Final Thoughts

On learning Ruby then working in Python

When I first got an interview at a Python shop I was pretty intimidated. I’d just finished DBC and was only starting to feel like I had a handle on working in Ruby. The instructors insisted that the DBC process is about learning to learn, not about Ruby specifics, but it felt like a big step.

Taking a job in Python was not a big deal at all. The learning pace that DBC set helped me adjust to learning on the job. Finding a team that would invest in me was much more important than the language. When I first started I mostly wrote unit tests and asked questions. Working with a team that gave me the space to do that was the most important part of finding the right first job.

Market saturation?

I’m glad I went through the program two years ago when there weren’t as many grads. The alumni network wasn’t as developed, but it was a better market for bootcamp students. I wonder how long they can churn out grads before the Chicago market can’t take any more DBC caliber juniors.

I don’t have any data to back this worry up. But I’ve heard anecdotally from the alumni network and staff that recent grads seem to be taking longer to find jobs. When I graduated the expectation was that you could find a job in three months. The new expectation seems to be that you will find a job in six months. There are still jobs for bootcamp grads, and hiring comes and goes in waves. But market saturation of bootcamp students is something I wonder about. DBC is going to have to address this sooner or later.

Who should apply to Dev Bootcamp?

I’ve seen a few people go straight from either high school or college into DBC. I would not recommend this. If you’ve just graduated and you think a coding bootcamp is for you, get a job first. Any job. Try McDonalds. Do this for at least six months while you teach yourself some coding basics on the side. There are a few reasons for this.

  1. Traditional education does not teach you to feel real ownership over your work. After you get a grade you’re free to wash your hands of what you just learned. Grades and transcripts provide an external pressure and validation that doesn’t exist at DBC. I can’t stress enough that Dev Bootcamp is not school. You’re not setting yourself up for success if you jump in without real world experience first.
  2. You need to do some self-learning before hand to make sure coding is something you even like. Otherwise you might just be taking on debt for the privilege of doing something you dislike.
  3. If you can’t learn some basics on your own, you’re going to have a bad time during the program.
  4. If you don’t make the time to learn to code while you’re working on other things, you don’t want it enough.
  5. Most of us make software for people out in the wild, not just other developers. Having experience that doesn’t revolve around software and academia makes you a better developer.

Another thing you should think about before applying is your general learning style. I think of learners in two categories: curious learners and completionist learners. Curious learners figure out exactly how much they need to know to execute on an idea and fill in gaps as they go. Completionist learners feel they need to know everything before testing out their ideas. DBC works well for curious learners. Completionist learners either learn to let go or struggle through the entire program.

If you’re thinking of applying to a coding bootcamp here’s what I recommend.

  • Figure out your learning style
  • Think about your previous work and school experience
  • Read multiple write-ups about the bootcamp you’re applying to
  • Examine whether what you read about that bootcamp sounds like a productive experience. This style of learning is not for everyone.
  • Be able to solve FizzBuzz in under 10 minutes before you apply
  • Know how to save and run a Ruby or Python file locally before you apply
  • Know how to open a REPL locally and play around in it before you apply
  • Try to figure out how to install external packages through Ruby gems or pip installs before you apply

If you still think you might want to attend a bootcamp after completing these steps then you should go for it!

Email me or let me know in the comments if you still have questions or if your bootcamp experience differed from mine. I’m always excited to hear from other grads!