Like a lot of folks who grew up in chaotic home environments, memories of my younger years are fragmented and hazy. I can’t say with certainty what our first computer was, or when exactly it arrived in our home. I remember both an Apple II and an IBM PC with an 8088 processor making appearances in the mid- to late-eighties. Both were second-hand. The IBM machine stuck around longer and was the one that I did the most exploring on. I can still vividly recall many evenings spent during my sixth grade year in front of the blue Wordperfect screen and clackity-clack keyboard typing essays. I also recall spending a lot of time online that year as we somehow managed to have a modem and a subscription to Prodigy.
Aside from really liking Wordperfect macro and formatting codes, I knew nothing yet of programming. That changed when my father came home with a used TRS-80, which I was allowed to have in my room. The computer must have come with a book on BASIC programming, because within a short while of having it, I was making simple programs. This was around 1991, when I was 10 or 11 years old. My first program was designed to help my mother figure out what to make us for dinner.
That initial rush of programming activity didn’t resume until a long while later. Family life was especially chaotic then. We weren’t doing well financially and shortly we relocated under some duress from the SF Bay Area to Sacramento. I don’t think the TRS-80 followed us, or at least I didn’t have access to it again.
The summer of 1992 was my first in Sacramento. It was especially long since my parents pulled us out of school early in order to move. I spent a lot of time riding my bike and exploring the neighborhood, somehow unaffected by Sacramento’s blazing summer heat (much hotter than my native Alameda). I also spent a lot of time inside, on the computer. At some point I decided to read the entire DOS 3.2 manual, the one with the spartan cyan-colored cover. I wanted to know everything I could about how our 8088 worked and what I could do with it. The manual included a section on BATCH programming which I totally loved.
Summer ends and I begin 8th grade, transferring schools after the first quarter so that I can participate in our district’s accelerated program. I am now bussed across town for school. The curriculum there is more challenging and interesting to me, but does not include any computer science and there is little time or support for it at home. I start high school, at a school that is very good but not in our neighborhood. I spend my entire freshman year being late to everything because my father is largely in charge of transportation. Fortunately we move to a house about a mile away from my school the summer before my sophomore year and I gain the ability to take myself to school (with my own two feet!).
Three significant “nerd” things happened during my sophomore year. The first was that I got my own computer again. As with the machines before it, a second-hand PC appeared without much explanation. Sometimes I wonder if these things were stolen or otherwise acquired under dubious circumstances, as was my father’s habit. In any case, this machine had an 8086 processor and CGA display. It ran DOS, probably version 4.0 and came install with PoliceQuest. I think I stayed up all night the first day I had it. The second thing that happened was that a I took the required computer literacy course and did so well I ended up helping the teacher run the class and being allowed to work on my own projects. This lead to the third things, which was to connect with the other students of my ilk who had quickly exceeded the basic computer skills curriculum and were allowed to work on other things. I actually ended up marrying one of the boys I met that year in computer lab (it didn’t work out in the long term).
Around this time I got very into using BBS (bulletin board systems; remember this was per-internet) and in learning how to build and upgrade computers. Friends whose families were better situated financially than ours would always find ways to give me their old components and they upgraded theirs. I’ve never forget the pure joy I experienced the day I upgraded from my 2400 baud modem to 14.4k (my friend had just upgraded to 56k). Glorious. Having the ability to connect to others via BBSes was incredibly important to me. In fact, I think it may have saved my life. The summer between my junior and senior years was very, very dark. I was allowed virtually no social interaction outside of my immediate family. I was depressed and lonely and so being able to connect with others in a meaningful way via technology was a godsend. Even during the period that my father prohibited me from using it, as punishment for some now forgotten transgression, I managed to do so by waiting for him to fall asleep, quietly secreting the equipment back into my room, using it all night and then returning it in the morning before he woke up.
I mention that last story because not only were my interests in computing not supported, but my interests were actively used against me at times as a form of punishment. I know I’m not alone in this. I’ve talked to lots of people whose parents saw any computer use as a waste of time and actively discouraged it under any circumstances.
Sometime during early high school I took my first programming class, during the summer. It was C programming at the local community college and I totally bombed it. It was the first coursework I’d ever encountered that I couldn’t understand right away and I had no idea how to ask for help. I didn’t even know asking for help was within the realm of possibility. All I felt was deep shame that I wasn’t automatically understanding the material and making progress. It might sound silly now, but keep in mind that this was before the internet, before Google and Stackoverflow and Youtube, before all of these resources were readily available. I didn’t have a readily accessible connection with anyone else who programmed. At some point I just stopped going to class. This early failure haunted me for a long, long time.
Other computing events from my high school years that I recall vividly: I introduced a virus onto our home PC. I don’t recall which one, or the exact results, but I recall my father being very angry and it’s probably what lead our family to get a newer PC (a 386!). I did the DOS-equivalent of ‘rm -rf’ in C:/ trying to free up disk space. Opps. I wish I could say that’s the first and last time I ever made that kind of mistake. And I played a lot of Nethack and Civilization. I spent a lot of time working on an Asteroids-like game written in BASIC.
During my junior year, I started taking classes at Sacramento State university as part of a program that allowed low-cost concurrent enrollment to high-school students. I took a computer fundamentals course that gave me my first shell account and internet access. It was awesome. This was 1996 and we used the Lynx web browser and learned about searching the world wide web. We also learned PINE mail and gopher and telnet and irc. It was my first exposure to Unix/Linux and Open Source and I loved it. It was also my first exposure to really shitty computing/internet-related legislation, for that was the year that we started hearing about the DMCA. The following year, among other course, I took an introduction to programming, this one taught in visual basic, and did incredibly well. So well, in fact, that I was all set to apply to colleges for Computer Engineering… until I fell in love with physics. AP Physics amazed me. I was able to use something I loved, calculus, to solve real-world programs. I applied to UC Davis as a Physics major and was accepted and awarded with a full Regents scholarship.
My early university years did not go well for me. The summer before starting university was a rocky one. As it turns out, undiagnosed and untreated ADD and PTSD is a particularly unproductive combination and made the already difficult task of navigating university on my own completely unmanageable. When I think back on it, as with so many of my early years, I’m amazed I made it through alive and relatively in tact. I have some very good friends to thank for that. UC Davis kicked me out for poor academic performance twice, and in order to return and complete my degree I was required to switch majors to something in the humanities school. I chose English Lit. I’ve always enjoyed reading and had recently discovered that, much to my surprise, I was capable of writing decently well. Somehow I was able to create enough stability in my life that I graduated with a decent academic record and even earned an ‘Outstanding Graduating Senior’ commendation.
Despite my academic struggles, I did managed to have some very valuable computing experience in college. For a time I worked in our NOC as a student systems administrator. I learned about a huge range of systems: Unisys mainframe, VMS VAX, Unix and Solaris and I used Unix daily via the terminal as well as KDE desktop. Later on I worked for a climate change research group and my duties there include Windows NT as well as Unix administration and even a bit of ColdFusion programming.
2002 turned out not to be the best year for a new grad to enter the job market (though there would be worse years to come). My graduation also coincided with my fathering being arrested for solicitation of murder. I floundered for a bit. After quitting my job at UC Davis that had started as a student position, I canvassed for Sierra Club and CalPIRG, went to Burning Man for the first time, worked at WebEx giving demos, got married hastily and then worked at my husband’s company writing technical documentation and leading product training.
In 2003 I moved back to the Bay Area. I found a job as a print production manager with a small technology marketing publisher based in San Fransisco. In many ways it was a really great job for me. I had a lot of autonomy and I was able to use my diverse skills to streamline the company’s existing publishing process. It was fast-paced and deadline-driven, which kept me focused. I was able to hire and manage two staff members. Looking back, one of the most important things I was able to do was learn PHP/MySQL and bring the website programming and server administration completely in house. My experience at that small publisher allowed me to get a job at a more prestigious agency at which I was able to pivot completely from print production work to full-time IT/programming. In 2007 I stopped working at the marketing agency so I could freelance . Later that same year I moved to Portland and immediately got involved in our awesome tech community by attending a Code ‘n’ Splode meeting.
For a while I regularly attended PHP meetups and then started volunteering for events like BarCamp Portland. Meanwhile, freelancing was starting to get old and I returned to salaried employed at a local agency. I stayed there for about a year and then went to work for a local e-commerce startup in 2010. I continued to hone my programming skills and switched to using desktop Linux full-time (from OSX). In 2012 started at Mozilla, working first within Webdev on the Web Productions team and now on Tech Evangelism.
I don’t consider myself a superstar programmer, nor do I aspire to that designation. I’m a well-rounded technologist. What I’m most interested in these days is finding ways to use technology to drive social change, to empower citizenship and to build better communities and relationships.