(DOWNLOAD PRESENTATION FOR VOICEOVER NOTES.)
Last year, I decided to build my boyfriend a romantic web app, called Lovestagram, for Valentine’s Day 2012. The only problem? I didn’t know how to code.
I've given this presentation to several groups of women who code or who are learning to code (e.g. Square's "Curves Who Code" group, PyLadies' San Francisco MeetUp, and Yelp's Girl Geek Dinner).
It shares the story behind Lovestagram, some of the technical challenges I encountered, and a few personal realizations I had along the way.
I spent 2 years working in an oncology lab studying genetic mutations in a cancer called neuroblastoma.\n
I learned Mandarin and worked for a human-rights think tank in China.\n
I’ve worked on K-Street in Washington consulting for clients like Hillary Clinton, the World Wildlife Fund, and the U.N. Foundation.\n
For nearly five years I worked at an advertising agency helping clients like McDonald’s, Target, and Nike build their brands and connect with consumers in the digital space.\n
Now I’m Marketing Director at a startup called Rally.org. We make a super easy online fundraising tool for individuals and small organizations.\n
I’ve of course got to add my boyfriend Mike in here, because our relationship is really the beginning of the story behind Lovestagram. Mike and I started dating in October 2009, and it was clear pretty quickly that we got along.\n
So almost exactly one year after our first date, he and I moved in to an apartment together in the Alamo Square neighborhood. \n\nI took this photo with a beta version of Instagram while we were assembling furniture for the apartment. I still can’t believe this was the instruction manual for these West Elm chairs: Step 1, assemble these 8 separate, highly confusing parts. Step 2, admire your work. \n\nI included the photo today because it’s an apt metaphor of how I – and a lot of other non-technical people – viewed software development. Step 1: get a brilliant engineer to build all this complicated stuff. Step 2: You’re done. No wonder people are intimidated! That Step 1 is so opaque to people who don’t code.\n
Fast forward a week to October 7th. I took this photo of Mike when he came home at 6AM the morning after Instagram launched. He and Kevin had guessed that maybe, if they were lucky, they’d get 2,500 users on their first day. It was more like 25,000. That day was just the beginning of what’s been a year and a half of amazing growth for them.\n\nWitnessing the almost instant success of a product like that was of course thrilling, and I thought to myself: “I want to know how to do that!!”\n\nBut also... as much as I was curious about programming for my own sake, I also wanted to better understand how the person I was in love with spent so much of his time. I wanted to be able to have educated conversations about what he was working on, and connect over our shared knowledge.\n
Early the next year, I asked Mike to teach me a little Python, which is the language Instagram uses. I learned a teeny bit, and I actually had a lot of fun, but I didn’t take it too seriously. I was writing practice code that felt totally abstract and irrelevant to my real life, like counting how many tangerines, cherries, and apples were in a list of fruit.\n\nIt was a little like learning Latin in the 21st century. Good for your brain and certainly not pointless, but still pretty isolating. It’s not like Julius Ceasar is going to show up at the office watercooler. \n\nI wouldn’t exactly say that I lost interest, but I stopped coding.\n
Then, that summer, two of my friends got engaged. They’re both avid Instagram users, and I wanted to get them an Instagram-related engagement present. I decided to print out photos they had taken of each other and put them in these pretty cool polaroid frames.\n\nI discovered that it was a pain to find the photos I wanted. Instagram doesn’t have a web client, and the third-party web clients that were out there at the time were hard to use and crazy slow.\n\nI wish I could say I had a Eureka moment, right then and there, but I didn’t. The idea for Lovestagram became clear over the next several weeks, and it crystallized into the question: “What if there were a way for people to uncover their shared Instagram history more easily?”\n\nThat idea was a turning point for me. Suddenly I had a reason to learn to code. I wanted to make something specific. Instead of like learning Latin, it became like learning Spanish to travel to South America.\n\nSo while I’m certainly not in a position to be doling out programming advice, this transition was really important to me, so I figured I’d put it in big letters on the next slide.\n
\n
Since I wanted Lovestagram to be a Valentine’s day gift for Mike, I asked a few of my other engineer friends and found an amazing introductory Python book, called Learn Python the Hard Way. It’s fun, it’s accessible, and it teaches you not only the syntax and logic of Python, but also some of the skills you need to be a good engineer. \n\nI worked through it really quickly, but once I was done, I kind of hit a wall again.\n
How the heck do you turn a basic knowledge of Python into a web application?\n\nAnd because I didn’t have an immediate answer to this question, I procrastinated for several weeks. This is where having a deadline came in handy, because I had to get moving again even though I wasn’t sure what direction to go in.\n\nAnd it was around this time that I realized another big thing.\n
In fact, it’s not even that difficult. There are lots of good books and classes and resources out there.\n\nThe hard part was figuring out how to turn my knowledge of syntax and logic into a working web application.\n\n\n
So, after talking with some of my engineering friends, I discovered Django, which they called a “web application framework,” but which I call “plumbing for Python.” Django solved two big problems for me: 1) it made it relatively easy to give Lovestagram a web interface, and 2) it provided a really simple method for connecting to a database.\n\nOnce I got a grasp of Django, I started integrating more necessary technologies into the app. \n\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
This slide represents most, though not all, of the technologies and tools that I used to bring Lovestagram to life.\n\nThink back to that diagram for assembling my West Elm chair. A web app isn’t that different. There are nuts, bolts, screws that require a certain size of screwdriver, holes that align only when you turn the furniture a specific way. It is complicated. \n\nSidebar: Google is an exceptionally powerful tool for programmers. When you have a specific question, it’s almost guaranteed that that people have asked and answered it before on a forum like Stack Overflow. HOWEVER, the power of Google fails when you don’t even know what to ask. I encountered this a lot as I was learning to work with all these technologies. This is what friends are for.\n\n\n\n
\n
Moral support\nTechnical guidance\nInspiration\nBeta testers\n