By Janet Chang (Alumn, Dev Bootcamp)
It has been almost three months since the end of my software development training at Dev Bootcamp, where my fellow students and I spent 15+ hours daily over a 10-week period to learn to build fully functioning prototypes of web applications like Twitter, Basecamp, Airbnb and Yelp.
All 10 female students have already landed their first jobs as software developers, with salaries to the tune of $75k-95k per year.
It’s impressive, given that students began with no prior formal experience in software development, save for a few exceptions. The typical student previously worked in a non-technical roles, learned programming during off-hours or on the job as a minor part of their role, then transitioned to learning programming full time at Dev Bootcamp.
For example, Amy Lai formerly worked at a large pharmaceutical company as a chemist, and started learning programming through MIT’s online Intro to Computer Science course.
“I tried it and I liked it. At first, I found out about Hungry Academy [the now-defunkt coding apprenticeship program hosted by LivingSocial in early 2012]. But it was past the application due date so I looked around and found out about Dev Bootcamp, and applied.”
Sarah Sorelle was a marketing consultant when she was first exposed to programming – “I was creating email newsletter campaigns with HTML and CSS. I used code from other people’s examples to put [emails] together. I started to fiddle around with it, and thought it was really fun.”
Still, her career could have taken a turn in a completely different direction.
“I was in this interview for a high dollar job, at a huge company. They were about to offer me the position, and I thought if I took that job…my life was over,” she said. It was at that point she realized she wanted to commit to becoming a software developer.
Within two months of the end of Dev Bootcamp, almost everyone had job offers, sometimes with the opportunity to consider multiple companies.
How we became software developers in 10 weeks – here are 6 tips!
1. Establish a Routine to Balance “Pair-Programming” and Solo Work
For a large part of learning at Dev Bootcamp, students worked in pairs, mirroring one of the best-practices that form the bread-and-butter of top software consulting companies that serve clients like Twitter and Groupon.
To Daniela Grossmann, a software engineer at ProofPoint, the most helpful learning strategy was “pairing” with other students because “I really had to think things through carefully before I say them to my [pairing partner].”
As a former middle school teacher, she noticed “it was helpful to be able to teach other students”. She also “loved pairing with [one of the instructors]. I would sit back, watch him, and try to mime him later, on my own”.
Because students were encouraged to pair for most of Dev Bootcamp, Daniela realized the need to take time out for herself, subsequently established a routine of pairing on the weekdays during Dev Bootcamp hours and working by herself on the weekends.
By proactively reaching out to her mentor during Dev Bootcamp, she was able to get the help she needed: “When I was pairing with other students, I felt like I was learning about small parts [of an application]. When I was stuck, [my mentor] would give me help and [let me] see the whole picture.”
Julie Mao, a software engineer at Sandbox Industries, echoes the sentiment on pairing, albeit from a different perspective. As one of the few students with traditional university computer science training and professional programming experience, she found pairing to be immensely helpful in the context of having programmed solo for most of her career.
“Even though I’ve spent a lot of my career programming solo, I find that pair programming is very rewarding [because] you can always learn something from your pair. You learn tremendously in the process of communicating your thought process out loud,” Julie said.
2. Create Your Own Optimized Learning Process
When asked about her strategy for learning a new skill during Dev Bootcamp, one student was particularly thoughtful about the learning process. She explains the importance of understanding the type of skill to be learned, then applying tactics accordingly – “It depends on the type of problem. If it’s a logic or design problem, I like talking through it with other people, or writing it out. If it’s a new framework, I like to familiarize myself with the tools I’m using, and research how the tool is used by people who know what to do with it.”
However, she recognizes there are also tactics that can be generally helpful in learning anything.
“I learn best watching people who are really good at it do it. I’m most empowered to learn when I have best practices to follow and when I can be exposed to more than just process, but also style [of] how someone does something,” she said.
This deep understanding of her own learning process influenced her work, in particular, when she took time outside of Dev Bootcamp to author a free tool for Ruby developers to incorporate foreign language translations in their applications. It has been downloaded 200+ times since its release three months ago. That subsequently laid the foundation for her acceptance into apprentice.io, an apprenticeship program hosted by thoughtbot, a leading Ruby on Rails software consultancy in San Francisco and Boston.
3. Build Passion Projects on the Side
Kyrie Kopczynski, an apprentice at CloudCity Development, a software consultancy in San Francisco, learned best when she was “generating new apps and seeing what [she] could do with it”.
Instead of thinking about programming as individual exercises in isolation that teach a single concept, “it really helps if I’m making [a real application]…I do better when I’m free to think about what I want [the app] to do.”
Fortunately, Dev Bootcamp provided such freedom in the context of group projects, with the open-ended goal of creating applications that would meet a basic set of specifications. For example, students were tasked to create an application that would notify users by email the results of any Craigslist search. While certain features were required, like the ability for the application to send emails, the implementation of such features was left to students to figure out.
When there were no group projects, Kyrie would satiate her learning needs with self-directed side projects, explaining “I learn best having a problem I want to solve and looking up Stackoverflow…and hit a lot of of roadblocks and push through by doing as much as I can, with the resources that are available.”
4. Proactively Reach Out to Others for Help
Formerly from Hawaii and now software intern at ThredUp, a startup in San Francisco, a Dev Bootcamp graduate recounts her experience trying to learn programming before Dev Bootcamp: “I was by myself, on an island. It was very frustrating to get help.”
She realized that “the Ruby community is very small, so “[she] could use Facebook or email groups to have a network to reach out to when you need help learning something new.” She has been attending every local Ruby on Rails meetup she could as soon as the full-time demands of Dev Bootcamp ended.
Looking back, she wishes she could have “moved to San Francisco earlier and plugged into the social tech scene earlier”, because “it was twice as fast to talk to someone” than to solve problems alone.
Therefore, she concludes that the “biggest benefit of Dev Bootcamp was the people, by far. Everyone’s learning and [that] makes it easier to learn, push yourself, [and provide] positive pressure. Whenever you got stuck, you would ask your friends.”
5. Solidify Learning by Giving Back to the Community
Kari Weiler, a developer at GoBalto, an award-winning clinical trials startup, had attended Railsbridge – an introductory programming workshop series for women – as part of her earlier exposures to programming with the Ruby on Rails framework.
She enjoyed it so much that, once she learned enough about Rails development at Dev Bootcamp, she has returned twice as a volunteer to teach the very same things that were impressed upon her merely months prior, saying “It helps me retain information that I learn when I have to explain it to someone else. And it’s nice to be helping others learn.”
6. Know Your Worth and Negotiate Salary
Of the women who negotiated their salaries, the result was varied, but fruitful: up to a 60% increase in salary. It’s important to be persistent in negotiations, even when unsuccessful at first. One student tried to negotiate on two job offers she received. This did not result in higher salary, but “the main upside, in my view, was gaining salary negotiation experience.”
Recommended Resources for Finding Mentorship and Learning
Events in the San Francisco Bay Area:
Top Books for Beginners:
- Head First HTML and CSS, by Elisabeth Robson and Eric Freeman
- Learn to Program, by Chris Pine
- Learn Web Development with Ruby on Rails, by Michael Hartl
Tutorials for Readers:
Tutorials for Video/Visual Learners:
Branching out from its San Franciscan roots, Dev Bootcamp will launch Chicago-based cohorts starting April 22. Although the first class consists of only two women out of 18 students, the goal is to reach a 1:1 gender ratio with at least one cohort this year.
Dev Bootcamp Chicago plans to achieve this through a scholarship program for women and minorities, and progress is promising. Recently, they managed to attract a 60% female attendance rate at their “Day of Dev Bootcamp” workshop, wherein 18 women attended the 30-person event.
Dev Bootcamp cohorts in both San Francisco and Chicago locations are booking up quickly, we hope, with many women.
Photo credits: Dev Bootcamp.
Women 2.0 readers: Do you want to learn to code? What resources have you found most helpful? Let us know in the comments!
About the guest blogger: Janet Chang is an alumna of Dev Bootcamp, and software consultant for early-stage health startups in the San Francisco Bay Area. She is on a mission to use accelerated learning techniques to construct a blueprint for becoming world class in software development in one year, which she writes about on her blog. Follow her on Twitter at @JanetLChang.