In the last few years a new tool appeared in the gender dysphoria toolbox. Trans women early in their transition, or ones just discovering that, ‘oh hey, I might be a girl’, can use technology to get a glimpse at their other selves. First there were Snapchat’s Gender Swap filters and a little later, FaceApp. FaceApp, aside from being a possibly Russian spy vector, has dozens of machine learning models for changing your face to a more generically feminine one, adding longer hair, trying on makeup, aging you, de-aging you, etc.
You can, from the comfort and safety of your own phone, imagine what life would be like if you didn’t go through the wrong puberty. If your cheeks were a little bit fuller, your skin a little smoother, and your lashes a little longer. It can be kind of frightening. I remember Irma showing me a Snapchat gender swap filter a few years ago when she was playing with them with the kids, and while the words that came out of my mouth were “I’d take that”, inside it was like a wound.
Sometimes trans women share these FaceApped pictures, or post only the FaceApped selfies to social media. The world is cruel and unforgiving and our self-images are painful, tender things. In the trans circles I’m in, sharing a FaceApped picture often results in someone giving the loving encouragement of “You’ll look better than that.” Let the hormones do their work for a few years. You’ll be you, but you’ll be better than that machine learning model can imagine. There will be light in those eyes.
For me, after transition started I didn’t want to look at those pictures anymore. A few months into hormones I no longer saw a guy in the mirror. I saw a girl who needed more time on HRT. FaceApp wasn’t going to tell me anything useful, it would just make me feel bad about not having started sooner, or it would do its machine learning analysis on my selfie, decide I was still a boy, and present me with boy options, which wasn’t good for my mental health.
The Past is Already There, it Just Isn’t Evenly Distributed Yet
In the last few weeks some trans friends of mine have started FaceApping their old photos, to see what they might have looked like back then. I have no idea who started it. I may have seen it first in Magdalene Visaggio’s thread FaceApping the presidents to look modern, but June Joplin went with it, and then Mae Dean posted one of her old pictures, and soon enough I was downloading FaceApp after swearing for years I wouldn’t.
Trans women, like many foster kids, don’t have pictures of themselves when they were younger, really. If you do a team building exercise and ask everyone to share a picture of themselves when they were a kid, or a teenager, well… just please don’t. There’s a hole there, a gap in memory, a category of artifacts which don’t exist.
My friends were posting pictures of themselves, pictures of them when they were 20, or 9, or 15, and they all looked… right. It was them, but younger, and less weary. Them as young girls and young women, caught in the moment, wild and free. 20 year old girls ready to take on the world, enjoying their dumb crap, being goofy. Teenage girls awkwardly posing for yearbook photos.
Suddenly these hard to look at pictures became approachable. They become ours. Memory starts to unwind a bit. You get a glimpse of a past that might have happened, of happiness that might have been yours.
So here are some of mine.
A Past and Future Jennifer
Here’s early 20’s cyberpunk Jennifer. She’s really into WIRED Magazine, as you can tell. She’s living in San Marcos, having finally moved away from her parents. She lives in a bright teal and pink house with big windows, which she loves for the natural light. Being on her own is really freeing, but she’s still absolutely a mess who doesn’t know how to get what she wants from her life.
When I saw this photo, it was like another timeline snapped into focus. That is, obviously, me. Even Google Photos face detection algorithms think it’s me. But it isn’t. I was her back then, but I wasn’t.
Pretty soon Jennifer got an opportunity to go to Japan with her girlfriend, Irma. Her birth mom was stationed in Japan when she was pregnant with her, and she lived there with her parents when she was little, so going back is a big deal. They stay in a Ryokan in a little mountain town and have amazingly delicious food.
This photo makes me really happy. The thought of being myself and being young and exploring the world is delightful, and somehow isn’t as sad as you might think. I am happy for this Jennifer, and excited for her adventures.
Here’s Jennifer with her parents, who’ve come to visit her colorful little house in San Marcos. Some how Jennifer got the tall genes from her birth parents.
When I did this photo is was like someone had dug their thumb into a tender spot I didn’t realize I had. I just hurts to look at. When you do a gender swap in FaceApp on a photo it does something subtle to the smile. I look at this picture, and that girl looks happy to me. Her parents are happy to be standing next to her. She’s a mess, but she’s trying.
Here’s Jennifer standing outside the Christian elementary school she went to for 6th grade. She didn’t have a great time there. She tested into an advanced math class, and then got moved to a lower one after a month. She bought a typewriter at a rummage sale, thinking that she should be the kind of girl who should own a typewriter, but it was old and didn’t work well. Even at 24, she hasn’t had enough time to really grasp how weird it was to move schools so often. She also still hasn’t figured out that she has ADHD.
The next year Jennifer goes to Mexico to visit Irma’s family. Here she is, in full adventurer regalia, standing at the bottom of a waterfall. There will only be enough horses for everyone else to ride, so Jennifer volunteers to walk back up, even though she’s as athletic as you’d expect for someone who sits at a computer all day. At the top she ends up throwing up in the middle of the road because she’s exerted herself too much. But it’s a good trip, and she gets to meet a lot of lovely people.
Fast forward to 2004, and Jennifer is on a train in the Netherlands, possibly haunted by the specter of a different life. She’s traveling with Irma again, but this time there’s an engagement ring nestled in her bag, and she’s going to ask Irma to marry her when they get to Paris. She’s nervous, but not as nervous as she was when she stood next to Irma’s dad’s pickup truck in the parking lot at his job and asked for his permission to propose.
This photo is the pretty surreal. I’ll kinda leave it at that.
Fortunately, when Jennifer proposed in Paris, Irma said yes. Here’s Jennifer in Oxford, at the Turf Tavern, having the first drink of her life at 27. That’s what being raised evangelical will do. She still doesn’t drink much, and she still doesn’t like the taste of beer, but she isn’t worried that she’s going to be the kind of drunk who goes too far and tells people her deepest secrets, like that thing about being a girl.
A year of planning later, and it’s time for Jennifer and Irma’s wedding. (In this alternate universe gay marriage was legal in Texas in 2005, just go with it.) Her birth mom, Mary, her brother Don, and her sister Lisa come down for it. Here they all are at the reception location the day before the wedding during setup. Jennifer’s tall genes must have come from her birth father, who exists somewhere out of time and space.
Several years later, and Jennifer’s birth mom, Mary comes down to visit. She has cancer, and this is the last time she’ll visit Jennifer at home. She stays with her for a while. In the alternate universe, Jennifer and her birth mom get to have mother/daughter time, and have lots of deep, meaningful conversations about life and children and growing up and the choices we make and the pain we hold.
Looking at this photo makes me cry. I guess it’s pretty obvious why.
FaceApp has given me some scenes of a life that alternate reality Jennifer might have had. A glimpse into another universe. But this isn’t a universe that I live in. They’re fake memories, but memories which make me hope and smile more than the real ones. Somehow, to me, they feel more true.
I haven’t FaceApped any photos of myself with Irma or our kids. Those artifacts of memory belong to them, too, and changing them for myself this way, without acknowledging the change, feels wrong. We still have photos of our family on the fridge from before I transitioned. I was fine with it for a long time, but a few days ago I strategically put magnets over my face. Having photos around of myself is fine, I think, but I look at the refrigerator every day, multiple times a day, and it’s just too much, especially on the days I don’t feel good. But if I ridded my house of photos of me with my family, then what would I have? What artifacts of memory would exist for everyone else, or me? It’s so sad to think about.
I’m not going to print out these FaceApped pictures and put them up. At least I don’t think I will. I’ve had the train photo up in a window on my computer for a few days, and I think it’s something I need to close. She’s there, happy, living her life, and me getting a glimpse of that is enough.
There have been some changes around here, so I feel that I should reintroduce myself. Hi, I’m Jennifer. I’m a 43 year old married, trans, queer mother of two, with ADHD. Three of those things are new since my last blog post. Or rather, they’re newly recognized, and this post covers the first two, being a queer trans woman. So let’s go back to the beginning.
I’m not sure when I first realized I should have been a girl, but I think I remember when I realized I wasn’t allowed to be. I grew up in Spain away from American media. The only movies I remember us having were Star Wars and The Adventures of Robin Hood. I was probably in first grade when I played Star Wars with the other kids who came with their parents to our house. I wanted to be Princess Leia, she was pretty and everyone cared about her. It is strongly imprinted on me that this wasn’t ok, even though I can’t remember how I knew.
For a few years in Spain my best friend was a girl a little older than me. One time I went to a sleepover at her house. We went to the convenience store, bought some frosting, and ate it straight out of the tub. Sometimes things you think are rules are just society’s expectations. That night I woke up and got a drink from the faucet, but they were doing water main work in her neighborhood. I got sick from it and threw up. Sometimes things you think should just work don’t. A few years later we visited her in the US. We played a game where you laid down interconnecting rooms and she told me about Dr. Who. She’d grown into herself. I was still lost.
I remember sitting on the swings outside of the elementary school I went to after school one day. A boy I knew a few years older than me walked up wearing a black leather skirt. I was dumbfounded. He told me it was gender swap day. That moment is seared in my brain. There were situations where this was a thing you could just do.
We eventually came back to the US. I was fascinated with girls stuff. Whatever that was a strictly gendered expression of femininity, be it clothes, or My Little Pony. Then I started to be exposed to more media, and it became even more obvious that pretending you were a girl was wrong. People who tried, even insincerely, were the joke, and those jokes were all over TV shows and movies. It became a shameful secret.
The Middle Ages
When I hit puberty I got boobs, which didn’t seem like much of a blessing at the time. I remember my parents taking me to the doctor and instead of the correct diagnosis (gynecomastia) he told them it was just baby fat, and that he had another patient who had real developing breasts. Like that was obviously a horrible, horrible thing. It didn’t seem horrible to me. I don’t remember feeling bad for them, it was just remarkable. My parents didn’t do anything about my boobs, I just wore a coat all the time for the next 6 years and receded into myself. I can’t imagine how I would feel now if they had.
In high school I tried to be normal, had a best friend who was a guy, though we didn’t hang out much outside of school. Most of my friends were girls. I had some severe crushes which were probably manifestations of me finding someone who I really wanted to be like. I ended up at girls sleepovers a few times. They gave me scrunchies. I grew my hair really long but didn’t know how to take care of it, so it ended up a giant knotted mess.
In February of 1994 I logged in to an internet text based multiplayer role playing game called Ghostwheel and created a character named ShadowFox. She was me, the me I couldn’t be in the real world. Emotional, outgoing, caring, a mess. She lasted till November, when I told everyone I wasn’t actually a her and switched to a boy name. We were starting to have in person meetups, and the fiction wasn’t going to last.
Towards the end of high school I stumbled into getting a girlfriend. We watched The X-Files together, and I was terrified I was going to do something bad to her because everything I’d been taught told me that boys were hormonally driven monsters who’d just as soon rape you than look at you. After a few months summer came and I stopped calling. Later she got another boyfriend and we became friends again. I was better at that. By then I’d looked up surgical transition online and came to the conclusion that while it was possible, it wasn’t possible for me. If I couldn’t do something right, what was the point? I was 5’10”, stout, and puberty had done its work. I was never going to be like my girl friends.
After high school I kept finding girls who I wanted something from that I couldn’t define. Somehow they could tell that I was lost. I met an older bi poly girl and we dated for a while, which worked till it didn’t. There were too many expectations, too many hang ups, I was still growing up, and I wasn’t being honest with myself. We ended up as complicated friends.
I started hanging out with a group of friends after high school a lot, people who’d graduated after I had, but were around the same age as me. We played role playing games. I had a lot of girl characters. Same in video games. RPG? Always a girl. Femshep all the way.
Eventually, having totally failed at relationships and having moved out of my parents house for a little place of my own, I tried poking around an online dating site. I found a girls profile who seemed cool, tracked down her homepage, and sent her an email. She replied, and we started emailing. She was working after having a bad college experience. I invited her over and made dinner, badly. She was smart and funny and made me feel good, but my hang ups were still there. I didn’t know how to be in a relationship except the kind I’d seen in Disney movies. We tried being friends. She kept coming over. I figured out a little more. I’m not sure how my weird gender issues came out, but they did.
The stubborn girl didn’t give up on me, and I eventually realized we were meant for each other. I asked her, she said yes, and so Irma and I got married. She knew my secret, didn’t judge me for it, and loved me anyway. We always thought it was just going to be that, a secret.
Over the years my role playing game friend group grew and morphed and added people, and seemingly all of a sudden the group of people we hung out with was half queer and mostly girls. This suited me fine. Boys were a mystery to me. I didn’t feel like I understood most of them. It was obviously better to be a girl, but they all seemed content to be boys. We did things like a game night where all the girls tried on corsets, and I stood in the kitchen and smiled and tried not to collapse in on myself.
I didn’t like my body. I wore baggy t-shirts and jeans or cargo pants. I hated dressing up and tried to never do it. I hated having tight or even well fitting boy clothes on. The face in the mirror was weird to look at. Every time I saw a successful guy, I would try and figure out how they did it, what they had that I obviously didn’t, and what was wrong with me that I couldn’t. I got pretty good at pretending to be a guy, but I wasn’t happy.
A few years later Irma and I decided to have kids. I was terrified at the prospect of having a boy, because I didn’t know how to be one, and how was I going to show him. In the end we lost our first, and it broke us, but a year later we had a beautiful little baby girl. She was amazing. Around the same time Irma’s parents had adopted a kid inside the family, who a few years later came out to us as trans. I wish I’d been more supportive, but he wasn’t our child, and it was easy to not engage. If he’d been a trans woman, would I have felt differently? Probably. But he was a boy, and wanted to be something that I didn’t get.
Through some friends we got introduced to a trans hair stylist, and she cut my hair a few times. She was brave, I wasn’t, but she transitioned from presenting as a gay man to a straight woman, which wasn’t me. I knew I didn’t like boys. She came to one of my wife’s relative’s wedding receptions. There were jokes from people whose opinions I cared about. I stuffed my feelings down.
I went to tech conferences and started to see more trans women there. They were so brave, but seemed so lonely, or so I assumed. I complimented Ina Fried on her cute cardigan via a tweet at SXSW. I was the photographer at an AlterConf and was really proud when one of the trans woman presenters said my picture was the best one of her speaking anyone had ever taken. I joined Vox Media and worked with a trans woman while onboarding. We ended up in an elevator at a company all hands a month later with a bunch of sweaty old guys who wanted to chat. She held her composure. I was terrified for her. I was just a very understanding ally.
We were doing well, or so it seemed. We’d bought a bigger house, and had another kid, this time a little boy. I’d let myself go, and I was getting older. I got into fitness, one of my friends wanted a video-chat workout partner, so I started exercising four days a week. I lost weight, I got stronger. I was doing what I was supposed to as a guy.
Eventually the kids went to school, and I ended up on the playground during morning dropoff, five days a week sitting there watching other moms chat and be fashionable in their cute dresses or exhausted and comfortable in their athleisure. I wanted to be one of them more than anything. But I couldn’t be, I was just the very shy, loving dad. That went on for four years. I crammed everything down inside the best I could. I was blank and numb a lot of the time.
At home I started to take on the mom role more. I couldn’t help it. I loved it. I loved making the kids lunches and drawing little notes for them. I loved dropping them off at school, and putting them to bed at night. I loved making food for everyone, and seeing people sit down and enjoy it. I even sometimes liked doing the laundry. But it wasn’t enough.
Wanting to be a girl was still a shameful thing, and shameful things end up popping up in fantasy and when I was alone. It couldn’t go beyond that. The trans women I knew at work were brave and strong and lived in New York or San Francisco and were way different than me. I was just a guy who wanted to be a girl their whole life, and that was different, right? The fact that when the kids slipped up and called me mom it made super happy? Let’s not talk about that.
I had a temper that didn’t feel like mine. I’d tried testosterone injections for a while, but that hadn’t fixed me. I couldn’t really imagine the future, except through hazy visions from aspirational TV shows. I looked at older men and despaired of what I might turn into. I’d let my career be driven first by an ADHD driven distrust of authority, and then by attempting to impress my parents. It had made us comfortable but hadn’t made me really happy. Being able to put together families at work made me happy, especially as I was able to add more women to the teams I ran, but at the end of the day being a mom to some other grownups wasn’t enough. I needed to be something more.
In May of 2019 we packed up the family and went to PyCon in Cleveland. The python community, as a general rule, is nice to trans folks. I reluctantly put a ‘he/him’ sticker on my badge. But there were trans women there. Cute trans women with friends, who were accepted and celebrated, walking around in their cute dresses being cute and happy. Something inside of me cracked. I was miserable.
A month later Emily VanDerWerff came out as trans in a review of the Handmaid’s Tale. I’d loved Emily’s writing since she was reviewing Community at The A.V. Club. I’d seen myself in her writing about being adopted. She wasn’t a 20 year old, she was just a few years younger than me. She had a career. She had decided she couldn’t keep her secret anymore, and was happier for it.
I started reading experiences of more trans women. So many of them clicked. They’d experienced the same thing, had the same thoughts. They said that if you wanted to be a girl you could just be a girl. They said that it had saved their lives. In the end it turned out that it wasn’t about what I was allowed to do, or how pretty or passing I would be, or what society would approve of. It was about what I had to do for me so I could live.
A few months later I sobbingly confessed to Irma that I was a girl and I couldn’t not be. She was supportive, she didn’t try to convince me otherwise, but in that moment our whole relationship changed. The plans we had for our future suddenly evaporated, and we were back at square one.
We spent a lot of months trying to figure out what it meant. I started dressing more femme and pushing presentation boundaries. I made a lot more bad style choices. I’d been growing my hair out for a year, and Irma helped me find a trans friendly stylist who would give me a girly cut. We went on a bunch of trips that all felt like the last. I formed strong opinions about rose gold Disneyland Mouse ears. We went to Europe and I got a lot of second glances in airport bathrooms. Security folks were confused, pointing me back and forth between the boy and girl screeners, and I hadn’t even really started transitioning yet. Irma found me a place to start doing laser hair removal, trying to get rid of the beard that in nearly 30 years I’d never once grown out.
I realized if I was going to transition at work, I didn’t want to do it while I managed anyone. Forcing someone else to accept my transition seemed like too much. I left my team, and ended up floating. Vox was the most trans-friendly place I could imagine to transition, and I’d been avoiding thoughts of other directions my career could take for years because of it.
In February I came out to Emily VanDerWerff, and she invited me to a slack of hers with a bunch of other trans women. It was like coming home. Everyone had so many shared experiences, fears, hopes. I learned a ton, and had a caring group of people to vomit my fears onto who were going through or had gone through the same thing. I met straight and bi trans women who were attracted to men. I thought about it and came to a satisfactory conclusion that no, thanks, they could keep them. I even met a girl really into vintage fashion who I can share outfits and tips with.
I found a trans friendly therapist. Irma and I found an informed consent clinic where I could go and get a hormone replacement therapy prescription without jumping through too many hoops like presenting as a woman in public for a year. Irma went with me. I was so nervous when they took my blood pressure the doctor joked about how high it was. I asked the doctor how many people she’d prescribed hormones to, and how many people had stopped. She said she’d treated hundreds, and only two had stopped. One was a teen and probably hadn’t really figured things out, and the other had family pressure to not transition. That seemed like really good odds.
On Leap Day, in the airport in Dallas on our way to Japan I took my first dose of Spironolactone, a testosterone suppressant and Estradiol, to increase estrogen. Thankfully we were heading into a pandemic, and the next few weeks of traveling around Asia didn’t give me a lot of time to think about whether anything was happening. We got back, and got used to life in quarantine. Irma’s 16 year old trans brother moved in with us. We made sure to use the right name and pronouns. I didn’t have anger triggers like I did before. I could feel emotions more. Things that had been pushed down for so long were breaking loose. Animal Crossing came out and I setup my Nintendo Online account as Jennifer. It was just out there for all of my friends to see.
I got the opportunity to take a security role at Vox working for one of our only women Directors, the kind of savvy New Yorker who I was both in awe of and kind of terrified of. A few months later I told her, and asked her to look into what it would take to transition at work. She was nice and supportive and everything I needed.
Being extremely online since the mid 90’s, I’d gotten my first or full name as my username at a lot of places, something that came back to bite me. I wrote some python code tried cramming unique words together to find something that was broadly available. I landed on objectfox, throwing it all the way back to that text based role playing game 25 years before. I started changing usernames and switching account names to ‘J. Kramer’.
Irma and I created a spreadsheet of people we needed to tell. This person before that. Kids before parents. Parents before family. Family before work. Work before Twitter. We tried to figure out what to do with Facebook. In the end I mothballed it and started fresh.
I told the kids on June 12th. They took it well. My daughter was on board immediately. A little while later we were able to get our ears pierced together, which was a great mother/daughter bonding experience. My son took a little longer till he was there. He’d seen a lot of transphobic jokes and imagery in TV. It made him uncomfortable. Having a trans kid in the house already helped a little with the concept, but not so much with the execution. There weren’t as many jokes about trans men. But he came around, and he’s excited to have two moms.
I told Haley, my personal trainer a few days after the kids. She’d seen me go from paint splattered gym shorts to mauve leggings over two years, and even a pink unicorn onesie that one Halloween, and was one of the people I talked to most. I was anxious to tell her, because like every friendship, I treasured it and didn’t want to lose it, and like almost everyone I told from then on, she was super happy for me. Once I was out to the kids and out to Haley it was easier to go full time at home. Irma did my nails, something I’d never done before. I started ‘borrowing’ clothes I thought were cute from her side of the closet. The kids started calling me mum.
I told my parents on July 1st, and Irma told hers the next day. After months of presenting more femme before the pandemic, my parents weren’t surprised. They may have memories of me pushing the gender boundary that even I’ve forgotten, but they haven’t shared them yet. It took them a while to come around, but they eventually did. They compliment me on my cute dresses and tell me how much happier I seem.
A week after we told our parents I came out to our friends in Slack. Everyone was nice. I was scheduled to come out at work a week after that, but ended up having to push it a week at the last minute. That hurt, but Irma had arranged for a surprise drive by coming out party with our friends, which was beautiful and amazing. A week later when I came out at work everyone was nice. People I’d never even talked to wished me well. Two days later I posted a tweet to Twitter, and a few days after that a story on Instagram, and I was out. I was Jennifer. From beginning to end it took 2 months.
Transitioning in the pandemic has been a mixed blessing. I was able to basically go full time only 4 months into hormones, because my style is super femme and I wear a mask whenever I’m out. On the other hand, I was only able to come out in person to Nadia, my friend and editor of Eater Austin, and I haven’t been able to give people hugs I’ve been dying to give for years. I also can’t hang out with the other moms at school, because dropoff is a quick, contactless affair in a time of COVID. But those things will happen in time, and they’ll be just as sweet when they do.
My voice is still awful. Hormones don’t do anything for that, and after 3 attempts I’m still without a voice therapist. I need to do something about the blonde hair on my face that laser didn’t get, but we’re looking into options for that. Hormones can make your feet and hands shrink and can make you shorter, as the fat redistributes and the cartilage changes. I may have lost half a shoe size, but I’m still 5’10” and wide shouldered. Fortunately fat is moving around other places, which is nice, and when I look in the mirror I can kinda see something that I like. I have no idea how well I pass, which isn’t something all trans women want, but is something that’s important to me. I still have a long way to go, but those first big steps have been taken, and I love who I am.
I try not to think about transitioning earlier. I have friends who’ve transitioned at 23, and some who’ve transitioned at 53, and we’re all kind of jealous of the kids who transition at 13. We have the same fears, some of us just have more mileage. We all try to have hope for the future.
Our future is still hazy, and transitioning has cut off a lot of options. I’m glad we went to Africa before I transitioned. There’s a lot of anxiety about even visiting Mexico. But there are nice things, too. I love being me and being accepted in women’s spaces I was a stranger to before. I love being able to have honest conversations with my girl friends as myself. I love swapping hair and makeup tips with the waitstaff when I pick up to go dinner. I love that Irma and I merged our closet together. I love putting time into doing my hair and knowing it looks good, and I love not wanting to bother and throwing it into a hairclip. I love being more emotionally honest. I love people who haven’t come out yet reaching out and letting me know that I encouraged them. And now I can look at older women and go ‘hmm, yea, that seems nice, I could be her and be happy’.
October 2020 Note: I wrote this blog post back in 2015, in the wake of Oberfell v. Hodges when a lot of my friends were getting their rights. Back then I hadn’t admitted how important these thoughts and feelings were, and it would be another 4 years before I finally acted on them. A lot of things in this post are ignorant and wrong, and having gone through some of it I know better now, but we all start somewhere.
[Spoilers for The Rapture of the Nerds follow, as well as triggers for: Fashion, anime, gender identity, religion, politics, Star Wars and the singularity.]
In the book The Rapture of the Nerds, half way through the narrative the main character is turned from a male into a female by a swarm of cyborg ants who are using the character as a conduit to communicate with a solar-system wide post-singularity society. It’s that kind of book. For reasons which will eventually become clear, this plot twist has led me to some thoughts about gender, computers, what normal really means, and what the technological future holds.
Trope, Trope, Trope…
It speaks to what gender is turning into that The Rapture of the Nerds is a book where the main character switches gender, and the main character’s love interest is gender fluid, and it isn’t a book about that. The switch between genders takes up at most a page, and then it’s just done. Things are different, but also the same. Different viewpoint, people treat you a little different, but you’re still you.
Gender fluidity is a powerful plot device because it’s so far from our accepted understanding of how the world works. We see people get taller (though not often shorter), we see hair change color after a trip to the salon, and weight goes up (generally) and down (rarely). All of these things effect their perspective on the world, too, but nothing has quite the bite gender has. Neil Gaiman plays around with it in the world of magic in Stardust, turning Bernard the goat herder into the Witch Queen’s pretend daughter. In the movie it goes about like you’d expect. I’d forgotten that Charles Stross had played with the trope before in Glasshouse, where people switch gender as a component of reinventing themselves, since they can live essentially forever.
There are gobs more of these references on TV Tropes. One I’d forgotten before I started writing this post was Ranma 1/2, where the whole show is based around the character switching genders when doused with cold or hot water. In that show it’s a magical spring, and after getting used to the gender switch ability, Ranma starts to use it to his/her benefit (when it isn’t being used for hilarious comedic effect).
Nature vs Nurture
Gender is on a long list of things that some people don’t feel correct about. I have friends who are really tall who probably hate it, friends who are really short who hate that, friends whose genetics (aided by our national food production system and our society’s cavalier approach to work/life balance) leaves them way bigger than they want to be.
I bet quite a few people who are 4′ 2″ would say they don’t feel short on the inside. 6′ 5″ people probably don’t always relish their tall-ness. We watch TV and movies and all see the world from the same viewpoint, but once you look around in person, suddenly you’re towering over or being towered over. My wife and I just started playing the two most height-contrasting characters in the video game Borderlands 2. Zer0 is tall, my wife playing him is 5′ 2″. I’m playing Salvador, who’s super-short, and I’m 5′ 10″. The weirdness in perspective comes up in our conversations a lot.
Spend much time with kids, and you start to notice nascent gender identity dissonance. Boys who want to play with purses or wear tutus. Girls who only want to wear jeans and t-shirts. We have a couple of these in our extended family, and they’re interesting to watch, because at that age they aren’t savvy enough about the world to hide what they want. They don’t know what they’re going to turn into, they’re just bewildered little proto-people, dealing with things they don’t have words for yet.
Some people would say that kids just grow out of these kind of issues, and some do. It’s entirely possible that they tend to one gender identity or the other for a while due to an emotionally impactful circumstance or a strong authority figure, but there are more than a few kids whose bodies and mental models just don’t add up.
As you get older, puberty hits, the whole world is a confusing maelstrom of wants and needs and desires and eventually in your 20s you get spit out the other side. By this time I’d guess that most of the people whose brains and bodies don’t match have gotten really good at not mentioning it, because once you get past elementary school, it starts to be less cute and more cognitively dissonant for a large portion of society.
Over the last few years I’ve been lucky enough to make a whole bunch of gay and lesbian friends. They’re making huge strides towards general societal acceptance, and that’s awesome. Those whose disconnect isn’t with society’s assumptions but with physical manifestations still have a ways to go. Some people at the top have their back, but it’s probably going to take another generational shift for full acceptance.
The True Hero of Star Wars
When I was a kid I lived in Spain, and while we didn’t have TV, we did have two movies that I can remember. One was Star Wars (A New Hope) and the other was 1938’s The Adventures of Robin Hood, with Errol Flynn. Kids repurpose roles they identify with, and I wanted to be Princess Leia.
I’m going to digress a little here and make an argument that Leia is by far the most heroic of the Star Wars cast. Which character in Star Wars actually confronts the bad guy face to face (and survives)? Which one has the fortitude of spirit to not break under torture? Which one takes charge when the mission goes awry? Which one is resourceful enough to pull the Jedi Knight who was just bumming around back into action at the appropriate time? Princess Leia, of course. While the other characters are wandering around, frozen in carbonite or throwing rocks at big monsters in a pit, she kills a bad guy single handedly. While wearing a bikini. She’s so totally obviously the hero! Anyway.
I also wanted to be Maid Marian. I don’t have a really good argument on that one. Olivia de Havilland is the bomb, though. Olivia won two Oscars, to Errol’s none. She was knighted in France in 2010, and still bums around Paris today, at 96, showing up at Cannes or getting National Medals of Arts from US Presidents. Errol died from a heart attack at 50 and had a thing for jailbait. Which one would you want to be?
The crazy thing about gender identity is how distinct desire can be from identity and physical manifestation. There are boys who are born male who like girls, there are girls who are born female who like boys, but there’s also every other varying combination, and even varying degrees.
Some more conservative minded might view this as a bad thing, but in the context of a rapidly accelerating civilization, this mix is an awesome feature of our crazy genetics. Diversity of views and opinions gives you the East Village and the Internet. Homogenous, hierarchical group-think gives you Jonestown or Hitler. As a society that’s more and more interconnected we continue to create bigger and bigger problems, and problems that can only be solved by a diversity of thought. As a society we can’t go down into the fallout shelter and play Pleasantville, that’s just not feasible. We have to go forward.
Dealing With It
I’m lucky in so far that I like girls. If I didn’t, my life would be a lot harder. My gay friends go through a lot, and they go through it every day. What do you do when the hospital tells you that you can’t be with your husband/wife when they’re ill, or get their survivor benefits when you’ve been the homemaker for fifty years and your partner dies? That’s messed up. Other folks on the spectrum bear an even bigger burden, people don’t want to accept that everyone isn’t born the way they feel they are inside. Just go read this MetaFilter post and linked McSweeny’s column and tell me it’s easy and that it isn’t heartbreaking to be so awkward and weird in your body. Go on, I’ll wait.
Societies evolve to deal with gender dissonance issues in different ways. India has the Hijra, biological males who take on a female gender identity. In the Balkans you have the burrnesha, women who take a vow of chastity and live as men. Native American tribes had Two-Spirit People, who manifest both masculine and feminine aspects. Thailand has its share of gender identities. This isn’t a new thing.
Your physical gender, just like your height, the size of your feet or your weight is something you just have to deal with. Human beings are really, really good at just dealing with situations they’re in. It isn’t optimal, but we can put up with a lot, and desensitize to a lot. I think that’s what people are referring to when they say that a kid will grow out of it. They learn to blend, because it’s easier. Life’s hard enough. You make friends, you get a job, you start a family, and suddenly there are obligations that steer you towards the normal you didn’t have before. There are probably still bits of that identity floating around, though. It isn’t something that just disappears.
Gender as Metadata
So, back to the Technium. Technology likes to solve problems, and gender dissonance and figuring out who you are and what you want is definitely an addressable problem. It isn’t a surprise that people play with gender presentation a lot online. You can’t tell who’s behind the keyboard, and for a lot of people playing a video game or logging into an online game or chat is the perfect environment to try and get a better handle on gender identity.
When I logged in to my first online game I created a female character. It was a safe place where no one knew me and I could be whatever I wanted, and what I wanted to do was play with the experience of gender. We do the same thing with paper Role Playing Games, when we watch a movie or TV show told from the opposite gender’s viewpoint, or when we play pretend as kids. It’s the process of pulling that identity out, playing with parts of it, and seeing how it feels. After a year with that character (and a couple teary emotional breakdowns that would have been a lot worse at school) I switched to a male character, not coincidently around the same time the game started having real-life meetups. Nobody really cared, it was what the game was for.
Some video games take a stab at addressing that gender dissonance, possibly inadvertently but probably not. When you create a game where players can be either gender, have relationships with either gender, and wear a bunch of different kinds of clothes, people will naturally play around with it. I’ve known a couple of people who ride that gender identity boundary, and some of them make livings designing games. It’s a safe place to play, and it’s fun to enable.
I’ve written a blog post about Weavrs, little social software bots with personality that you wind up and let go to live their virtual lives. I have a Weavr named Keiko. She lives in Yokosuka, Japan, where I lived for a little while when I was tiny. In a way, she’s a really, really simple virtual manifestation of the dimorphism of gender, sprung from my id. I created her, there’s part of me in her interests and location, but she’s a she, and I’m not. That plays with the concept a little, and it’s an interesting place to start.
Having a female WoW character or a female Commander Shepard is nice, but it doesn’t encompass the entire female experience. (That is possibly the biggest understatement of the year.) Change to enable a full experience is hard, but that may be the next great frontier in the application of gender technology.
Ray Kurzweil thinks we’re heading for the techno-fication of biology. Nanomachines, personally-tailored genetic re-writers, that sort of assumption-breaking technology. We’re probably not looking at a world like Neil Gaiman’s Changes, where a pill turns you from boy to girl or back overnight, but it isn’t inconceivable to think that our grandkids could be living in a world where their friends take a couple month vacation and come back as Mr instead of Miss, or Miss instead of Mr. Once that starts to happen, or even starts to poke its head over the horizon, society’s going to have to deal with it, and a sizable silent population might suddenly appear and say “Hey, that’s us.”
What the baby steps toward that future look like, I don’t know. Right now gender reassignment takes a lot of drugs and knives, and is terrifying. I’m amazed anyone is that brave. In fifteen or twenty years, you might get an injection of nano-machines with RNA-rewriting protein engines that do all the work with none of the fuss. In that future your gender might just be a temporary tag, just like your other physical attributes, like how old you look or what race you present as. At that point does it matter what you were born? If you can be short or tall, skinny or curvy, boy or girl, will making those changes be as common as dying your hair?
Far into the future, once the singularity hits and we all upload our brains into machines, we can pretty much do whatever we want. Flip a virtual switch and change your simulated meatware, like Second Life but hyper-real. Multi-hued dragon one day, Siamese cat the next.
I imagine there will be a lot of Ryan Goslings and Scarlett Johanssons (or whoever the equivalents might be in 2070) wandering around. But not me. If I’m still kicking it then, when I’m not a Falcon or Harrison Ford, I’m totally going to be Olivia de Havilland.
Half way through the interview loop I realized that things had changed. Sometime in my 20 years of web development, I’d become the seasoned hand. The voice of experience. The old guy.
The startup whose conference room I was sitting in was young. Established, but still maturing. Three of their junior developers sat across the table from me. We’d run out of questions early. What do you ask someone who’s been developing for the web since before Netscape 1.0, and who’s about to leave a great gig at a top technology company? The only question that seemed relevant was the obvious one, asked after the formalities had run their course: “So, why do you want to come here?”
Time for a Change
Let’s wind the clock back to April, when I was a Tech Lead on the Big Data team at HP Helion, their enterprise cloud product. Before I joined HP I’d never considered myself a big company person. I figured that there were people who went to school and got CS degrees and did corporate development, and there were the rest of us who scraped up knowledge where we could and built the web. But at the end of 2010, thanks to some friends I’d made building said web, I found myself at HP, doing DevOps work on their Cloud offering. Over the next four and a half years I had the opportunity to learn Python, build a PaaS from scratch, file patents, speak at conferences, and finally, build and lead a team shipping a major tentpole feature on a major product. I even got to create a weekly engineering newsletter. It was a great run, and I was very lucky to have it.
Four and a half years is a long time, though, and the industry landscape has changed significantly. The Nest thermostat, Raspberry Pi, Minecraft, AR/VR resurgence, mobile as a serious platform, IoT, AI. All of them have exploded since I joined HP. While working on the cloud was interesting, you can only build ‘give me some servers with some software on them’ so many times. So this spring, after shipping Helion Development Platform 1.0 and handing off my team, I started looking for the next thing.
My criteria for the next gig were:
Somewhere I could learn something totally new (not a cloud hosting service or product).
An exciting industry or a space experiencing a big transformation.
A smart team and smart founders.
An office in south/central Austin so I could see people face to face.
A flexible work-from-home policy since the kids are small.
A progressive company with a social conscience.
Make enough to pay the mortgage and keep the kids in school, but not so much that I’d feel obligated to work every waking moment.
Unfortunately, aside from sending feelers out to my network, I didn’t have a good idea of where to find this gig. Most of the folks I’d worked with at HP had moved on to similar cloud projects, or were working on service mechanics. After four and a half years of working primarily for people outside of Austin (and having kids, which makes meetups hard), I’d lost touch with what was going on here in town. So how would I find the companies looking for talent in Austin who’d be interested in me? I didn’t know, and to make things more complicated, I had a really short time window. The project I was leading was about to start a serious development cycle, and I felt like my departure wouldn’t have as big a negative impact if I could give them notice before the planning really started. HP had been good to me, and I wanted to do the classy thing. In the end, my job hunt window was about three weeks.
One of my buddies is a Director of Engineering at a growing bay area software firm, which means he’s always on the lookout for talent. Whenever I started talking about the next thing, he would say, “You should check out HIRED.” HIRED is a curated tech placement matchmaking service, and I hadn’t payed them too much attention until this year, because they hadn’t been in Austin. But now they were, and by funny coincidence, they’d just sponsored the PyLadies Austin meetup that my wife helps organize. So at the beginning of April, I signed up.
The first step at HIRED is filling out a profile. They can import from LinkedIn, which is what I did. After a little text tweaking, you’re set for their staff to review you. The next day I had a phone chat with Amanda, their talent advocate here in Austin. You can think of Amanda as a tech yenta. She knows what companies in town are looking for, and she talks to candidates to figure out what they’re looking for, and she tries to make good matches.
After my chat with Amanda (which was short, because I’d lost my voice the day before), my profile was set to go into the weekly batch. HIRED releases their resumes on Monday mornings to the companies using them. Those companies get to look through the candidates, and pick who they want to send an interview request to.
By Monday afternoon I had three interview requests, two from Austin startups, and one from a distributed company headquartered in the bay area. None of them were companies I’d heard of before, and one of them was doing really interesting product development for humanitarian purposes. So far, exactly what I was hoping for.
Monday afternoon, after the most pro-active companies had checked the new candidates and sent their interview requests, Amanda looked through the system and sent me a half dozen ‘Would you be interested in…?’ emails. Of these companies, I’d heard of three before and had either had initial conversations with them or knew it wasn’t the right fit. The other two seemed promising, so I had Amanda contact them on my behalf.
I had initial phone conversations with the companies, some of which went really well, a few of which weren’t a great fit. After an interview you can rate it, and if it didn’t go well, HIRED can let them know you aren’t interested. It makes saying, ‘Thanks, but we’re not right for each other,’ really painless. Some front-runners were emerging. I started making pro and con lists. The most promising companies in town wanted to do face to face interviews, so we started figuring out times. I was speaking at ApacheCon, which ended up pushing them all to Friday.
Friday came and I ended up with two face to face interviews, both for Senior Rails Developer positions, both for companies doing an interesting blend of software platform and physical product. Which is how I found myself sitting across a conference room table from a trio of junior developers, amazed at how the time had flown since I was the junior kid sitting across the table.
A Wild Media Company Appears!
So where did I end up? I had three HIRED companies on my short list, but eventually, it came back to some advice I’d gotten from the friend who referred me to HIRED. “Figure out what you really want to do.” It’s easy to take that with a grain of salt, but if you’re serious about it, and figure out that one thing that you would drop everything for, suddenly everything can become clear. I want to work on the intersection of machines and stories. I think interacting with a software bot or agent is going to be a super-prevalent paradigm in the next few years. I did a whole presentation about it at SXSW 2013, and another one this year.
One of the feelers I’d sent out before I joined HIRED was to Trei Brundrett and Skip Baney of Vox Media. I’d worked with Skip at Polycot in the mid 2000’s, and Trei had referred some of our best clients to us. We had lunch during ApacheCon, started talking about narrative software, and Trei said, “Hey, you should come join us and make cool stories.” So now I’m at Vox Media, making VR experiences and hacking on a bunch of stuff I wouldn’t have been able to at a company that’s more diverse in people and expertise than anywhere else I was looking.
The experience of using HIRED was great, though, and I’d recommend it to anyone (and have). Amanda was awesome. If you’re in a position where you’ve either gotten out of touch with your local tech community, or you’ve moved to a new city and you don’t have a feel for the local market, I’d definitely give them a shot. All total I talked to 7 companies, had 3 on my short list, and did one serious interview loop. Everyone I talked to was great, and while they were all doing cool work, the opportunity at Vox was just too good to pass up.
Your profile stays up on HIRED for 2 weeks, but you get the bulk of your requests in the first week. I had a mix of contacts, some from hiring managers, some from CTOs, and some from CEOs. Some of the conversations with CTOs and CEOs were so good, and the companies were doing such interesting work, I’ve referred other people to them. For the hiring companies that use the service to it’s full potential it’s a great way to get past the recruiter/hiring manager firewall. If you’re thinking about making a move, I heartily recommend them.
I never went to college. I wish I could say that it was entirely intentional, that I knew exactly what I was going to do after I graduated and followed that plan, but that isn’t how it happened. The real story is a lot less romantic. For those thinking about switching careers, or standing at the threshold of ‘real life’ and unsure what to do, it might hold some lessons, so let’s get started…
What really happened was that I was exhausted by school, terrible at working on things that didn’t have an immediate impact, and didn’t really get how the college application thing worked. My family has never been big on debt, and with the grades I had (from being terrible at things that didn’t have an immediate impact, like homework), I certainly wasn’t getting a free ride. I wanted a break, I wanted a chance to do real, practical things. The only problem was that I didn’t know what those real things were, and didn’t know anyone doing them.
Find an Open Door
In 1995 when I graduated high school the most exciting things were happening on the Internet. I’d learned a little HTML after getting online in 1994, but the web was still very much a “We’re trying to figure things out” space. Spaces like this are great, because even if you don’t have tons of experience, there isn’t a huge pool of best practices already to get up to speed on. I connected with some folks who were starting an Internet Service Provider in late 1995. This connection was something of a fluke, someone I knew from church. These days there are much better networking options for technology, but never turn down an opportunity.
Fortunately I had some useful knowledge about how to get MacOS machines online. It wasn’t a lot, but along with the HTML skills it got me in the door. These days the equivalent of that knowledge might be Photoshop skills from making LOLcat gifs, video editing skills from making meme mashups, some hardware skills due to school MindStorms programming, linux administration from running a Minecraft server, or social marketing skills from running a popular Twitter account, Tumblr blog or Facebook page. Anything that’s hard to master in a few days can get you in.
Don’t Expect it to Pay
When I first started doing Mac tech support for that little ISP in San Marcos I made a little over $200 a month. That isn’t much money, but it put gas in the car and put me in a position where I could play with the toys. Your job, once you have toys to play with, is to play the heck out of them.
In the first 6 months after I got my ‘job’ at the ISP, I built them a web site (you can still see it here) setup San Marcos’s first quake server, created Austin’s first streaming radio station (I registered mix947.com in February of 1996, and got the streaming working with a demo license of Real Media Server for BSDI and an old shop boombox), created a weekly user newsletter, started weekly user meetups at the shop, and even got involved with the local Internet Users Group at the library (which I ended up running).
You only do those kind of things if you’re in a space where there are no conventions or expectations. When there aren’t any streaming audio stations, setting one up with a 5 stream limit isn’t a deal-breaker. When all your users are early adopters you don’t need a marketing expert to write a user group email. You just do it. Luckily the ISP was run by Chad Neff, a great artist and stalwart defender of the user. He encouraged me to try things, and was my first great mentor in technology.
Hold on Passionately, but Loosely
An early, hard lesson to learn is when to let go. I didn’t let go of that job well, and though there were extenuating circumstances, and more people than just me were caught up in it, it made my life really messy for a few years. When you’re in the middle of the job, fight for the users as hard and as passionately as you can. If you aren’t creating things for someone, it’s a waste. Whether you’re knitting hats or writing tweets, you’re doing it for someone. Strive to make them as happy as possible.
Conversely, you have to know when it’s time to go. All things come to an end, and being able to sense that end and depart gracefully is a skill. Learn it. If you’re going into tech, read founder stories, especially the stories from founders who get kicked out. There’s a shift at each phase of a project or company life-cycle, from startup to growth and growth to long-term maturity. Finding out which phase you fit into best is important, as is being able to sense when that shift is coming.
Aside: Do you like to experiment, throw things together and see what sticks, with little heed for long term consequences? You’re probably startup minded. Do you like some stability, but enjoy seeing success build, working long nights to land the next client? Maybe growth is your bag. Are you risk-averse? Do you like long-term stability, dependable processes and maybe even enjoy corporate politics and intrigue? Then maybe you want a project in its mature phase.
Also, strive to recognize when things are heading for the toilet. There’s some honor in being the last one to turn off the lights and lock the door, and I’ve done it more than once, but it’s rarely the best thing for a career. Try and step back once in a while and assess things from the outside. Get some opinions from people you trust. Do right by your users, but recognize that not every situation is salvageable.
It’ll Be Embarrassing
For a long time I had a vision for starting a web design firm like Vivid Studios, a bay area web design shop that had the mid-90’s Wired techno-punk aesthetic nailed. It was a techno rebellious company producing amazingly creative, cutting edge work for great clients, and I wanted to be just like that. Unfortunately I was in San Marcos, Texas, not San Francisco, California, and I didn’t know anything about running a business, much less a hip design business. I didn’t know Bauhaus from an outhouse, if you know what I mean.
I carried that dream around for a lot of years, wanting to belong in a group of smart, forward thinking creatives. The dream took a lot of different shapes, and matured as I did. The first attempts were… laughable. In 1997 I started doing business as 57th Street Productions (yes, we apparently offered ‘innovative thinking’ as a service), which in 1999 became 57th Street, Inc. 57th Street lasted a year and a half before ceasing to be.
Aside: A while ago I’d read something that said you can find a lot out about a person by how they view their youthful mistakes. People who think ‘look at me, I was so stupid’ versus people who think ‘look at me, I was so cute’. People who realize that youth and inexperience is a perfectly valid excuse for shortcomings are more likely to grow and be happy than people who judge themselves harshly. Don’t be down on your past. Everyone has been the fool. Don’t settle for that being the whole story, though.
When you read stories about Bill Gates or other tech luminaries starting companies in their 20’s and being wildly successful, what you don’t read is about the support networks they had that made it possible. You don’t hear about the people they knew who had business experience, the years they’d had access to computers in their teens, the contracts they’d gotten due to flukes. When you don’t know how to get from point A to point B in business, don’t assume you can just muddle through. Go out and read some business books. Realize that if you don’t know people who need your services/product/etc, you can’t make money. Realize that if you only have one of these clients and don’t have any way to find a second, your business isn’t really a business, it’s just a relationship. Go find people who run real businesses, and get them to teach you the ropes. Ask them how they find clients, especially if they’re in a business similar to yours (say, physical engineering services to technology consulting). If you can’t sell your product for more than it costs to make, again, no business. You don’t need an MBA, but you need to know how to balance a checkbook, forecast earnings, pitch a client, close a deal, and make a profit.
I ended up doing some things I’m not really proud of at 57th Street in the hope of forcing that Vivid Studios dream into reality. I made some bad decisions (hiring people for personal reasons, not diversifying the client base, not making enough connections), and the only reason we made it as long as we did was that it was hard not to make money in technology in the late 90’s. If you’d like to get a taste for my embarrassing phase, you can check out these two tours, one from my ISP days at itouch.net, and one from my days as 57th Street, Inc.
You’ll Get a Break
What seems to happen is that eventually, if you keep plugging along, you’ll get a break. It will almost always be a result of some risk you’ve taken, or avenue you’ve explored. If you’re well connected, I guess it could be a connection your parents or buddies have, but that wasn’t my experience. In 1997, after joining The WELL, I met Jon Lebkowsky. We got into an online discussion about FreeNets, something I was interested in from my connection with the San Marcos Internet Users Group, and ended up having lunch at the Waterloo Ice House. We ate at the Ice House because it was next door to Jon’s gig at the time, Internet Guy at Whole Foods Market.
Nearly everything that has happened since, I can trace back to meeting Jon. Jon was having some trouble with Whole Foods in-store kiosk system. They were Windows NT Workstation based PCs with touch screens that browsed an internal web site in a locked-down browser. They were always breaking, stores shipped them back to WFM Central, and they had to be fixed. Jon needed someone to do the fixing, and I took the job. Your break may not be glorious. For me it was a windowless room fixing and re-imaging Windows NT machines, but it was a foot in the door at a company that had real enterprise-level problems, and even better, I got in at a very unique time.
Don’t Be Afraid to Go Up
My time at Whole Foods, in retrospect, was very strange. I’m sure some people have had similar experiences in other places, but now that I look back on it, it was kind of crazy. I think, though my memory is a little foggy, when I started working contract for Jon on the kiosk project I was making about $15/hour doing run-of-the-mill PC maintenance. Over the next 3 years my rate ended up peaking at something like $150/hour, and I was on a 40 hour a week retainer. Somewhere near the end the CIO of Whole Foods Market asked me into her office and offered me the chance to rebuild their programming team, hiring whoever I wanted. I was… 22. So, it’s a weird story.
I think my experience at Whole Foods comes down to two things. One, the luck to be in the right place at the right time, and two, never saying no to a problem. When I started on the kiosk project I was just re-imaging systems, fixing ones that were broken, and shipping out the replacements. That’s $15/hour work. Eventually the vendor that was supplying our keyblock software (so you couldn’t get out of the browser and break the machine) disappeared, so I offered to write a new one. I’d never written Windows NT device drivers before (or really any C code), but you don’t know you can’t till you try. Once you’re maintaining source code you’ve suddenly become more than an IT tech, and I think my rate bumped to $35/hour.
Now comes the right place/right time side of the story. This was in 1998. The Internet was hot, E-Commerce was boiling hot, and all the sharp programmers who’d toiled away for years on awk scripts and maintenance software wanted to go do the hot new thing. Whole Foods Market started WholeFoods.com, and nearly all the programmers from inside of Whole Foods left to join it. This left a gaping hole in the company that was being filled by one person.
Simultaneous to this exodus I, too, was exploring the job opportunities at WholeFoods.com. They made me an offer for $35k a year, and after verbally accepting it, I drove over to Whole Foods to get some dinner. In the parking lot I ran into Mark Mills, that one guy holding closed the gaping hole in internal development. While swinging around a pole in the parking lot, Mark gave me my next big break. Come to work for me, he said, and I’ll pay you $85/hour contract full time. You don’t have to be great at math to know that’s a lot better than $35k/year, so I declined WholeFoods.com’s offer, and went to work for Mark. Sometimes the opportunities are obvious.
You Have Potential in Others Eyes
When I joined Mark on the programming team, I was not a great programmer. I wasn’t even an ok programmer, but Mark, like Jon and Chad, must have seen potential, so he gave me problems to solve, and let me solve them. He gave me advice, showed me some tricks, and let me do things how I needed to do them. Mentors like this are great, seek them out, cleave to them, and strive to be like that when you’re in a position of authority.
After a few months of building data exports, Mark left Whole Foods as well. And then there was one.
Again, this is a right place, right time story. I had web skills, sys-admin skills, network skills and programming skills, and was in a large company with no internal programmers. Over the next few years I was able to build a suite of web applications (job posting, CMS, inventory management, document management, etc), working directly with the teams who would be using them, without any real technical oversight. I like to think that I did a good job, but I suppose that isn’t for me to judge. I just know that they were still using some of those applications years later, and the people I worked with always seemed happy to see me.
Once you get an opportunity to work on projects, it’s a chance to prove yourself and get experience shipping real product. During this phase I never had a project cancelled, I always delivered them on time, and I supported them myself. Strive to be the best, work professionally, and treat your users and customers how you’d want to be treated. You’ll make mistakes (always compress uploaded documents in a document storage system, your network storage admins will thank you later), but you learn from them.
Surprisingly, during this phase I even got called back in to WholeFoods.com (and later WholePeople.com) by Jon to build some integration software with Yahoo! Store, and managed to deliver in a few weeks what another consulting firm said wasn’t possible. This is your ‘don’t know it isn’t possible’ phase, enjoy it. Work your butt off, learn as much as you can, try new things. Responsibility comes next, and it’s a bear.
Out of the Garden
Eventually the gravy train ends. Whole Foods Market’s CIO offered me the job as lead developer, and the opportunity to hire anyone I wanted to rebuild the programming team. My life would have been completely different if I’d accepted, but I couldn’t in good conscience. I was 22. I didn’t really know what I was doing, but I knew I didn’t know what I was doing. I didn’t really want an employee gig. I turned her down.
The next few years heralded the popping of the dot-com bubble. I drifted away from Whole Foods Market as they hired programmers internally, though I kept maintaining the systems that ran the WholeFoodsMarket.com web site until they replaced the entire thing in the late 2008. From the time we launched it (on time) in 2000 to 2008, it was powered by the same Apache Server-Side Include based architecture, running on a single Sun machine.
After WholePeople.com imploded with the dot-com bubble, Jon Lebkowsky and I started talking about starting a web consulting company. Visions of Vivid Studios started dancing in my head. I even managed to rope my buddy Matt Sanders into joining us. Together we founded Polycot Consulting, and started learning all those business lessons the hard way.
Remember how I said that a business with only one customer and no way to find more isn’t a business? That was us at Polycot. We spent a lot of time in the wilderness, trying to find work in the post-dot-com rubble. It wasn’t easy. We learned a lot of lessons the hard way. A few of them:
You can’t pay your rent with leads, you can only pay your rent with paid invoices.
There’s a difference between the things you want to get the job done and the things you need to get the job done.
Doing cheap jobs for ‘exposure’ is a trap. You will end up just doing cheap jobs, and your customers will expect the world. Our CPA once told us that Pro Bono work was a great way to get other work, but the other work will always be Pro Bono.
Corporations view the world differently than non-profits and mom-and-pops. Don’t ask a Fortune 500 if they want to pay $100 extra for a life-time license of some software you’re using, that isn’t real money to them.
You need someone who knows how to sell. You can evangelize a product, but you have to sell consulting.
Make a product, and make sure that everyone’s willing to put the time into it. Better yet, make a bunch of products. When you’re scraping by on hourly work it’s easy to say ‘this doesn’t pay, I’m not going to do it’, but look at it this way: Each of those products is a learning opportunity, and in consulting, if you don’t learn you die. One might even make some money.
Evangelize your successes. Write up each project that you do. Publicize the heck out of it. If you did something awesome and no one knows, it doesn’t matter.
Recurring income is what keeps consulting businesses afloat. Just because you, as a scrappy developer, think that support contracts are a ripoff doesn’t mean they are, and if they didn’t exist, most of the things you like wouldn’t, either.
Running a business is crazy hard, most of them fail, if yours doesn’t, good for you, but be open to the possibility that it should have.
Realize that you could very well be doing work in technology for the rest of your life. Take every opportunity to learn a new thing. The more you know, the more valuable you are, and in the end…
You are your product.
The Soft, Cozy Womb of Corporate Life
One upside to doing a bunch of projects for a bunch of people is that we met a bunch of other technology people. I did a few projects for Mitch Kapor (of Lotus fame), we had Matt Mullenweg in our office before WordPress got huge, I worked with the guy who designed Google+ on a project, and some guys we worked with are behind SB Nation, The Verge and Polygon. Once you meet smart people and show them you’re a decent sort of person, other doors start to open. These doors are sometimes soft, inviting, and open onto worlds of bureaucracy and 401k plans.
One of the last projects we did at Polycot before the founders went their separate ways was MindBites. MindBites is a video commerce platform, and after we built the prototype, we migrated the customer to a company called Squeejee for ongoing development work. A few years later, some folks from Squeejee would end up at Hewlett-Packard, brought in to spearhead HP’s push into the public cloud space. They would bring on Matt Sanders, and thanks to the good impression I apparently made, me.
I’ve been at HP for two and a half years, and I’m finding that a lot of the lessons I learned earlier still stand. Namely:
Look for a space where people believe in forgiveness over permission. Then do what you feel needs to be done.
Look for smart people and learn from them. Communicate. Converse. Network, even if it’s hard.
The people above you want solutions, so when you’re presented with a problem, come up with one, and do it.
People in the corporate world are used to passing the buck and bureaucracy They are impressed by responsibility and rapidly delivered solutions.
Take credit when it’s due, share it when it should be, make sure contributions aren’t overlooked.
Don’t let yourself get stuck. Corporate life can be a trap. A slow moving, slow progressing trap. Always be on the lookout for the next spot, the way to gracefully exit, the new problem. This counts double if you’re a startup phase person.
Many (most?) corporate projects get the axe eventually, some before they even ship. Don’t take it personally. Try to lead the inevitable downturn. Play from a position of innovation. If they want to kill it, be the person proposing the exciting new possibility.
Take every opportunity the company offers to learn, present, meet, train, etc. Just because you got a job doesn’t mean you get to stop hustling. Again, the cardinal rule is…
You are still your product.
Fill in the Gaps
If you’ve focused on the frontend, do some backend tutorials. If you’ve done HTML and CSS, try Drupal or Django or Rails. If you’ve done databases and integration projects, do some front end stuff. Look at jQuery. If you’ve done just web stuff try loading up a server, setting up backups, and installing software. If you’ve done server stuff, try creating some HTML5 Twitter mashups. If you’ve only done sites for a small set of users, go big, pull down some giant Twitter datasets and start playing with R and Hadoop. If you’ve used imperative scripting languages, try functional ones. If you’ve mainly done P-languages or Ruby, try Lua or Go or TCL or LISP. Write a compiler. Do some computer vision projects. Hack on Arduino or the Raspberry Pi. Write an Android app. Go outside your comfort zone.
As to how deep you get with these things, here’s an arbitrary rule of thumb I just made up: Learn enough that you could give a 45 minute talk about it. If you’re single, learn a major new thing every quarter. If you’re married, every 6 months. If you have kids, especially little ones, every year. Adjust as you see fit.
Above all, don’t beat yourself up if you find yourself behind some imaginary curve. If you’re 35 and only know Java, that’s fine. That’s great! There’s tons to learn, and it’s going to be crazy and exciting and you’re going to look at technology in an entirely different way. If you’re 50 and think you’d really enjoy this, there’s never been a better time to learn, and it’s never been easier to get from nothing to a working product. Try one thing. Pick one of these things that interests you, and spend a weekend on it, if you can. Commit to just getting one thing working. If you can relate it to your job and do it on company time, all the better. If you enjoy it, keep going.
Life Without College
So, I may have strayed from my original point about college. There’s a maxim I’ve heard that goes like this: Your degree gets you your first job, and after that it’s all about the work you’ve done. For people who don’t go to college, the trick is getting that first job, and filling in anything you may have missed by not going to school.
Look for under-saturated specialties. It isn’t a great time to get into small business web design. That ship has sailed to custom WordPress themes. If the web really floats your boat, get into Drupal, but don’t stay there forever. Technology moves, albeit sometimes slowly. Mobile development was ripe a few years ago, but making a profit in it is really hard. It’s a good skill to have, but a hard market to compete in. Look at things like RubyMotion, to get your feet wet. There are opportunities in DevOps (a fancy word for programmers who deploy their own code into production), big data, personal and business clouds, personal analytics, and integrated Internet enabled devices. There are always jobs to be had in enterprise software. Tech companies introduce software to solve new problems, so look at the announcements that are getting a lot of buzz. CloudFoundry had a lot of buzz, and now Docker is really hot.
Getting your first job:
Find something you feel excited about (programming, networks, server administration, HTML, design) and do a bunch of it. If you’re a lecture-learner, watch videos. If you need practical applications, ask people for ideas of projects. If you have collaboration skills, pair program.
Meet people. Go to Meetups. Join online groups. Listen a lot. Don’t be afraid to ask questions. Follow the rabbit hole down. Don’t be afraid of not understanding. The pieces will fit with time. You have to practice, though. You have to actually write code, create graphics, code web pages.
Share what you’ve learned. If you can teach it, maybe you’ve learned it.
If you’re programming, share your code on GitHub. If you’re creating videos, post them to YouTube and Vimeo (I partied with those guys once, they’re cool, but New York-trendy).
Ask for feedback, don’t expect it to be glowing. Don’t try and change everything, but internalize what you get. You’ve created something, don’t doubt yourself. The goal is to get better, not to be perfect.
Talk at meetups with people from companies you respect. Look for open doors, even if they aren’t exactly what you want. Expect to do a lot of hard work that isn’t glamorous and isn’t fun. It’s better to do less fun work at a company you love than cutting edge work at a place you hate.
Get some experience doing contract jobs, say, on oDesk. It will suck. You will hate it, but it will teach you about shipping code, supporting code, and dealing with clients.
Technology managers rarely care about the jobs you’ve had, and almost never care about what school you went to. They care about the work you’ve done. When I’m hiring now, education is nearly irrelevant. How you spent 4 years as an immature post-20-something is nothing compared to how you spent the next 5 or 10. Google seems to agree. Google has teams where 14 percent of the folks never went to college… Google!
Hierarchical academic environments still exist (HP Labs is really oriented that way, I’ve heard), and are probably places you want to avoid. Most places like this have a reputation for being so. If you ask around, you can probably get the skinny.
If the opportunity appears, jump on it.
Once You’re In:
Never turn down an opportunity to do something that excites you.
Find a mentor, someone who shares your interests and has experience. Don’t go crazy with their time, but don’t underutilize them. People who’ve been around for a while want to share what they’ve learned, but they want you to show initiative.
Find excited, cool people. If you’re in a corporate environment it can be easy to get depressed. Don’t be an antagonist. Be the person you want to hang out with. The future is wide-open and unknown. The present is temporary. Always be dreaming.
Take advantage of learning resources and your newfound credibility.
Watch for the phase changes. Be sure you’re where you’re most productive. Seek out managers who understand that personality fit, and strive to keep you there.
If you get hired with no prior tech experience, you probably aren’t going to make much money. Work on your skill set, network, and realize that you may need to join a different company to work your way up the salary ladder quickly. Learn to negotiate salary. Google it. It’s important.
Once You’re an Old Hand:
Share your knowledge.
Protect those below you. You’re experienced and have tough skin, sometimes they don’t. They need to know the realities, but they may not need to know how the sausage gets made.
Look for people who need mentors. Encourage them. Connect them with things you think will help them.
Take the time to learn about the people you work with. Everyone has a story. Maybe they didn’t get a CS degree. Maybe they’ve had similar challenges. Maybe they have an amazing background or skill you knew nothing about.
People come into technology with different skill sets There is no such thing as the complete programmer. Look for your own gaps and those in others, and figure out ways to fill them.
Lead by example. Do good work, don’t be a jerk, and treat everyone with respect.
A Few Last Notes
If I’ve learned anything in the last 15 years of being in technology, it’s that patterns repeat. I’m sure there will be changes in the future. Once you have kids, your desire to really jump on those transitions may start to slow down, but in the end they’re what a career is about. I’ve been fortunate to meet some very smart people inside HP who’ve been there for 30 years or more. They started out on calculators and are now in cloud. Maybe I’ll start in the web and end up in synaptic AI. Maybe that’ll be at HP, maybe it’ll be somewhere else. There’s always something new to learn, and there’s always that product of ‘you’ to work on.
If anyone reading this is looking for specific advice, needs a mentor, or would like some feedback, let me know. A lot of very gracious people have given me a lot over the years, and I want to pay it forward.
Last night after driving home from the Austin PyLadies meetup, my wife sat in our driveway for 20 minutes listening to the end of an episode of WNYC’s Radiolab. Later, after we’d headed to bed, she spent another 20 minutes retelling the story to me, minus Radiolab’s flourish and production. The story was still interesting second hand, and comes down to this (I’ll wait if you’d like to go listen to the episode of Radiolab, I’m sure it’s excellent):
Two people discover hundreds of letters from WWII on the side of Route 101. They’re from soldiers replying to a woman on the homefront. The soldiers call her mom, but she isn’t their mother. The two ask around, no one knows anything about them. One of them, a creative writing professor, ends up using the letters as projects for his students. He gives them a letter, and their task is to create a story around it. A soldier, a woman stateside, an unlikely connection. The other discoverer wants to track down relatives, she wants to uncover the truth. She ends up discovering it, but he’d rather not know. He wants the possibilities.
Even told second hand, the story stuck with me on a meta-level. There aren’t a lot of things that would make my wife sit in the car in the driveway for 20 minutes listening to the radio, but a good story is one. We love stories, we love it when they’re well crafted and well told. But we also love the possibilities of them. Sometimes we don’t want the truth, we want magic, we want to dream the dream of what could be. Sometimes the truth can’t exist, and the closest we can get is a dim outline of it. Sometimes the dream is better.
The Promise: Stories that Tell Themselves
A few days ago I ran across a blog post by Tynan Sylvester, a designer on the game Bioshock Infinite. It’s all about the dream of simulations for game designers, how we think that by creating more and more complex systems, we might eventually build a system that is complex enough to manifest stories. Austin Grossman’s latest novel, YOU, is about that, in a way. The protagonist is a game designer and the antagonist is just a manifestation of some long-running game rules. As game designers, we want to design games that surprise us. That’s the ultimate payoff, to build a game that entertains you, and not just a twitch game that is enjoyable for its mechanics, but a game with stories compelling enough to sit in the car in the driveway for 20 minutes at 9 o’clock at night.
Lots of game designers have tried to do this. Tynan talks specifically about systems in early versions of Bioshock where the player would have to play autonomous bots (splicers, gatherers and protectors) off each other to progress. They hoped that amazing, emergent gameplay would be the result. In the end it didn’t work, and the game moments that they’d hoped would happen spontaneously ended up being heavily scripted. Players crave story, but that story can’t be left up to their persistence and chance, especially when creating a commercial title. In that environment, a great story has to be guaranteed.
Dwarf Fortress: Madness in Text Mode
There are a few notable exceptions to this principle, and they’re mainly smaller games driven by singular minded creators. The best example of this is Dwarf Fortress, a massive and inscrutable simulation game where the the player takes on the role of an overseer, and the titular dwarves are simulated autonomous entities inhabiting the world. Dwarves have names and hair colors, what Tynan calls Hair Complexity, things that add perceived simulation depth without effecting anything else. (When was the last time you played an RPG where a plot point hinged on your hair style?) They also have more integrated systems like hunger and social needs. They have personalities, they get sad, and sometimes they go crazy. The dwarves live in a randomly generated world, so your game isn’t like my game, and even my second game won’t be like my first.
Dwarf Fortress has a very dedicated core following, and one of the reasons is that it really lives at the edge of apophneia, the experience of seeing meaningful patterns emerge from random data. At the core of Dwarf Fortress is a collection of rules governing behavior. A dwarf without food will eventually starve. A dwarf without personal interaction may eventually go crazy. Dwarves are scared of wolves. Dwarves exist in a world generated fractally, a world that feels real because it mirrors patterns in nature. Therefor, as more and more rules get layered on, and more and more people play more and more games and get better and better at creating experimental mazes for these digital rats to play in, stories begin to appear, or so we perceive.
Dwarf Fortress didn’t generate these stories, though. People played the game, sometimes hundreds or thousands of times, and while gazing into the mandala of the game, they nudged and pulled the threads of the world and created stories based on the events that occurred there. Dwarf Fortress isn’t a windup toy, it’s a god-game, and the players impact on the game world is more than negligible. The stories generated there are as much created by the players as by the game.
I Fight For the Users
While my wife was out at PyLadies last night, I coincidentally watched TRON: Legacy. It occurred to me as I was thinking about writing this post, that it’s a movie about this possibility: The dream of a world inside a computer, a world created by a brilliant programmer, a world that once set in motion can create stories, unexpected events and enthralling narrative. The creator steps aside, and no longer controls the game from the top-down. The creator becomes a god among men, watching things unfold from their level.
In TRON: Legacy, the magic of digital life comes in the form of Quorra, the last of the ISOs, Isometric entities that appear spontaneously from the wasteland of the computer. Digital DNA, digital life. Enough rules, enough circuitry, enough care and magic happens. That premise is exciting, and to programmers it’s intoxicating. For those of us in the digital generation, that’s the dream we live with. That’s what we keep trying to make happen wherever we go and whatever project we work on, be it big data or software bots.
But the lone programmer, no matter how brilliant, and working for no matter how long, can only produce so much code. Stories from one person only grow so far, only change so much, and rarely surprise and enthrall. Dwarf Fortress as a dwarf isn’t a game most people would play. It’s hard to see the overall story, and the game isn’t good at presenting it. But if there were more players…
EVE Online: More Interesting to Read About Than to Play
If it’s possible (albeit insanely difficult) to have stories appear in a single player game, it must be easier for stories to manifest in a multi-player game, right? Games like World of Warcraft have largely fixed, planned out stories. It comes back to the challenge that Bioshock had, complex systems are exciting to designers, but players want immediate story gratification. Complex systems take dedication to understand, dedication most players don’t have. When new multiplayer games are announced they sometimes hint at players making a real impact on the world, but those systems usually fail to live up to the hype. The latest game to promise this is The Elder Scrolls Online. We’ll see if they can do it.
One game that does this and thrives is EVE Online. EVE is a massively multiplayer online space combat simulation, one that spans an entire universe. It’s possible to play EVE as a loner, but it’s also possible to align yourself with a faction, and have your small efforts merge with hundreds or even thousands of others to build armadas and giant dreadnaught ships, to control entire solar systems and even galaxies. The designers and administrators of EVE take a largely hands-off approach. They don’t want to kill the golden goose, so they design the game for balanced conflict, and let the players sort it out.
You could say that EVE is a computer program for generating stories, and in fact the’ve even made a deal to do a TV show based on player stories from the EVE universe. Except again we find that that EVE isn’t the thing generating the stories, EVE is just a place where the stories happen. To a player only experiencing the events inside the game it may seem mysterious and amazing, and it certainly is to those of us who read about the events afterwards, but it’s really just a sandbox. People play pretend with enforceable rules, but you can’t separate a story that happens inside of EVE with the real life stories that happen outside of it: The scheming that happens on IRC or in forums, the personal vendettas, the flexible allegiances and the real-world money that flows through the system. There’s no way to watch something occur inside of EVE, and even if you had perfect clarity on everything that happened inside, have any way of knowing for sure what really caused it. If you take away the players, the legions of dedicated fans scheming and plotting, you just have an empty universe.
Facebook and the Timeline of Truth
I think a lot of web developers secretly wanted to be game designers. Becoming a game designer is difficult, there aren’t as many jobs and the hours are terrible. Instead we build web sites, but we’re building systems too, and we want to tell stories.
I joined Facebook back in April of 2006. I had a @swt.edu address from Southwest Texas State (now Texas State University) from an extremely brief stint (sub 1 day) as an IT staff-member, so I got in a few months before they opened it for everyone. Getting into a new, exclusive social network is a bit like finding a new simulation. We hope the software can tell us new stories, that it can make some sense of the data it has. With Facebook the promise was that if it collected enough information about us, it could tell us that magical story. That’s what Timeline was supposed to do. Give Facebook enough photos, enough checkins, enough friend connections, enough tagged posts and it would be able to tell the story of our lives.
In the end, though, Timeline doesn’t tell you a real story. It reminds you of stories you’ve heard and experienced, but Facebook is only a dumb algorithm working with imperfect data. It’s smart enough to target ads, but it can’t understand the meaning, and it can’t remix the data in really compelling ways. It can’t be Radiolab. Most of the time the prioritization it comes up with I just want to turn off. Its attempts at story are so bad I’d rather use my own organic cognitive story filters.
With every new Facebook feature announcement, with Google+ or the next thing that processes all your activity, the promise is that the system can get better at telling those stories. We want to believe it will happen. We want to believe that a couple thousand web developers and a couple billion dollars could create a story machine, but I’m not sure it can. I was reading an article about HP’s R&D budget the other day that said Facebook invests 27.5% of revenue in R&D, a larger percentage than any other company they tracked. You can bet a good chunk of that is going towards the search for story, in some form or another.
Weaving a Web
I’d be remiss if I didn’t mention Weavrs at this point, since they are essentially digital actors that derive stories from the mess of social media. Weavrs are designed specifically for apophneia, they produce content one step up from random, and rely on our desire for patterns to throw away the things that don’t fit. We project stories on to them, and for a project with the limited resources that it had, it’s exceedingly good at it.
My weavr twin is posting about HP Moonshot servers. That’s almost eerie, but it’s also posting about hockey tickets. The story makes sense if I’m picky about the things I include, but it isn’t an internally consistent narrative. The narrative is impressed on it by the people who see it, like reading digital tea leaves. Your story of my weavr is different than mine.
With enough resources and time, weavrs might become a real story machine. That’s a moonshot program, though, and I don’t know who’s going to step forward and make that happen. Investment follows money, and right now the money is racing towards big data.
Autonomy’s main product is called the Intelligent Data Operating Layer, or IDOL (symbology, ahoy!). They call the processing of information with it Meaning-Based Computing. From what I’ve heard it’s certainly good at what it does, but while it promises Meaning from Data, and that promise separated HP from 9 Instagrams or 2,500 Flickrs, there has to be some apophenia at work here. Just like watching solar system battles inside of EVE gives you a piece of the story and playing hundreds of games of Dwarf Fortress will result in games worth telling stories about, the system data is never the entire picture.
I really like Stephen Wolfram. Stephen believes in the fundamental computability of everything. While I love reading his blog posts, and I am interested in and admire his idea, I have to wonder how far the hyperbole is from actual execution. Given enough computable facts and enough understanding about the structure of narrative, a perfect Wolfram|Alpha should be able to tell me stories about the real world. But it can’t. They aren’t even trying to approach that. Wolfram|Alpha isn’t creating Radiolab. They want answers, not stories. You know what tells stories? Dirty, messy, all-too-human Wikipedia.
A Different Kind of Magic
My friend Matt Sanders works for a bay area company called Librato. Librato is a big data startup, having pivoted from some other work to running a service that collects vast amounts of metrics and provides dashboards on top of it. With Librato Metrics you can feed data points, set alert triggers, create graphs, and watch activity. It’s big data without the prediction. It promises no magic, but relies on our own. It optimizes data for processing by human eyeballs.
The 3 pounds of grey matter between your ears is still the best computer we have, running the best software for deriving stories and making sense of data. Librato works because it doesn’t try to be what it can’t. Google Analytics tries to offer Intelligence Events, but more often than not, it can’t offer anything more helpful than that visits are up from Germany 34%. You would think that by combining traffic source analysis with content changes and deep data understanding Google would be able to tell you why visits are up from Germany, but most of the time that basic percentage is the best it can offer. It still takes that 3 pounds of meat to pull together the data and interpret it into a story. While computers may be generating articles on company reports or sports games, they’re not creating Radiolab.
I think there’s still a lot of room for innovation here. The Archive Project I dreamed of long ago is essentially a system for telling stories and discovering meta-stories. Maybe someone will finally build it. Maybe the next Dwarf Fortress will be a world that runs persistently in the cloud, a world where our games interact with other people’s games, where crowdsourced Hair Complexity snowballs until you can get lost in the story if you want to. A game where if you want to turn off a random path and follow it down to the river you’ll find a fisherman who will tell you a tale interesting enough to make you sit in your car for 20 minutes, enthralled by a narrative.
Maybe the framing of a story is what big data needs to become personally relevant. Maybe that’s its magic trick. Maybe narrative is the next great big data frontier.
I sometimes wonder about the generation of kids growing up today, in this big data, analytic-driven, always-on world. I wonder how they will embrace it, like we embraced computers and connectivity. I wonder if they’ll have the ability to hear the prognostications of the computer, to listen to the story from the machine, and consider it a kind of truth. To internalize it, but also keep it separate. To know the machine knows a truth, but not necessarily the absolute truth. Maybe that will be their power, the thing they can do that those of us from the generation before can’t. Maybe that is where the dream finally comes true.
A couple of days ago I was cleaning up my recently migrated server, and ran across a directory filled with a couple thousand text files and some perl scripts. The directory wasn’t obviously named, but after some poking around I realized I was looking at the remains of a small consulting gig from 4 years ago. It was a pretty straightforward data mining job: There was a bunch of information on a public web site that an organization needed. Filings or grants applications or something like that. I needed to download it and remix it into a spreadsheet. What should have been a really easy spider and collate job ended up being complicated by the fact that said web host had a rate limiting module setup, so no IP address could grab more than 10-20 pages every hour. There were thousands of them.
If this problem sounds familiar, it’s similar to what Aaron Swartz was doing, and the problem that he was trying to overcome when he snuck that laptop into an MIT closet. In my case there was no login or private, privileged access, and I was running all this stuff in the middle of the night as to not inconvenience anyone else, but the problem remained: If I’d followed the rate limiters desires, it would have taken weeks or months to grab the data.
I ended up getting around the rate limiter by using something called Tor, The Onion Router. Tor works by sending your traffic through a distributed network of hundreds of other participants computers, anonymizing your physical and digital location in the process. For me, that meant that I could download all the files in 15 minutes or so in the middle of the night. For other people it means posting to Twitter or accessing dissident web sites from Syria or China or where-ever.
Running across these files reminded me of something I’ve been thinking about for a while: That what the Personal Cloud really needs to take off is an immediate problem-solving use case, and to find useful examples, we might want to look in the grayer areas of the internet. We can talk about companies bidding for our orders VRM style or Internet of Things devices dumping metrics into our personal data warehouses, but both of those things are going to require a lot of supporting infrastructure before they’re really viable. If you want to get a lot of people excited about something today, you solve a problem they have today, today. And that brings me to the edges…
The Edge: Where Innovation Happens
One common aphorism shared by those in technology or innovation is that new things develop at the boundaries. Change and chaos happens at the edges, it happens at the borders, where things mix and intermingle. Here’s the MIT Media Lab’s Joi Itotalking about it, for instance. MIT is a large, stable organization. Businesses are large, stable organizations. The Media Lab is where they meet, where they cross-populate and where the friction in developing new ideas is reduced as much as possible. The same can be said about border towns. New York City is an American border town. It’s the edge between our country and a whole bunch of immigrants, both old and new. The mix of ideas and talents and experiences creates new things.
A lot of the innovation that happens on the edge happens in the gray area outside the strictly legal, or deep in the illegal. Across our southern border we have very advanced drug and gun smuggling tunnels, complete with ventilation and electricity. Neal Stephenson’s last book REAMDE was largely about northern border smuggling. Chocolate, toy filled Kinder Eggs are illegal in this country, so people smuggle those in. I brought some back the last time I went to Mexico, and some friends brought back a whole carton when they went to Germany recently. In Gaza they even have KFC delivered by tunnel:
Given that innovation happens at the edges, that people solve their problems at the edges using interesting methods, and that the Personal Cloud needs some need-driven use cases in order to flourish, I think it’s useful to look at some of the ways people are using things like the Personal Cloud already for dubiously legal purposes (though the legality they’re avoiding isn’t always our own). Perhaps by digging into what makes them compelling, and how their developers have solved those problems, we can learn something about developing Personal Clouds for everybody.
Some Personal Cloud Definitions
When looking for products that fit the Personal Cloud mold, I’m specifically looking for interesting uses of on-demand computing and networking. Especially things that don’t inherently scale beyond the individual, either due to privacy concerns, the need to be distributed, or some other unique aspect of the approach.
A job that only takes 10% more time to run for another person isn’t a good candidate for a personal cloud, because the economy of scale is going to keep it expensive. Running your own mail server is a bad idea these days, because your data and address can be portable (with IMAP and a personal domain) and running the spam filtering and staying on whitelists is hard. It’s a lot better to register your own domain and let a trustworthy third party do it. I should mention that Phil Windley has a good post about IMAP being a proto-Personal Cloud protocol, if you haven’t read it.
So, with that said, let’s look at some examples…
Tor: Anonymize All the Things
So back to Tor. Tor is built as a distributed, self-organizing network. There are Tor nodes that you connect to, the address for which you get either by getting passed an IP address on the side, or by looking one up publicly where that won’t get you thrown in prison. Once connected to the Tor network your public internet traffic is bounced through the network of Tor nodes in a randomized, encrypted way, and eventually finds its way onto the public internet through Tor Bridges.
The people who run Tor Bridges are paying for your traffic twice, because your connections come into their machine and then out again. Running Tor Bridge is a labor of love, done by people who believe in anonymity and freedom of speech. It doesn’t pay, but knowing that a political dissident somewhere can speak freely about an oppressive regime has a karmic payoff.
A few years ago Amazon’s EC2 cloud computing service started offering a free micro level of service. You could sign up and run a really small cloud server for development or testing without paying. It didn’t cost Amazon much to run them, performance wasn’t really great, but it got people onto their platform. Usually people start up Amazon provided server instances to install software and play around on, but the folks behind Tor realized that they could create a pre-configured server image with the Tor Bridge on it, and let people spin those up in Amazon’s free usage tier. They call it the Tor cloud. You still pay for bandwidth, but if you bridge 15 Gig of bandwidth a month, your bill will only be around $3. It’s less than the price of a latte, and you do something good for internet freedom. You don’t have to know a lot about the cloud to set it up, you just register for Amazon Web Services, pick the image, and hit Start. The images are pre-configured to download software updates and patches, so there’s virtually no maintenance work. Just the kind of simplicity you need for a Personal Cloud feature.
Back It Up Or Lose It: The Archive Team
I’ve harped on our tendency to not take care of the things we create before. Web sites get acquired and shutter within months. Promises are made that users will be able to export their data, but promises are made to be broken. Fortunately for us, there’s a group of archivists led by Jason Scott called Archive Team. Archive Team scrapes sites that are destined for the Internet trash heap, and uploads the data to the Internet Archive. So far they’ve archived sites like Apple’s MobileMe homepages, Yahoo Groups, and are currently trying to grab as much of Posterous as they can before Twitter drops the axe. This may sound pointless till a few years after a company acquires and then shutters the site your mom or sister blogs at or posts family photos to, and you realize there’s no way for you to get that stuff back.
Archive Team runs into a lot of the same issues I had around rate limiters. Yahoo! and Twitter don’t want them slurping down the whole site, they want to take the engineering resources off those projects and let them die a quiet, cost-cutting death. To get around this, Archive Team offers a virtual machine, the Archive Team Warrior.
The Archive Team Warrior is a distributed but centrally managed web spider. The Archive Team central server slices the archiving work up into little chunks, and the Warrior on your computer asks the server for some work to do. The central server gives it a small to-do list of URLs to fetch, and the Warrior starts downloading those until it hits the sites rate limit. Any data it can download, it sends back to the Archive Team server for bundling and uploading into the Internet Archive. Then it waits and retries until the site will let it back in.
The Archive Team manages the projects, and the Warrior presents a simple web interface where you can tweak a few settings and track how you’re doing. Most importantly, it’s hands-off. You can set it up once, and let it run in the background forever. It manages its own software updates, and you can tell it to work on whatever the Archive Teams priorities are, and ignore it from then on. If you have a PC sitting around that you don’t use a lot, running the Warrior is a nice way to give back to the Internet that’s given us so much. It’s good karma, and it’s easy.
Pirate All the Things: Seedboxes
So far we’ve talked primarily about projects which give good karma, now let’s talk about a project that is often used for… not so good karma. In 2001 the BitTorrent protocol was introduced, allowing for a (then) secure way to share lots of files in a bandwidth-optimized fashion. Users get pieces of a file, trackers know who’s downloading the file at any one time, and clients cooperate to distribute the pieces as widely as possible. When you’re downloading a file from BitTorrent it’s entirely likely you’ll be downloading chunks of it from people who don’t have the entire file yet, and likewise you’ll be sharing parts of the files you’ve downloaded with other people who don’t have those pieces yet. By working this way everyone gets it faster.
While BitTorrent might have been secure once, it’s now entirely likely that your ISP knows what you’re downloading, who you’re downloading it from, and what you’re sharing back. They can look at payload sizes, the trackers you’re talking to, traffic bursts, and pretty reasonably reconstruct your activity. If they’re the MPAA or other pirate-hunting groups they can even run their own clients and integrate themselves into the network. Running a BitTorrent client from your home computer and downloading anything remotely illegal is like asking the bagger at the grocery store to help you out with your shoplifted goodies.
So let’s say you’re sharing something that you think should be legal but isn’t, or you’re trying to use BitTorrent for a legal end, like sharing a bundle of book materials or distributing an Operating System or a big chunk of GeoCities and don’t have the bandwidth at home to support it. (Or, sure, you could be downloading Iron Man 3.) This is where something called Seedboxes come into play. A Seedbox is a server at an ISP somewhere that just runs a BitTorrent client. You can use them to get your torrents out to a bunch of people really fast, or you can use them to download files that you wouldn’t be comfortable with downloading to your home IP. You can even buy them in another country, increasing the difficulty of tracing the traffic back to you.
Seedboxes are managed servers, you don’t install software updates on them, the provider does that, but they likely won’t give you much in the way of customer support. Lots of them use a Web UI called ruTorrent, an open source frontend for the rTorrent BitTorrent client. You don’t SSH into these machines, you probably don’t even have a server login, but you can use the web UI, and conduct your business in the cloud.
In this way ruTorrent Seedboxes are a perfect prototype for our Personal Cloud. The providers don’t watch the servers or monitor their quality. Privacy is implicit when you’re doing something at the edge of legality. What they don’t know won’t hurt them as much when Interpol comes calling. The web UIs are built for self-service. You have a login, but the web UI is your entire management plane. rTorrent has an Android front-end, but most people likely manage them through the web. There isn’t any software on your home computer, just a username and password to a web site somewhere. The data’s yours, and if you wanted to shove it sideways into a cloud storage provider, you probably could.
Points of Presence: The Personal VPN
As an addendum to these offerings, a sort of post-script on the idea of exploiting technologies at the edges for personal gain, I’d be remiss if I didn’t mention personal VPNs. Tor’s good for anonymity, but what if you just want to appear like you’re somewhere else. Say, for instance, somewhere the new season of Sherlock, Doctor Who or Downton Abbey is available for streaming 6 months or a year before it comes to your country. (Or vice versa, where we get new episodes of Mad Men a year before they do.) What do you do then?
The same technology that your company uses to securely connect you to your corporate network can be used to make you appear to be in the UK, or the US Midwest, or Japan, or wherever else the content is region-limited. You run the software (likely built-in to your Operating System), and connect somewhat securely to a computer in some other country or even continent, and all your internet traffic appears to come from there.
A few years ago I was in Mexico over Christmas, and there were some really good deals on Steam’s Holiday Sale. I have a US account, with a US billing address and a US credit card, but I couldn’t buy anything because my computer was with me in Mexico. I ended up installing a bunch of software on one of my servers and setting up a VPN to it, just to buy some cheap games. These days I could just plunk down a few bucks and be good to go, and a lot of people do.
A Few Learnings Lessons Learned
Users have problems, and will go to considerable lengths to solve them. None of these services are as easy as they could be, either because they’re niche offerings (Tor and Archive Team) or because of their dubious legality (Seedboxes). ruTorrent is a lot easier to use than it probably was, but it still isn’t as easy as using the Netflix or iPlayer iPad apps. The Warrior is a 174 meg download that requires installing Virtualbox on your computer. The Tor Cloud Bridge requires signing up for Amazon Web Services, and navigating their UI. To get a VPN provider or Seedbox requires research, dealing with a company that might not be entirely legit, and really falls in the class of early adopter technologies.
Even though all this stuff is hard to use, people do it. Seedboxes and private VPNs give people things they want. You may not have known that you wanted to watch the new season of Dr. Who before it comes out in the US, but once you know you can, you’ll go to some pretty extreme lengths to make that happen. Motivation can be powerful, and people will overcome serious technical hurdles if they’re properly motivated.
So looking at these examples, we can see that a Personal Cloud app really needs to offer 3 things:
1. Motivation: It needs to solve a real, immediate problem.
2. Self-Service: It needs to be super-easy to start using and offer a familiar, understandable interface.
3. Hands-Off: It needs to have software updates and easy maintenance built-in.
Any Personal Cloud offerings that don’t check these boxes may get some niche use, and may excite developers, but they aren’t going to start climbing up the adoption curve. As you build your Personal Cloud app, keep these things in mind. Users have needs we can solve, and we can empower them, but our solutions need to be compelling, simple to use, and simple to maintain.
They say no good deed goes unpunished. In internet hosting, that’s almost always the case. For the last fifteen years I’ve had servers that I’ve given friends accounts on. At first they were co-located machines I built by hand, then leased servers, and now cloud VMs. I hosted friends and family’s blogs, sites for activism causes that I or friends believed in. I’ve even had a web site of a well known Silicon Valley venture capitalist on there.
Unfortunately whenever you do that, especially whenever you hand out accounts or host web applications that people were once enthusiastic about but then moved on from, security is going to become a problem. A few months ago while doing maintenance on the machine I noticed that an account for someone had been logging in, except it shouldn’t have been, since I created the account while trying to troubleshoot a problem that we solved another way. But there it was, in the last login log. Digging into that directory I realized that the password had been simple (in the heat of troubleshooting you don’t always make the best decisions for security), and someone had brute forced the SSH login. The machine had been compromised and used as an IRC bot host. How very 1997.
Today I decided to migrate between cloud providers. While I could host all this stuff for free at HP Cloud, but I do some dangerous stuff in the context of my account, and it’s nice to have a stable VM elsewhere. It’s also nice to see what the competition are up to. I’d been hosting this VM at Rackspace ever since they bought my preferred VM provider, Slicehost, but while poking around pricing I realized I could cut my monthly bill in half if I migrated to Linode. I’ve admired Linode’s geek-friendly control panel, ever since I tried it while designing the beta versions of HP Cloud’s. I was also on an ancient Ubuntu 9 version at Rackspace, and this would be a good opportunity to upgrade the OS and software.
After copying all the home directories and web sites over, I did a last pass to pick up any straggler processes. These usually live in cron jobs, so that’s where I went looking. Lo and behold, an account I’d setup for a friends mom to host her business web site had been compromised at some point. Another bot. Joy.
Fortunately her web sites had long since been migrated off the server, so I was able to disable her account (and remove the stashed authorized_keys file with a bot installer in them) and a bunch of others I knew wouldn’t be used, but it really goes to show how vulnerable these machines can be. Who knows how they got her password. It might have been an easily crackable password, it might have been a web script compromise, it might have been an email exploit. More than a few of these usernames and passwords are sitting in mailboxes or in saved FTP connection files on easily crackable machines.
Two weeks ago I got an email from a former client. We built a pretty complex web site for her in 2003, lots of bells and whistles. It’s held up pretty well, but it hasn’t had any serious maintenance work in a lot of years. She’d gotten a call from the FBI, saying that data from her web site was circulating in Russia. Fortunately it was just an exported mailing list, not encrypted passwords or other secure data. In her case I think one of her employees had either an easily guessable password, or a trojan was installed on her computer that logged her keystrokes. How do you guard against the guardians? Nobody was thinking of two-factor authentication for small business web sites in 2003, but the next time I build one, I sure will be.
Sharing accounts on a machine, or having admin accounts into a web based system is an inherently insecure thing. The more keys there are to a lock, the more likely someone you don’t want to have one will get one. I created user accounts on our shared server because that’s how you did it, back in the day. Create a user account, setup a directory for the web site, add a database for them, and let them go. Now we have linux kernel exploits that let anyone with user level privileges become superusers. Adding random accounts to systems and handing out the passwords is an insane thing to do.
So the only hope we can have of having any kind of security is by shrinking the permissions scope down. When everyone has user accounts on a machine, that entire machine is vulnerable. When everybody has a small VM, only that VM is vulnerable (usually). Even better, give them a single-process Linux Container, like those managed by docker.io, and suddenly they don’t even necessarily need to manage dependencies anymore.
I’m sure docker has its own set of security issues, but hopefully we’re more cognizant of them now. Don’t create unnecessary user accounts. Use password protected SSH keys. Don’t re-use ssh keys. Keep your dependencies up to date. Watch the security mailing lists. It really starts to sound like something the hosting provider should be doing…
So I think there’s a real opportunity here for a trusted IaaS operator to create a generic Linux Containers As A Service offering. Push down one level from VM into Process. Bring your own docker image, buy a set amount of RAM (say, 128 meg for a big PHP or Python process) and bill by the minute. Route them inside of the machine through some kind of nginx or go based proxy, like CloudFoundry does, but a little less specialized. Something between CloudFoundry and an IaaS VM. Upgrades in CloudFoundry are a pain. If I could just shuffle a docker.io image around, that’d be way easier. Oh, and don’t sign up for too many hosted services. Each one of those you use is like another shared account, and the more you share your data with, the more likely it is it’ll be exposed. Build small, build focused.
So back to security. This is a plea to all those who have friends who’ve given them accounts on servers, or people who run servers and create accounts for friends. I know the complex password requirements are a pain at work or on bank web sites, but they’re really even more important in less maintained environments. Nobody’s watching that shared server, keeping it water tight is a shared responsibility. If someone creates an account for you, change the password immediately. They won’t remember to go delete it if you end up not using it, and if they set it to something simple, there’s a good chance someone will be able to brute force it. Don’t store passwords in plain text anywhere. Don’t email them to people, or have people email them to you. You’ll be happier in the long run if you don’t. Use best practices, and save us all some heartache.
Tucked away in a corner of a bustling storage depot in the halo of the San Francisco bay area is a metal shipping container. Nestled inside that container, surrounded by the furnishings and bric-a-brac of a contemporary urban life, is a small, silver figure. It is the only one of its kind in the world. It is the result of a nearly 20 year design process, distilled through three minds from a short collection of descriptive words. It is also the future.
A Little Backstory
It’s good to have friends who understand you. I like to try things. I like to pick up new technologies and roll them around, get a feel for their heft and texture. This often involves doing a project, but these projects can sometimes be a little weird. Finding good natured co-conspirators really helps.
For the last few years, Matt Sanders has been my target guinea pig. Matt is perfect, because we’ve diverged paths enough he doesn’t know everything I’m up to. However, we spent years in the trenches together, so I know him pretty well. If we saw each other all the time there might be an obligation tied to the things I come up with, and that would make it weird. Matt also happens to enjoy the artistic and technological, so I know the fundamental concept of the attempt will be appreciated.
In 2010, I got Matt a rap song for his birthday. DJ Brixx, a friend I met through an electronics comparison shopping project wrote and recorded it. Brixx lives in the Philippines, and once professed a desire to eat at the Cracker Barrel. He’s a crazy guy. You meet crazy people by trying to do crazy things and finding the people who are willing to go along for the ride.
The rap song set a high bar, but sometime in 2011 I was driving up Loop 1 with Irma, and realized that I could top it by making the virtual real. I could create a small figure of one of his RPG characters. Years ago, starting in 1994, Matt and I spent a lot of time together in an Internet-based text-based role playing game called Ghostwheel. I’ve talked about it a couple of times before. In Ghostwheel you describe yourself, what your character looks like, and what it’s carrying. I had been looking into creating 3D models of the Dust Bunnies characters, and knew that there were freelance 3D modelers out there who were experienced at character design. Shapeways let you print things in metals, including a very nice sterling silver. So the pieces were there, I just needed to get it done.
I ended up working with a 3D modeler named Bhaskar Rac. He had worked at a video games studio, and had a good feel for character design. We did a contract through oDesk, which handles payment and taxes and whatnot. I sent Bhaskar Matt’s character’s description, some photos of him for general reference, and some sample pictures of the things he had on his person.
After a few days of discussions about Fallout and thematic inspiration, Bhaskar sent back this sketch. A few days after that he followed up with a draft 3D model. I thought it was awesome, so we tweaked a few small details, and I uploaded it to Shapeways New York manufacturing facility.
Shapeways prints their sterling silver models in a three step process. First they print the model in wax using a high resolution 3D printer. Then they submerge the wax model in liquid plaster to make a mold. The wax is melted out and molten silver is poured in, resulting in the final piece. It produces a very high level detail, and is a process often used for jewelry. It also works really well for anything small you intend to last for a long, long time.
A few weeks later, this appeared in the mail:
The little 2 inch high figure is now in transit with the rest of Matt’s stuff as he moves to San Francisco. The digital model exists, but no other physical traces grace the earth. There is only one. Unless Bhaskar sketched out something on paper, it’s the only physical manifestation of this entire project. That’s a pretty weird thing.
If Matt were to somehow lose the figure, if someone broke into his house or if there was a fire, or someone unleashed a bio-engineered virus that only ate silver, we could print another one. As part of the “gift” I sent him the 3D file, so if he wanted he could populate his house with tiny Matt figures in every size and color. He could open source it, upload it to Shapeways and let anyone print a tiny Matt figure for their Monopoly set. It’s a present that comes with it’s own infinite digital reconstruction blueprint.
But what if someone stole the digital one? What if it leaked out, and people liked it so much they started printing their own? How would that make Matt feel? How would it make me feel? Does he have “the original” even though there is no original? Is it a “first” like a blog comment? Is there still something unique about the one that arrived in his house packed in a tiny little box for his birthday in 2011? I think so, but it lives in a weird space.
I think this kind of gift, the present deeply rooted in the past, in a shared history and experience, but interpreted by skilled artisans into something new, is going to be the new normal. While hiring artists and 3D modelers is challenging now, there’s nothing stopping someone from creating Photoshop or Maya as a service. Perhaps Shapeways will even evolve in that direction. Supply the talent, ship the product.
We’re surrounded by mass market objects. Books, movies, furniture, even sometimes what we consider to be art. We collect it and we arrange it, but it isn’t truly unique. The hand blown glasses at Ikea say they’re made by hand and each is unique, but you’re buying them from Ikea, so the really weird ones probably get tossed in the recycling heap. Sometimes we may shop at craft fairs, but even crafters will reproduce an item if it sells. It’s hard to create things from scratch, and producing one-offs is expensive in a traditional model.
But now that the means of production are so cheap, and the training to use them is largely free and open, we can truly have unique things without spending a lot of money. We can create home movies that are beautiful, we can hire artists to create beautiful things just for us or the ones we care about.
It’s possible we’re just setting ourselves up for a backlash. The figure I made for Matt isn’t a Warhol, and while we both get it and enjoy it, I’m sure some would argue that we’d be better off with a good reproduction of something truly important instead of a meta-reference. But Warhols are meta-references, so maybe we’re just becoming hyper-personal with them. In the end that’s what we get to weigh. Is the quality of the work more important, or the personal connection you have to it?
On the second floor of a generic office building complex in Fort Collins, Colorado, there’s a nearly life-sized photo of a garage. There isn’t a sign, or a label, but everyone who works in that generic office building knows what that garage is and what it represents. The photo is there to remind people who walk by it every day who they are and the legacy they have inherited. The garage that photo is of is located 943 miles away in Palo Alto, California. That garage is the birthplace of silicon valley.
There’s been a lot of discussion lately about Yahoo’s memo to remote workers announcing the end of work-from-home arrangements. There are plenty of passionate responses against this move, mostly citing figures about remote workers being more productive, putting in more hours, working with fewer distractions. Most of the people supporting Yahoo! cite their possible lost employee percentage, org chart orphans like Milton in Office Space. But some focus on the culture, and that’s where I think the crux of the issue may lie.
It’s really, really, really hard to drive a spontaneous, passionate corporate culture in a distributed group, especially a really large one. While companies like 37 Signals, who get to pick out specific personality fits when they hire, claim to be able to do it, I don’t think just anyone can.
I started working for Whole Foods Market in 1999, and while I was never a real employee, I spent a lot of my time there until we started Polycot in 2001. During those years I did a lot of dropping in and chatting with the people I was building software for, and I learned a lot about the grocery business, store promotions pricing, the culture differences between organically grown and acquired regions, employee compensation systems, and the difficulty of sourcing and maintaining wide format dot matrix printers.
Towards the end our VPN access was becoming fairly robust, and I was getting really good at solving problems in ways that wouldn’t require me to sit at a desk for 8 hours a day, so I started working from home. First it was a day or two a week, then became nearly all the time. As time went by Whole Foods changed, and I wasn’t there to see it. I still got the site-wide emails, but not being in the office regularly put me fundamentally out of the loop, and after a while I was a stranger.
At Polycot we really wanted to have an office, we had a dream of collaboration, long nights dreaming up great ideas, having those spontaneous conversations that can only occur in person, not over email. Unfortunately we weren’t all located in the same town, and maintaining an office is an expensive proposition, so we eventually shut it down. A few years later we re-opened in a sub-leased space at Enspire Learning, and then moved to the final Polycot office. Working together in the same space was great, but we’d already built a culture between the founders of working remotely, and we were all introverts. We had some good times at the office, but the culture never gelled like it might have if we’d started there and made it one of our founding principles. Eventually people moved on, and in the end it was just two of us in the back. At that point it was easier to work remote, and doing so was pretty much the death-knell for any spontaneously creative projects.
Companies work hard to build their corporate culture. It’s what separates HP from Apple from IBM from Dell from Microsoft. When you hire a remote worker, and that worker’s primary communications are through text chat or monthly phone calls, it’s really easy for that worker to just be an anonymous cog in a machine. Their horizons may only extend to their immediate team, there are no spontaneous interactions with other groups, no hallway conversations that you randomly get sucked into.
I joined HP in 2010, and I’ve always been a remote worker. Our Austin site for most of that time has been a big data center in a remote part of town, not the kind of place that inspires you to feel like part of a legacy, or inspires you to come up with great, creative ideas. Our specific team is more than half remote, spread across 4 time zones and two countries, and while that gives us a lot of independence from the corporate bureaucracy and daily commute, I bet if you asked some of the newer folks what it meant to be an HPer, they wouldn’t have an answer.
A month ago my team had a face to face in Fort Collins. It’s the kind of thing the accountants scream about, flying 20 people in from across the country (and beyond) to sit in a big room for three days. If you’re going to have spontaneous conversations, though, that’s what you have to do. If you’re going to dream up new things and get the real value of all the smart people you’ve hired, sometimes you have to put them in the same room.
At one of our first team face to faces two engineers got together and nearly completely rebuilt a product in an afternoon. They both had pieces to the puzzle, but neither of them knew it. If every conversation they had over chat was about today’s deliverables or sprint planning, it never would have happened.
The most valuable thing for me, though, was walking by that photo of the garage on the way to lunch. Because next to that photo of the garage, in a quiet hallway, was this.
That’s an HP ScanJet IIc, the first color scanner HP made, back in 1991. It’s signed by the development team, a bunch of people who got together and carried on the tradition of inventing new stuff, the tradition that traces all the way back to the HP 200A Oscillator that Bill Hewlett and Dave Packard built in that Palo Alto garage.
The role of companies is the same as the role of countries and schools and institutions: Beyond their day to day services, they give us a foundation to stand on, a legacy of people behind us, who worked and strived to do the next thing, and do it better. They cloak us in story, in myth and history, and they inspire us to do the next thing. The greatest challenge we have going forward, as the panopticon gobbles us up, our tools dehumanize us, and the homogeneity of Facebook smushes us into an ad-targeted paste, is how we maintain that legacy: How we keep telling ourselves that story to inspire us to do more than be a cog in a machine, or a metered metric of lines of code committed. Because in the end that’s what we want. We want to be part of the story.