Hi! My name is Eric Dykstra and I’m a software developer at a startup in Tokyo. This is the story of how I went from getting a business degree in Seattle to doing a totally different job in a non-English speaking country in 5 years.
The short prologue for context is this: At age 18 I graduated from a small Christian school just north of Seattle and started at the University of Washington a few months later. By age 20 I was married to my current wife, and at 22 I graduated from the Foster School of Business at UW.
I graduated in the Spring of 2011 with my Finance degree, and with the goal of finding a finance position at a non-financial institution. Realizing that those kinds of positions were almost entirely for people with 10+ years of experience, I gave up that notion fairly quickly. Between doing something relevant to my degree (working for a bank), and doing something relevant to my interests (almost anything else), I decided on the latter, and looked for any job openings in Seattle and San Francisco that I thought I had a shot at.
I ended up getting responses from 7 of the 29 companies I applied to: 6 flat-out “no”s and a phone interview from a small (under 50 employees at the time) startup in San Francisco called Twilio. Things moved quickly, and after two phone screens I was scheduling a flight to San Francisco. One week and a 5-hour gauntlet of interviews later, I was presented with an offer. Just 2 weeks after that, I started my first day as a full-time, salaried employee.
Twilio is company that deals in phone numbers, phone calls, and SMS messages, and my everyday job was managing the phone number inventory and the aspects of customer service surrounding phone numbers. It sounds pretty simple, and it should have been, except for the archaic systems that rule the phone industry. Buggy excel spreadsheets that required specific versions of Windows and Excel to work, XML file uploads to a slow legacy website, and faxes and phone calls to people who were either indifferent to my cause, or at times actively trying to make my job harder.
Over time I improved and developed systems that made the processes more streamlined, but the work remained basically the same. In December, after just 5 months on the job, I got my first raise! Shortly thereafter, my boss moved to a different department, and was put under a different manager who also headed customer service, which was mostly unrelated to my job. By this point I had been thinking for a while about how, if I was a programmer, I could automate my entire job away. Every part of what I was doing day to day could be broken down into a flow chart and checklists, and if I could program all the non-human-interaction steps away, it would free a lot of my time up to work on creative projects rather than mindless processes. I lobbied to my boss for some time to work with an engineer to help automate my job away as much as possible.
In my weekly one-on-ones I would consistently bring up that as the company, customer base, and customer service department grew by multitudes and magnitudes, I was still the only one doing my job. I explained how the solution was to automate the process, making it better for customers and removing the need to hire more people to the work as the company grew. I got a lot of agreement and support in the one-on-one meetings, but I never saw any evidence that my boss was actually advocating for engineering time for me. I eventually took it upon myself to learn programming myself.
I had fun learning Ruby, and got some help from engineers who were willing to walk me through some basic concepts. I wrote a few scripts that saved a lot of time. I even got some good progress into my magnum opus, a ZenDesk API integration script that would take status updates from a spreadsheet and reply to customers automatically. It would have been a big improvement over the error-prone system of look-at-spreadsheet, click-on-macro, copy-and-paste customer specific information that we were using before. But alas, progress was interrupted one Monday in May when I lost access to ZenDesk, then was told to spend the rest of the week writing documentation for how to do my job. That Friday I was brought into a meeting with the head of HR and my boss, and was fired. When I said “yes” after being asked if I had any comments, my boss stood up and left the room. I made my comments, received my last paycheck (with a whole 4 days of severance pay), and left the office for the last time.
Our household went from single-income to zero-income, and our savings were meager (San Francisco is expensive), and so I had to find a job quickly. The most fun I had at Twilio was writing those Ruby scripts that made my work more efficient, so if I could, I wanted to do more of that. I spent some of my time learning modern HTML and CSS via treehouse.com, since that seemed like the easiest way to get to a can-contribute level of proficiency at something web development related. The rest of my time was dedicated to job hunting.
A small marketing agency called BayCreative decided to give me a chance as their in-house web developer. I still knew next to nothing about web development, but since it was primarily a role working on Wordpress websites, I figured that I knew enough to get by. About 6 months into this job I heard about Dev Bootcamp. Even though at that time only ~60 students had graduated from it, it looked like just the opportunity for me, and seeing that Jesse Farmer was behind it was enough to convince me that it was not a scam. It was basically an all-or-nothing plan, to quit my job and spend 3 months and $11,000 that we didn’t have on a career change, but at that point in time it was the only option I could imagine (and gratefully, my wife was completely supportive).
My short time at Dev Bootcamp was by far the best learning experience of my life. The focus was not on how to get a job as a programmer in the shortest time possible, or how to make the next big web app, but how to think like a programmer and use the tools of the trade to solve problems. It was like problem-solving bootcamp with a little bit of Ruby syntax thrown in; 60-80 hour weeks of pure learning for 12 weeks. There’s no faster way to become good at something than to focus on it with dedicated practice for hours every day, and have someone more experienced next to you to help you immediately overcome obstacles, talk through challenges, and put you back on the right path when you make a misstep. That’s exactly the experience I got. I kept a blog and made a decent number of posts over this time, it’s still up at http://ericatdbc.tumblr.com/archive.
The bliss of those 3 months of learning was over shortly, and it was time for job hunting again. At this point, I was still one of the first 150 students to come out of this new kind of programming training course. This meant nearly all of my interviews were with companies that hadn’t even heard of a “programming bootcamp.” It seemed that at least half of my interviews were given to me out of pure curiosity, and the companies were never were seriously considering giving me a job offer. Even so, it was a good time to be a programmer looking for a job, even as one with no experience actually developing applications. In the end, I had 19 in-person interviews that resulted in 1 verbal and 4 formal job offers. I ended up joining Goldbely, a Y Combinator startup, as their first non-founding employee.
To this day I think the biggest reason I got the job was that I could type at 100 words per minute, and knew enough Ruby and Ruby on Rails to follow the explicit directions given to me during my pair-programming interview. Nevertheless, I got the job, and now I was a real programmer at a real company, ready to build real web applications just as I had wanted when I took the leap to quit my job. At this point I was 24 and finally on a career path that had potential for both personal and professional growth. I stayed with Goldbely from 5 employees to 9, through 3 offices, and for 16 months. Then one day in November, I was unceremoniously fired over email while on vacation in Tokyo for my wife’s friend’s wedding.
Still in debt from the Dev Bootcamp adventure, and having just spent a pretty good chunk of money on vacation, I went from a modest to a zero in income. I really had to scramble to find my next job. At this point I had over a year of experience, and was confident in my ability to be a solid contributor on a development team. In less than two weeks I had two job offers. I opted to join Playpass (https://playpass.com/), a company that acts as a way to connect sports activity and league organizers with players, and everything that entails, and started shortly after making the decision.
I had no complaints about Playpass, but it was the shortest tenure yet in my short career. About a month into that job, on Christmas day, my wife and I had been talking about maybe moving to Japan for retirement. Over the course of the conversation, it eventually escalated to “in our 40s” and “after 5 or so years”, then at some point I said “Why don’t we see if we can move now? My Japanese is passable, and we might as well look and see what’s out there.” My wife agreed, and we both went on the job hunt. Within a couple of months we had 6 offers between the two of us, and I decided on Wondershake (http://wondershake.com/) after the COO took a detour from his vacation to come meet me for lunch in San Francisco. All the companies I interviewed with were very kind, but this gesture, the prospects of the company, and that I had a mutual friend with two of the founders made it the clear choice for me.
4 months after deciding to see if there was a potential life for us in Tokyo, we were in our apartment and a few days from starting our jobs. I’ve been at Wondershake since April, 2015, and am the happiest I’ve ever been with both my personal life and work life. At the time of writing, I’ve passed my 17 month mark with the company, making this the longest I’ve held any job. The reason I started to learn programming back at my first job was to turn my wasted hours doing mechanical work into time I could be doing more interesting things. My main work now is making and improving tools for my coworkers, so that they have more time to work on the creative parts of their job or pursue new projects.