Category Archives: Learning

[Published in Women 2.0] The Rising Femme Elite of Tech: How My Classmates and I Became Software Developers in 10 Weeks

By | Learning, Programming | No Comments

My article was published on the Women 2.0 blog last week, here.

Learn about the 6 uncommon things the women at Dev Bootcamp learned in the process of going from no formal programming experience to finding jobs as software developers at top companies in 10 weeks.

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, 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:

  • San Francisco Ruby on Rails Meetup
  • Silicon Valley Ruby on Rails Meetup
  • SuperHappyDevHouse

Workshops for Beginners:

  • Railsbridge
  • CodeEd
  • GirlDevelopIT

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:

  • CodeYear

Tutorials for Video/Visual Learners:

  • Treehouse
  • CodeSchool

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 Credit: Dev Bootcamp

Beyond Beginner’s Luck: The Beginner Mind Advantage

By | Learning, Mindset, Programming | No Comments

Ah, it’s that time again. In 1 day, I start again as a beginner. This time, it’s in an attempt to learn Ruby on Rails programming in the span of 10 weeks. The Fall 2012 cohort has 60 students, some of whom have prior programming experience.








Some days, some of us–especially those with no programming experience–get worried and think we are behind the rest of the students. Jesse Farmer, founder of Everlane and one of the instructors at Dev Bootcamp, put it well (bolded emphasis mine):

Some questions you might be asking yourselves at this point…
Am I behind?  Should I be preparing more?  Will I be ready?
Those questions are healthy as long as “Will I be ready?” doesn’t become “There’s no way in heck I’m ready” and “Am I behind?” doesn’t become “I’m so far behind I’ll never catch up.”

That mindset reminds me of when I was on the triathlon team in college. In my second year competing, there was a “mentor-mentee” matching program, wherein newcomers to the team would be assigned to a more senior athlete for mentoring. Of the entire season, it turned out that the most exciting and anxiety-inducing day was likely an athlete’s first race. Sometimes on race day, my mentees would come to me and lament about how much “less talented” they are than the faster athletes, or say something like:

All I want is to not come in last.

As if being a beginner were a bad thing. I beg to differ. In my days of being dead last on my high school cross country team, there were some great perks. After I became a faster runner, I came to relish them when I started cycling as a beginner, triathlon as a beginner, and now, programming as a beginner. Come to think of it, there are at least 6 advantages to be found in any endeavor as a beginner.

1) Lots of room for improvement. Even more motivating to compare the progress of others and notice how much more you’re improving from all that hard (and smart!) work.

2) No external pressure to perform. The pressure we place on ourselves is high enough. Imagine the added stressors of a team, coach, family and friends that burdens the elite athlete.

3) It’s easier to learn proper technique as a novice, and it will make you fitter in the process. Two birds, one stone. The talented must slow down before seeing gains from clean form.

4) They won’t mind if you miss your goal time. By “they”, I mean the team, your friends, other people.

5) You have no responsibility to respond to competitors in the field, or your performance in relation to others. You have only the responsibility of your own performance.

6) Usually the personal achievement is more than enough for satisfaction, although there is less public visibility when you meet your goals. Fortunately, your mood is less dependent on others’ affirmation of how well you did, because any improvement is a step forward. Also, you don’t get in the situation where you can’t decide how happy to be because you achieved a “personal record” time but didn’t win the race.

Of the 60 incoming Dev Bootcamp students, I likely have less programming experience than most. According to my 24/7 time tracking system which records everything I do everyday in increments of 15 minutes, I spent:

9.25 hours in 2011 learning HTML and CSS
48 hours in the summer of 2012 doing Ruby tutorials

…throughout exactly 16 days (57.25 hours cumulative) of touching code, ever, in my life.

And it’s going to be great. For the beginner, every minute is a challenge, every challenge overcome is an accomplishment, and there will be nothing holding you back from going through hell and high water, doing the best possible work and learning as much as possible.

What’s Your Vulnerable Spot? (When Selling Cookies is Harder than Biking 3500 Miles)

By | Business, Learning, Mindset | No Comments

The hardest thing I’ve done so far is starting a late night cookie delivery business for my local college campus. It was scary too.

I was more scared the morning I posted flyers about our grand opening than I was standing at the start line of the Ironman triathlon at age 18, surrounded by lifetime veterans in their 40’s. Arguably, it was even harder than biking across the U.S.

I guess I am the most vulnerable when I put myself “out there,” for all to see and evaluate. It might just be an introvert thing…You could imagine that, from the extrovert’s perspective,  one might feel more vulnerable achieving something for themselves without social support from their friends and family. Whether it’s more challenging to put yourself “out there”, or to go at it alone toward a personal accomplishment, working in your vulnerable area will make you grow.

What is the hardest thing for you to do, the thing that makes you feel most vulnerable? What if you did it….this year, this month, today, NOW?

Book-Burning Experiment: $600 Worth of Books, One Book a Day (and the Actual Result: 30 Books in 60 Days)

By | Business, Learning | One Comment

This post was originally published on my old blog, here.

One day before the new year, I placed a $600 order of books at Barnes and Noble, after almost deciding to drop out of college last month and opting to take a leave of absence instead. Here’s the proof:

The Plan: I will attempt to burn through 1 book a day.

Why: In pursuit of starting my new business with “more confidence than an MBA”, I placed a $600 order of business-related books from Barnes and Noble. I selected the books from PersonalMBA, a community started by Josh Kaufman, who asserts that a full education in business may not require/call for/justify forking over the $250,000 typical for completing an MBA program. Even less useful is a bachelor’s in Biology, which I have chosen to pursue, mainly because it entails the lowest number of “major requirement” classes.

Rather, it may be as (relatively) cheap as reading these 77 books on business concepts such as marketing, productivity, leadership, and creativity. After careful inspection, it’s clear that not all of the books apply to each person’s interests. For example, books in the “Corporate Skills” category will be of little use for an aspiring entrepreneur like myself, while books under “Creativity and Innovation” will provide valuable insights on brainstorming novel business ideas.

Of the 77 books on PMBA, listed below are the 35 that (1) I have not already read and (2) directly address the particular areas that are my blindspots.

Here’s the catch: There’s no use sitting around for years reading books without applying the ideas.

So, I am setting a time limit of 50 days to spark through the learning phase. This means I have time for one book a day on weekdays, and free days on weekends in case I suffer through a few verbose authors or bad reading days. That’s 5 books per week.

Some anticipated issues: Isn’t one book a day too fast for me to absorb all the concepts in such high quality books?

Sure, but that’s not the point. Hopefully, after reading these books, I will have the confidence of knowing basic principles that form a solid foundation for my journey in the entrepreneurial world. I may not remember the details, but I will know where to find them in my book collection when the time comes to refresh on, say, that website appication that does business expense tracking.

If all goes to plan…I shall read through each of these books and, to make it an even bigger ambition, I will also try to outline the key take-away points and write a review for each book.

This’ll be interesting.


UPDATE: The Results

Instead of reading 35 books in 50 days (one book per weekday), I read the following 30 books in 60 days.

The 80/20 Principle: The Secret to Success by Achieving More with Less
All Marketers Are Liars: The Underground Classic That Explains How Marketing Really Works
Permission Marketing: Turning Strangers into Friends and Friends into Customers
The Copywriter’s Handbook: A Step-By-Step Guide To Writing Copy That Sells
Made to Stick: Why Some Ideas Survive and Others Die
Ready, Fire, Aim: Zero to $100 Million in No Time Flat
Crucial Conversations: Tools for Talking When Stakes are High
The Myths of Innovation
Lead The Field
The Power of Full Engagement
10 Days to Faster Reading
Bit Literacy
The Power of Less
Influence: The Psychology of Persuasion
On Writing Well: The Classic Guide to Writing Nonfiction
Indispensable: How to Become the Company That Your Customers Can’t Live Without
The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully
The Creative Habit: Learn It and Use It for Life
Innovation and Entrepreneurship
How to Make Millions with Your Ideas: An Entrepreneur’s Guide
The Knack: How Street-Smart Entrepreneurs Learn to Handle Whatever Comes Up
SPIN Selling
The Path of Least Resistance: Learning to Become the Creative Force in Your Own Life
Getting Started in Consulting
The Simplicity Survival Handbook: 32 Ways To Do Less And Accomplish More
Cut to the Chase: And 99 Other Rules to Liberate Yourself and Gain Back the Gift of Time
Tribes: We Need You to Lead Us
Citizen Marketers: When People Are the Message
Presentation Zen Design: Simple Design Principles and Techniques to Enhance Your Presentations (Voices That Matter Series)
The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone Starting Anything

The other 5 books turned out to be less relevant to my circumstances than they appeared on book reviews.

Sales Bible: The Ultimate Sales Resource
Results Without Authority: Controlling a Project When the Team Doesn’t Report to You – A Project Manager’s Guide
Blue Ocean Strategy: How to Create Uncontested Market Space and Make Competition Irrelevant
What Got You Here Won’t Get You There: How Successful People Become Even More Successful
Getting Everything You Can Out of All You’ve Got: 21 Ways You Can Out-Think, Out-Perform, and Out-Earn the Competition

The 10 most helpful books that continue to have an effect years after reading:

SPIN Selling
Made to Stick: Why Some Ideas Survive and Others Die
The Power of Full Engagement
Crucial Conversations: Tools for Talking When Stakes are High
10 Days to Faster Reading
Bit Literacy
The Power of Less
All Marketers Are Liars: The Underground Classic That Explains How Marketing Really Works
Permission Marketing: Turning Strangers into Friends and Friends into Customers
The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully