Almost exactly 10 years ago I boarded a one-way flight to Chicago. I had decided to join The Starter League, one of the first cohorts of one of the first code schools in the country.
Just a couple of months earlier I had just finished a contract position with a Y-Combinator startup called drchrono. I spent my time there building and split-testing landing pages. I was managing pay-per-click campaigns and qualifying inbound leads. While it was somewhat of a personal goal to work for a YC company, sales and marketing were definitely not my calling.
There was a bright spot though. For the first time I knew what I wanted to do. I spent the next month or two trying to figure out how I could get a UI engineering job. I knew HTML, CSS and JQuery. I knew how to build WordPress themes—not necessarily PHP. I thought that would be enough to get me a junior-level job.
Over the next month I probably applied to a hundred jobs. I got several interviews, but nothing was working out. I didn’t quite have the resume—or the skillset—to put me ahead of other candidates. I was bummed.
Then one morning while browsing Hacker News, came across a post about 37 Signals (now Basecamp) Investing in a code school. The Starter League, as it was called, was a 12-week intensive program in Chicago. I knew that was my ticket.
After an interview, I was accepted. A few days later, I hopped on a flight to Chicago with only my computer, a backpack full of clothes and a ton of optimism.
I arrived in Chicago with no place to stay. I bounced around AirBnBs in Logan square for about two weeks.
My apartment search was not fruitful. Everywhere I looked was too expensive, too far away or wanted someone with employment. I was going to need a roommate to make this work. So, I responded to a guy who was active on the Starter League email list, Joe Villanueva. We met for lunch and hit it off and realized we were both in the Rails for Designers class. We agreed to try and find an apartment together.
We settled on a place at Presidential Towers in West Loop. It wasn’t quite what we wanted. The apartment was expensive and unfurnished, but it was a short walk to both our classes at 37signals and TSL at 1871. It was also the only place that would give us a 6-month lease that ended in December.
The first day of class approached and we added a third roommate. A guy named Mike Chau was accepted to the Starter League at the last minute. That same day, the day before class, he quit his job as an insurance adjuster and moved in with us. He had an apartment in the suburbs, but stayed with us during the week.
After a couple weeks we added a fourth roommate, Scott Townsley. Scott joined us for a few nights a week. And flew back to Kansas to see his wife and kids on the weekends. We had room and he bought us groceries in exchange for letting him crash with us. We were happy to have food that wasn’t leftover pizza from hackathons.
Despite living in opposite parts of the country, Joe, Mike and I continue to stay in touch. Also, shout out to them for helping me remember things and contribute pictures for this post!
I don’t quite think I knew how incredibly fortunate I was. The class I joined was called Rails for Designers. I don’t remember requesting to be put in that class, but I think they felt I had enough technical knowledge—with experience building landing pages and WordPress themes—that it made sense for me to be there.
Unlike the other Starter League classes, Rails for Designers took place at 37signals. It was a cool to be in the office of such a legendary software company—the one responsible for inventing Ruby on Rails and popularizing software as a service. However, my luck didn’t end there. Not only was the class in their office, but all their Chicago-based designers—even Jason Fried was enrolled in the class.
None of this was advertised—perhaps because that would have attracted the wrong type of people. Regardless, I was incredibly lucky to be part of it.
Previous programming experience
This was not the first time I had tried to learn how to program. During my sophomore year I began to dabble in web development—building Tumblr and WordPress themes. I thought that software development could be something I’d like. I enrolled into a CS class called Introduction to Object Oriented Programming. It was difficult, time consuming and I did not feel like I was closer to building things.
We were writing software in Java and compiling it. The resulting programs were unaccessible, boring and felt like they were of no value. I wanted to build websites that did things. We’d call them web applications today, but at the time there was no such word for them. After spending a ridiculous amount of time in lab hours and building a final project that barely worked, my professor generously gave me a C. Given the time and effort, I don’t think she had it in her to give me a D, which was closer to what my work reflected.
Despite everything, I decided to take one more CS class. I figured that in next course we’d build something cool. Unfortunately, that was not the case. We were simply making more complex versions of the same boring software. I was done with computer science and was resentful that I had spent so much time and energy with nothing to show.
It was not until that I tried to start a coupon business, that I would pick up development again.
After the first couple of weeks things became kind of a blur. I realized what was at stake. I was essentially all-in on software development and needed to be employable after this experience. If I came all the way out to Chicago to go back to marketing or qualifying sales leads, all this effort was for naught.
I have never studied or focused so hard in my life—but I had a fire. I began to understand how to build things. It was easy to see how the work I was doing could easily be applied to other projects. I never felt that way in my CS classes. And even if I didn’t know how to make something work, I could conceptually see what needed to be done and was able to ask the right questions.
I became so consumed by software I was dreaming about coding in my sleep. Some mornings I’d wake up and know how to solve a problem that had stumped me the night before. I was pushing myself more and more.
Many people who go to code schools expect to get a job immediately. That is rarely the case—even today.
There’s a gap in experience before you can really become a junior software developer. I think that most of these code schools—certainly The Starter League—put students in a good position to start asking the right questions. They teach you enough where you can begin to solve some things yourself. But it probably takes 6 more months of doing this to be employable as a software engineer.
I tried to get a job right after The Starter League and was unsuccessful. I spent about 4 months doing contract projects—including trying to build an e-commerce site with Joe and Mike. Even with that experience, my first real job ended up being closer to a product management than an engineering one.
Was it worth it?
Looking back a decade—was going to a code school worth it?
For those of you that don’t know me, I’m a staff product designer at Salesloft. I love the job and was fortunate to join such a successful company early on. There’s a lot that happened leading up to be joining Salesloft, but I don’t think any of that would have happened, had I not joined The Starter League.
I worked outrageously hard—both during the program and after. My closest friends did the same and we’ve all done extremely well. Those who did the minimum and only went to class probably didn’t get much out of it.
So for me—I think the experience cost me about $10,000—including food and rent for 6 months. It is probably the best money I’ve ever spent.
Some other memories
This is a bit of an odd post—as it’s mostly a patchwork of memories. But there are still a ton of experiences I wanted to share about The Starter League, 37signals and Chicago. Not all of them fit, so here’s some other things I remember.
Chicago is an extremely walkable city. I fell in love with it immediately. It was the first time I remember wanting to walk around and explore different neighborhoods. It was an absolute joy—well, until winter.
Public transportation—the “L” is fantastic. Trains run every 7 minutes and just about everything I wanted to get to was a short walk away. This experience started my love of public transportation. I love taking MARTA back in Atlanta.
New Wave Coffee in Logan Square has some fantastic coffee. I remember drinking red eyes trying to get something built. Also, that black and white checkered floor. Whenever I visit Chicago, I make it a point to go back and visit.
Au Cheval—not Little Cheval—is still in the running for all-time favorite burger. Don’t go to Little Cheval and tell me it was just OK. Make sure you add bacon.
When we finally found an apartment with a 6-month lease in West Loop. We went to target and bought $150 worth of furniture. A coffee maker, a fold out table and some steel chairs. I spent my first 10 years out of college living very frugally. The ability to get by with little served me well.
I’ve always hated sleeping on air mattresses. Our apartment was unfurnished and I didn’t want to spend money on one. I bought a pillow and a quilt and slept on the floor for 6-months. It was honestly the best I’ve ever slept in my life. Probably a combination of exhaustion, and the floor preventing you from moving too much. I sleep like a rock now, and I attribute that partly to sleeping on the floor.
The fantastic French market next to the Metra station.
I took a Lyft and an Uber for the first time.
Portillo’s Cake Shake is still the best milkshake I’ve ever had. Probably in the top 10 things I’ve ever eaten.
I had never experienced cold like Chicago in December. It was not just cold, but windy. If I didn’t wear long socks or tuck in my shirt, the cold breeze was like a knife stabbing at all the weak points in your armor.
My friend Andrew Zapatka lived in Milwaukee at the time. I remember how cool of a city Milwaukee was and the gorgeous 2-hour Amtrak ride through the Wisconsin countryside. Also, tickets were only $50 round-trip.
The Christkindlmarket in Chicago was fantastic. Beautiful lights, tons to see. Hot mulled wine was perfect on a cold Chicago evening.
I remember thinking how bizarre it was to see people smoking these USB sticks. A couple years later vapes were everywhere.
There was a bloody mary festival one weekend in Milwaukee. I had one drink with a tiny Miller High Life bottle and another with a tiny burger in it.
Going to hackathons and waiting until the end when they were going to throw away pizzas. A large Giordano’s pizza could feed us for several days. We’d cut the slices in half and throw them into the freezer.
Jason Fried had a closet at 37signals office with 1000s of copies of On Writing Well. That’s the book he gave to people, not his own books.
Someone asked Jason after class about what he looks for when hiring designers—attention to detail. He asks them why they bought a jacket or a backpack or something else. That concept stuck with me—and was probably part of the reason I started Product Notes a couple of years later.
That time Vaib and I entered a poker bot competition. We built an unstoppable poker bot, tried to make it slightly more aggressive and ended up squandering our lead. We still took 4th, by playing not to lose.
Seeing miles and miles of corn fields on a bus trip to UIUC for a Facebook hackathon. We stayed up all night. I never really thought about it until now, but I came back with two Facebook lanyards that I used for my keys. The first lasted two years until I drunkenly threw it into a street sweeper during Mardi Gras. The second one lasted probably six years. I replaced it a year or two ago with a carabiner.
Despite our demo day project, Mountain Metrics, not being a viable business. It did work, and we had a killer presentation.
The cool, black chalkboard walls all over 37signals office.
The very last days in our apartment, all three of us got horrible food poisoning. The little we did have; we were planning to donate. But none of us could move. We ended up just throwing everything away. I remember tossing plates and a coffee maker down the trash chute. I think we left the folding table and chairs with management. After not being able to keep anything down for two days, I bought a strawberry smoothie from McDonalds in the airport. Luckily, I was well enough to keep that down for my flight back to Atlanta.
Starter League posts
I kept a journal of sorts during the first few weeks at The Starter League. Eventually, it became too difficult to keep up with. I’ve tagged those posts Starter League, and linked them below with some additional commentary.
Week one at The Starter League has a bit about the school and our “Hacker Den” setup. There’s a good quote about looking for questions, not answers—
School, as I remember it, is about memorizing things and searching for an answer. The first day of class at The Starter League we were told not to memorize anything, and that we should be looking for the question, not the answer.
Week two at The Starter League includes a couple basic Rails apps and some notes from our second week of class.
Startup idea generator a basic app a built that randomly put two items from different lists together to form an idea generator.
Week four at The Starter League Vaib and I build a poker bot for a competition that won a huge number of consecutive hands early on. We tried to tweak it to be a little more aggressive, but we screwed everything up.
Thoughts on entrepreneurship with Jason Fried 37signals founder Jason Fried did a Q&A session with us. There are some good quotes in there. Like this one about trusting people they hire—
By default we trust everybody to do the right thing, if they don’t do the right thing then we talk about it. Having a bunch of structure and policies in place first, assumes people are going to do the wrong thing.
Mountain Metrics Demo Day launch I’ve got a bunch of posts about Mountain Metrics, a Tumblr analytics platform that was our demo day project. This one has our pitch deck though.