Part 1 of our interview with Patio11 (Patrick McKenzie) where you’ll hear how he actually learned to program with graph paper, and how he built his first product business with $60.
A podcast focused on great products and the people who make them
Justin Jackson: Welcome to Product People, a podcast focused on great products and the people who make them. Today we have a very special guest. Patrick McKenzie, also known as patio11, is here on the program. In our listener survey, people asked for Patrick over and over again, and so we thought we should have him on. Patrick's been making a name for himself at his excellent blog, Kalzumeus.com. Welcome to the show, Patrick.
Patrick McKenzie: Hi. Thanks so much for having me.
Justin: Just a note. Kyle is home with a cold, and I'm battling a little bit of a cold, and it sounds like Patrick is as well, so this will be the sick episode of Product People.
Patrick: Hopefully sick in a good way.
Justin: That's right.
Patrick: They still use that expression in America...
Justin: Oh, yeah. Yeah. I hope it will be sick in a good way. Patrick, I want to start by getting your story. Where did you grow up, and when did you first get into computers?
Patrick: Wow. OK, way back in memory lane. I grew up in the general vicinity of Chicago in the United States. I've been in computers for quite a while. My family didn't really grow up all that wealthy. That's an understatement. We were in a not-so-great district of the Chicago public schools, and one year IBM donated them a computer. I discovered that there was this thing called computer games on the computer, and really liked that, but the teachers were not so happy with me monopolizing the computer to play computer games when there was only one in the school.
Justin: [laughs]
Patrick: I went into the library and got this book, "How to Make Your Own Computer Games," and it taught the BASIC programming language. I taught myself the BASIC programming language, which was a little inconvenient because I didn't have a computer actually capable of running BASIC. It explained how the BASIC language was interpreted, and I got a bunch of graph paper to represent the memory in a computer and the display, and...
Justin: You're kidding me.
Patrick: I'm not kidding you. I wrote my own programs and then hand simulated them for fun.
Justin: [laughs] On graph paper?
Patrick: On graph paper.
Justin: Oh my goodness.
Patrick: One frame at a time, draw the dots, and then go to the next frame, and draw the dots. You can tell I'm a very special kid, right?
Justin: [laughs]
Patrick: Anyhow, sometime around high school-ish...No, maybe late middle school, my family moved to a different neighborhood. Things were looking a little on the up and up. We got ourselves our own computer that was DOS three-point-something back then. I started playing around with it, did my first real programming with a computer that would actually run instructions.
About the freshman year of high school or so, I tried cutting my teeth on C. That was a mistake. That did not kill my love for computers. I went to college, studied Java, became a...If you've ever read Joel Schlotzsky's article about Java schools, and how they destroy people's love of and talent for programming, I was totally that kid.
Around the time I was going to University, my father had been self-employed for most of his life, and things were not going all that great. He and my mother told me in no uncertain terms that I was to give up any entrepreneurial ambitions, and get a nice, safe job at a big mega corp. I was reading the Wall Street Journal, and the Wall Street Journal is very big on, "All the programming jobs are going to India and China, and there will be none left in America."
I was majored in computer science at college, but I thought, "Oh dear, I'm never going to get a nice, safe job at a big mega-corp like Microsoft if all I can do is computer programming, so I'll have to do one other thing. My idea was that if you play the Venn diagram game, the intersection of people who can do computer programming and any other one hard thing should be very small.
Justin: Yeah.
Patrick: Even if there is a million folks graduating from Indian programming schools every year, the intersection of them who can do that other hard thing is small, and there, I will get my nice, safe job at Microsoft. I thought, well, we trade billions of dollars a year of software, but most Japanese people don't speak English. Most Americans don't speak Japanese.
Justin: Yeah. Some Americans can't speak English either.
Patrick: Yeah.
Justin: [laughs]
Patrick: If I became the one computer programming Japanese person who graduated in America in the year 2004, then I would have a nice safe job at...I had it picked out. I was going to be the product manager for the Japanese version of MS Excel. That's like my end career goal.
Justin: Interesting.
Patrick: I graduated university with a degree in Computer Science and a degree in East Asian Studies, which is basically a way to say Japanese minus Japanese literature. I thought, am I good enough to enter Microsoft right now? I thought, well, this is partially a self-confidence issue, but I thought, I'm probably not good enough to work at Microsoft yet. I will go to Japan for a few years and work in an international exchange program, firm up my business Japanese, then come back and work at Microsoft.
When the international exchange program found out I had an engineering degree, they placed me at the Prefectural Technology Incubator in Gifu Prefecture, which is Japan's answer to Kansas. Instead of corn, there's rice, and instead of white people, there's Japanese people.
Justin: I got you.
Patrick: Yeah, not exactly a cosmopolitan, Silicon Valley type of area. Anyhow, so there's five translators at this technological incubator, and approximately one translator worth of work to do. I spent the three years of my contract with a lot of thumb-fiddling, and after fiddling my thumbs for a year, I went up to the bosses and said, "All right, we've got a research and development group here. I have an engineering degree. I can theoretically program Java as well as a graduate from a Java school can. Will you let me work in the R&D group?"
They let me work in the R&D group for a little while, did some fairly inconsequential stuff. We wanted to do a collaborative spam filter. Prior to there being Gmail and whatnot that had Bayesian filters that were filtered over many people's inputs, there were Bayesian filters on a per-account basis. We thought, if you could share the accounts together, that would be awesome.
It didn't turn out working out that well. But anyhow, concurrent with working there, I wasn't really loving working at the company. Not the company, the incubator. It was pretty obvious that there was no career path forward for me in technical translation. I have a funny story about that. I'll tell you the exact moment that I learned technical translation was not for me.
Justin: OK, I'd love to hear it.
Patrick: Obviously, they train you on this thing. You go to professional conferences, you hear about the ethics of the profession, yada yada yada. One of the ethical things about being a translator/interpreter is that you are not supposed to be part of the conversation.
You are facilitating the conversation from other people. You aren't supposed to interject your opinions, and you are supposed to translate things, exactly, to the word, as they are said, preserving as much of the nuance as humanly possible.
Justin: Got it.
Patrick: I was once translating for the governor of Gifu Prefecture, and there was an international meet and greet, at our technology incubator, with the governor of Gifu Prefecture and the vice president for business development of IBM Asia. Obviously, she's a bit of a bigwig, but she's also a bit of a bigwig who's also a very pretty blonde woman.
Justin: [laughs]
Patrick: She was quite popular with some members of the governor's party, including the governor's chief aide-de-camp, who's a 65-year-old parody of a sketchy old Japanese guy.
Justin: [laughs]
Patrick: I was introducing the aide-de-camp to the vice president of business development for IBM Asia. She said, "Hello. How do you do?" and he said, "You've got a great rack."
Justin: [laughs]
Patrick: I'm like, I can't possibly translate that because this is going to blow up in my employer's face, so I said, "He expresses the opinion that your dress is very flattering on you."
Justin: [laughs]
Patrick: I later asked a professional translator at one of our development courses, "What should I have done there?" She said, "You should have said, in exactly that tone of voice, "Yeah got a great rack.""
Justin: [laughs]
Patrick: I thought, well, I'm done. I can't do this job. I could not bring myself to do that. Anyhow, my three-year contract ends up...oh, in the middle of things there. I'm very under challenged at work. We've got five translators to do one translator's worth of job.
Maybe we've got two live events a year where I have to do interpretation, but translation, I've got maybe two days of work a month. The rest of the time is spending a whole lot of time on the Internet, and on Slashdot, and on the Business of Software forums, on Joel's [indecipherable 09:04] site. Taste of things to come, by the way.
Anyhow, I'm spending a whole lot of time on the Internet, learning a little bit about search engine optimization, and every other random topic I decide to read about, but I was really feeling like I was stagnating, career-wise, so I thought, maybe I can dust off that entrepreneurial ambition and do some side project just to get my feet wet. But the plan is still, after I get through this Japan thing, I'm going to go back to Microsoft. Or go to Microsoft. I've never been there.
Justin: Yeah.
Patrick: I was always asking my bosses for more work. This international exchange program that I was on has division which was translators, and has another division which is Americans, Canadians, UK people, et cetera, who teach English in Japanese schools. The vast majority of them can't speak a word of Japanese.
There's 200 of them in this prefecture, and we have an email list that goes out to everybody, for basically life support, like, "How do I teach better?" "I'm having this issue with my landlord. I don't understand what he's saying." "I have this paperwork I need to file at city hall, but it's all in Japanese. Can you help me?" Yada yada.
Justin: Got it.
Patrick: Because I can actually understand a bit of Japanese culture, because I've been studying it for five years at this point, can speak Japanese and can read Japanese, I've been encouraged by my bosses to stay on this mailing list like it's my job, because I have very little to do at the actual job. One day, someone says that she wants to play Bingo with her class tomorrow.
Justin: Aah.
Patrick: Wants to find a way to make Bingo cards which is faster than making them by hand. Being a somewhat smart-alecky person, I reply-all to the email list, and said, "There's this website, www.google.com, and if you type in "Bingo card creator software" and hit enter, you'll get a list of 10 blue links. The top one is the one you want.
You'll be able to download software that makes Bingo cards." She writes to me a reply back, "Yeah, I tried that, dummy, and it didn't work." I actually followed my own advice, and looked at the software available for creating Bingo cards, and it was just god-awful horrible. Could not possibly work for a teacher.
The quality of the output was cruddy, and you had to manually do things for each Bingo card, which defeats the purpose of making 40 Bingo cards at once.
Justin: That's right.
Patrick: I spent a day just mocking up the world's worst swing app. This was ungodly. It was just one text field where you would type your stuff in, and then it would dump 25 html files into your desktop.
Justin: OK. [laughs]
Patrick: You would highlight all of the html files and hit control P and Internet Explorer would print them all for you.
Justin: [laughs]
Patrick: That was version zero of Bingo Card creator. At the end of the day I jarred it up, put it on my University web hosting account, sent out a link to everybody saying, "Hey, there was this question earlier about creating bingo cards. There isn't a good way to do it, so I made one. You can go here and download it and follow these quick instructions to get past my inability to do printing in Java. Yeah, things will work out great."
Justin: Yeah.
Patrick: Go home and I play World of Warcraft for the evening, which was my custom at the time.
Justin: Yeah.
Patrick: I come back the next morning, and I expected there to be like three emails in my inbox like usual, and there were actually 60. Thirty of them were, "I tried your bingo card creating thing, and this is the best thing ever. Thank you, thank you, thank you."
Thirty of them were, "I tried your bingo card creating thing. It sucks. It doesn't run on my machine. What's Java anyhow? You have to get this working today because I want to try this with the class this weekend."
Justin: [laughs]
Patrick: A few weeks later I was thinking, "What could I possibly do for a business that I could actually do when I'm employed and I could execute in a reasonable amount of time because I don't want to get a few weeks into this and lose interest and that is within my very limited skills as a programmer?"
I thought, "Well, that bingo site, I know I can program it because I did version 0.0 of it in under a day. Out of the list of maybe 200 people in central Japan, 60 of them were moved enough by it to write me about it, then there must be a market for this."
Justin: That's right.
Patrick: I told my plan to my father. I said, "All right, here's the plan. I'm going to make this bingo thing. I'm going to put it on the website. I'm going to sell it over PayPal, and I'm going to drive traffic to it with ad boards and search engine optimization which was this thing I've been reading about for a year and a half but hadn't ever done."
My father said, "You should just come back to America and get a good job." "No, no, this will work. I'm going to invest one video game worth of money in it, so $60, and I will start selling it a week from now." My dad, who has been in business for 15 years by himself is thinking, "$60 of capital, one week time to market, this is absolutely crazy. Not going to happen."
Justin: Yeah.
Patrick: A week later I do, indeed, launch with a website created in notepad, a logo that was created by a buddy of mine at Incubator, and the world's second worst Java swing app that does bingo card creation.
Justin: [laughs]
Patrick: I built it and nobody came. I thought, "Hmm, OK, what's the plan for marketing it? I don't know anything about marketing, but I do know that search engine thing I've been reading about for a year. If I fill a whole in the Internet, then Google will have to send me people."
Since I've been dealing with English teachers, I know there's this thing that English teachers care about called adult sight words. It's a list of about 200 words grouped up into five grade levels created by an English pedagogist in the 1930s that says, "You should basically know these words on seeing them."
Teachers hear about it in teaching school and they know they need to teach it to kids, but they don't necessary know what the words are, for first grade. They weren't on the Internet anywhere. I went down to the library, grabbed a book, copied out the list of the Dolch Sight Words into a per-grade list and put it on my website.
I said, "Hey, if you're looking for Dolch Sight Words, you probably want to have a [indecipherable 15:19] activity with your kids. Why don't you play Dolch Sight Words Bingo, which you can conveniently create with this Bingo Card Creator? Here's the download link to the free trial." Got that done about a week into the business. A week later I had a, "You've got money email from PayPal." My first sale. He actually got a refund, actually.
It was a very rough version 1.0. It could only print to the default printer, among other things, if you had two printers attached to your computer. My solution for you was unplugging one of them. It would print to the one that was still attached. Because I didn't know how to do printer dialog at the time.
Justin: I see. How much were you charging at the time?
Patrick: This is the most consequential piece of advice I got from the Joel [indecipherable 16:03] business software forums, prior to launching. I said, "I'm thinking of charging either $15, $20 or $25. Or a few pennies below them. I'm concerned which I should go.
I don't really feel that it's worth more than $15. It's cruddy software written by a bad engineer that does just one thing." This gentleman who...I really owe a lot to him. He says, "Charge $25 and go higher after people start buying it."
He says engineers always under-price what they make. This is something that I found true and true and true again, in the last seven years. Anyhow, I went with 25. A person who I did not know paid me $25. I'm like, "Wow. That's amazing." Then the next month, about $200 of sales. These guys did not ask for refunds.
I spent the next couple of months slowly improving the software, trying to figure out any of the marketing thing. I tried posting on forums. That was totally ineffective. I tried selling it on eBay. That was totally ineffective. I got to the end of the year, and just the one article on Dolch Sight Words had sold $1000 and change of software.
Wow. I just continued doing that. The plan was never really to quit my job and do a Bingo card creator full-time. It was just my funny little hobby that had replaced World of Warcraft. I was having fun and learning some stuff. The plan was still, get a nice job at a megacorp.
Justin: What did your dad say? After that first week, and your first month, you had $200, and the first year, what...
Patrick: Six months later, I said, "Yeah, I sold $2000 worth of Bingo Card Creator." He's like, "Wow. That's amazing. I would never have expected it to sell anything." This happens every six months. He apologizes to me again for ever doubting me. I totally don't hold it against him. It does sound like a wild and crazy plan. Even knowing that it worked, it sounds like a wild and crazy plan, especially if you have no tech or Internet background.
Justin: That's right.
Patrick: Anyhow, I got done with my contract at the incubator, and the life plan was still get a job at Microsoft, but I thought, I really love living in this little neck of the woods in Gifu, in central Japan. I want to live here a little while longer, so I'm going to try to get a job at a Japanese company, because there's no American companies in this neck of the woods. I didn't want to move out to Tokyo and get a job at one of the megacorps there, because that would require moving to Tokyo. Tokyo's just a little bit too big of a city for me.
Justin: OK. How big of a city are you in right now?
Patrick: It's 150,000 people, theoretically, but it really has a small town vibe to it.
Justin: OK.
Patrick: When I'm walking down to the train station someone will come up to me and just say, "Hi," ask, "Where are you from?" yada, yada, yada.
Justin: Yeah, OK.
Patrick: Anyhow, so in the course of my various dealings at the incubator they loaned me out to their incubated companies and said, "We've got this technical translator here. He will translate absolutely anything you give him for free."
Justin: [laughs]
Patrick: One of the companies had 3,000 PowerPoint slides of documentation for CAD software...
Justin: Oh, my goodness.
Patrick: ...that they wanted translated from Japanese to English. That was two very long months of excruciating work.
Justin: Oh, my goodness.
Patrick: They took me out to a dinner at the end of that just to say, "Thank you."
Justin: Oh, that's nice.
Patrick: When I got done with the contract with the technology incubator, I went to the company that had asked me to do the CAD translation and said, "Hey, I want to stay in Japan a little while longer, and I was wondering if you knew anyone in this neighborhood who needed a bilingual engineer?"
He says, "What do you...you talk about this?" Then I get a phone call from him three days later, and he just tells me, "I need you to come to this station in Nagoya. Be wearing a business suit. We're going to talk to a guy I know." I figured it was just "we're going to be talking to a guy I know."
We get to the meeting place. They invite me to their office, and it dawned on me only 30 minutes into the wait, 30 minutes into it, that I was actually at a job interview, but it was the weirdest job interview ever.
Justin: OK.
Patrick: Because I did not understand the...so A, my contact with them was there and doing almost all the talking, and I was doing no talking at my own job interview. I was slow on the uptake that I was actually at a job interview, and after I figured it out it was a job interview, I was not reading the signals right on how it was actually progressing.
Towards the end of it they asked me if I had any questions, and I said, "Guys, throw me a bone here. I'm not reading the signals right. Are you interested in hiring me at all?" They said, "Oh, well, we'd already made the decision to hire you before we met you because we owe this guy a favor, but we just wanted to meet you."
Justin: [laughs]
Patrick: That blew my mind. I've since been told by Americans that, wow, those crazy Japanese people, they do hiring totally differently than we do, but as I've grown older and wiser I think a lot of the jobs in America are passed in similar ways.
Justin: That's right.
Patrick: Through private networks, and you've scratched your back. I'll scratch yours through mentorships, that sort of thing.
Justin: That's right, yeah.
Patrick: I started working at a Japanese megacorp as a salaryman, and I suppose that term needs a bit of explanation. A salaryman is basically committed body and soul to their company from the point where they join it, typically right out of college, until they retire, typically at age 65 or 70.
Justin: Wow.
Patrick: The traditional Japanese ethic for a salary man is that you work incredibly hard on behalf of the company and in return the company takes care of you in every possible way. They shield you from every risk. You will never be fired. You will get a three percent raise every year.
You will be promoted at the same time everyone else in your class gets promoted regardless of your performance, and oh, BTW, you'll probably be pulling 100-hour weeks, sometimes six, seven days a week. You'll be doing it for a salary, which is, if you're an engineer is about a third the salary that American engineers make. But this is the business you have chosen and you understand this going into it, because it's a well-understood cultural system in Japan.
Justin: Wow.
Patrick: Having been around the block before I knew eyes wide open what it was going to be like. We had at the job interview a question. They asked, "We're hiring you as a salaryman. Do you understand what that means?" I said, "Yep." They said, "Are you planning on being with this company until you retire?"
I said, "Well, candidly, I'm an American. I can't promise I'm going to be in Japan for the next 40 years so I don't know if I can promise that." They said, "Well, we're taking a big risk hiring the first foreign employee of this company. Can you promise us that you'll be here for four years?"
I said, "Four years is a long time for a young guy." I think I was 24 when I started the job. "I can do two or three, and I'll promise you we'll shake on that that I won't leave until two or three years are up." "All right, we can do that." They said, "Do you have any needs that you need?"
I said, "Well, obviously you've never worked with an American before. I've never worked for a Japanese megacorp before. I think we're both going to be adjusting a little bit in this relationship. I know that your expectations with regards to availability are a little bit different than Americans, and I'm just curious. About what time do people go home from the company?"
The boss looks a little uncomfortable for a minute. He's like, "Well, I know there are people who go home at seven thirty or so."
Justin: Oh, my goodness.
Patrick: I successfully read the hint there. "There are people who go home at seven thirty." Women go home at seven thirty, ergo the men go home at nine o'clock for the early guys. I can afford to go home at ten and not look like the lazy American.
Justin: Oh, my goodness.
Patrick: For the first couple years I was generally going home sometime around ten, and then that slipped until twelve, and then in crunch time it slipped until three.
Justin: Oh, my goodness. Are they more productive?
Patrick: No. No, absolutely the opposite of the case. There are a lot of time wasted in meetings and a whole lot of staring at the wall reading newspapers, yada, yada, yada. The departmental standard is basically six hours of work in a 16-hour day, and I made the mistake early on of working to the limit of my capability. I got taken aside by the senior engineers and said, "Hey, Patrick. You got to pace yourself."
Justin: [laughs]
Patrick: "You're going to be here for many years. You got to understand you don't want to make the older engineers look bad by being too much of a go-getter. Work with due deliberation. Spend a little more time not coding up so many features. Maybe you should write a bit of documentation. Make sure you write it really well, yada, yada."
Justin: I see. Yeah. Yeah.
Patrick: Oh, boy, Japanese megacorps, they are such a pathological work environment, it's crazy. Anyhow, so I'm an engineer at this Japanese megacorp, and theoretically I'm a systems engineer, and I was coding on the web framework that they used to make systems for Japanese Universities [indecipherable 26:05] .
I'm doing this until 10 o'clock every night, and I came home and worked on Bingo Card Creator a little bit in the evenings, and so the only things I could do for Bingo Card Creator were the ones that could be done in about five hours a week, so basically answering emails, and I figured out how to do AB testing and set up an AB test on my weekends then wait for a week, and then finish the AB test on the next weekend, see what the results were, and then make a change to my website on the basis of the AB test.
For any of you who don't understand that jargon, an AB test means you create two versions of the website. You randomly partition visitors to the website into one of two groups. Show them version A or version B. It can be the case that having a particular headline or a particular button copier, that sort of thing, increases people's propensity to do business with you, or to download the free trial, or to do some other action you care about.
I was basically getting a five percent win in increase in conversion rates, increase in trial downloads, increase in sales. Five percent win here, and a two percent win there, and I just continued doing that for a bunch of years.
Justin: What was the attraction? Like why even do...like you were working insane hours. Why work on Bingo Card Creator at all?
Patrick: Because it kept me sane.
Justin: OK.
Patrick: It was my...so I quit World of Warcraft, because way not enough time to do it and work at the company, and I grew a lot as an engineer while I was working at the megacorp, but I didn't have much...young folks in Japanese companies are not given a whole lot of latitude as to picking their assignments, shall we say.
Like I had learned how to do a bit of web programming and wanted to do Ruby on Rails and suggested, "Let's do some work with Ruby on Rails" at the day job. They're like, "Ah, yeah, no." I'm like, "Well, I've still got Bingo Card Creator. I can redo my website on Ruby on Rails. No one can say no to me on that," and so I did that.
Justin: This gave you some autonomy while you're working for this big company. They would just assign you whatever projects they wanted, but with Bingo Card Creator you could...you really could do whatever you wanted as long as you could do it in a short amount of time.
Patrick: Right. It kept me sane. It gave me something to look forward to at 10 o'clock every day when I would get off work, because then I could pull out my Kindle and say...well, so by the time I get home at midnight or past midnight, Americans are starting to wake up, and I would typically have a PayPal message saying somebody had bought my software and that would..."Yay."
Justin: Yeah.
Patrick: One night so the last train from Nagoya leaves at twelve-thirty AM, or PM whatever...30 minutes after midnight. I missed it. I was still at the day job. Left the day job at two. Not so much of a day job anymore. I went to the all night Denny's to get some dinner. Got dinner, got to a hotel at about two forty-five.
Checked my email for customer support inquires. There were none. Then I woke up at seven forty-five in the morning in time to catch a quick shower and go back to the office without returning home at any point.
Justin: Oh, my goodness.
Patrick: I checked my Kindle again for any customer support inquiries, because I was very serious about getting back to people within a day. There was just a bunch of mail from, "You've got money from PayPal." I clicked to through the math and figured I made more money when I was sleeping for five hours than I had the 19 hours previously at the day job.
Justin: Interesting.
Patrick: I thought, "What the heck am I doing this for?" There was a lot going on in my private life. The Bingo Card Creator was getting to the point where it was routinely exceeding my salary. I made the decision to quit the day job, and eventually did so in the...let's see.
I told my bosses I was quitting right around Christmas 2009 and quit as of April first, 2010. That was, what, four-ish years after starting Bingo Card Creator? That was...I launched on July first, 2006 so, yeah.
Justin: Interesting. Wow.
Patrick: By that point it was pretty obvious that at some point in the interim I had updated my plan for Microsoft to...I was a little less enamored with Microsoft. I really loved working with Open Source technologies after working the Java stack, which I didn't like, but I loved the [indecipherable 30:45] versus working with the MS and working with the Rails stack, which I really enjoyed.
I thought, "I won't work for Microsoft. I'll work through Google." I went to the Google job site and had product manager, Japan-focused products, circled out in red on a piece of paper that I'd put in my desk drawer to remind me of what the goal was. When I got done with my day job, I'm like, "OK, should I go apply to Google now?" I thought, "Well, this entrepreneurship bug, this has been really, really fun. I think I'll continue doing that." I did.