I keep repeating to myself, this moment has never happened before.

When I remember that, I find it disrupts my life narrative completely and brings me forcefully into the present moment. It’s one of the few coping mechanisms for impatience that I have. Most of the time, my narrative thread I carry with me extends into the future, attempting to impose my past experiences onto it. I live bound within expectations, whose tension I wait to resolve. I array my life along this thread and look both behind and ahead, longingly.

I feel like there’s a lot of waiting going on in my life right now, taking me out of the present moment constantly. So I have to say to myself, this moment is new, nothing like it has ever happened, and I find myself right here and now. I have no idea what’s going to happen. Sometimes it helps calm me, and other times it makes me even more anxious.

A Bit About My “vimrc” File

My configuration files (the so-called “dot” files) are in a private Git repo, which I use to keep my settings updated across various systems. That said, I’m going to make a special effort to keep my ~/.vimrc file updated in this public Gist. (As a matter of course, I keep my ~/.vimrc here now.) I use Vim a lot, and I’ve spent a long time customizing and elaborating on my setup, accumulating a lot of tricks that are useful to pass on. Someday, perhaps I’ll write a Vim autocommand that updates the Gist automatically, but for now, it’s a labor of love.

One of the things I finally got around to doing recently is organizing my Vim settings into a scheme I can keep up. Interesting tip to know about Vim: if you type :options, you get a window describing all the available core settings organized into twenty-six sections, along with a small description of each setting. The neat thing is that this window gives such a great template for organizing your existing settings.

Screen Shot 2014-02-27 at 20.10.37I took this to its extreme and put everything into this organizational scheme the best I could, moving everything around and tucking things into neat little folds throughout. When I open my ~/.vimrc to modify a setting, it’s easy to find the right section, open the fold, and go to town. Thanks to a modeline, I’m always presented with this compact set of folds ready to go. Best of all, when I have new settings, I know right where it goes. All of this adds up together to dramatically reduce the friction of improving my settings altogether. Truthfully, this cuts weirdly down on my anxiety around messing with my settings. I worried before about making an unmanageable mess even worse.

Is it weird to carry around so many feelings about a settings file?

Women Who Hack

I took advantage of last Sunday afternoon to squeeze in my monthly quota of socializing at Women Who Hack. It’s laid back and comfortable enough that it’s probably the one event each month I actually make sure not to miss, and I’ve gotten to a place where I can often bookend the time there with friends if I try.

I’ve been thinking about why this particular tech get-together appeals to me. It’s hard to say. I like the informality, I think. There isn’t even the whole “hackathon” pretense going on. You show up with a computer, and you’re golden. I don’t think I’ve ever written a line of code at any of these things. I’d get too distracted, anyway.

What’s the value-add, then? Probably the people I’ve met. I’m pretty lousy at meeting new people, and the framework of this kind of thing gives just enough meaning to the interaction to make it work. There isn’t just the tech grab-bag of people one usually sees, but women who dig tech in some form or another, so there’s a consistent set of narratives we can share and issues we address. It’s sort of wild, the number of conversations I’ve been able to take part in or people I can chat with when I see them out in the world doing their thing.

Are you around in Portland? Come hang out with us sometime. The rest of you, why not start up something like this? Make sure to leave room for talking and get everyone to introduce themselves! And free snacks never hurt.

Searching for Answers in Data

When I took my first tech job, almost three years ago in August, my soon-to-be-manager asked me during the interview which direction I wanted to head in my career. Right that moment, I wanted to be heading anywhere that didn’t involve collecting grocery carts in front of a Walmart, but I didn’t say that.

I had given thought to my dream jobs, after all, and I told him I had a view towards doing interaction design, especially with language but also visual.  I had—and retain!—a lot of interest in how we use computer interfaces. I wanted to make things usable, understandable, and accessible across a wide base of users. I saw interaction design as a marriage of creativity and science.

Instead, I got thrown into the deep end of a different pool altogether. I became a back-end engineer on a team that handles massive amounts of data, and I floundered a bit before learning to swim. My position led me into solving mysteries instead of designing interfaces. More specifically, I got tasked with figuring out how things work and at the same time fixing bugs or finding data anomalies. I took to this slowly, I remember, needing a lot of guidance before getting the hang of it.

But it actually got pretty interesting to me. I was watching a lot of Law & Order: SVU at the time, and I felt like Olivia slowly stitching together a crime as the clues unraveled. I learned really important skills about how to drill down to troubling artifacts in large amounts of data, form a solid problem statement, and then figure out the next question to ask (and answer), and so on, until I knew everything I needed to know.

It was always really satisfying to figure out who (or what) did it, to gain an understanding how simple rules interacted to form complex emergent phenomena. Having worked at data manipulation in various ways for a few years, I’m beginning to appreciate finding answers in data, and I’ve started realizing I’d rather learn more about plumbing data for knowledge.

I’m not exactly sure where to begin at this point, but I know I want to lead my professional life towards data analysis in general and maybe visualization or even interaction in particular. I’ve realized that the human brain can do things that computers still cannot, especially when it comes to understanding trends, changes, things in motion, and imprecisions. Data visualization and interaction is the perfect place to allow our brains to make sense of complex systems in ways even computers cannot yet.

So, where do I start? For now, I’m going to pick up R or D3 and see where they lead me.

It’s Done

Finally got through the extended edition of Lord of the Rings. Made a GIF to celebrate. It pretty well encapsulates work this last few days.


Why I Didn’t Apply

It’s been a passing fad lately for some acquaintances of mine to write about their tech origin story—how they came to tech, perhaps as a child or young adult, and found a place for it in their lives and identities. I probably haven’t shared much about mine. The story gets a bit personal, touching on class background, among other things. Its trajectory, though, took me far away from where I started.

I started my story growing up in a rural area of southern Georgia. I didn’t have any access to a computer from a young age. My family had a TRS-80 that I struggled to hook up to the TV, and I managed to tinker with it a bit, but it was never much more than a toy I used for a few weeks and forgot. I don’t count it. It didn’t come with games or programs, nor the ability to store these. It didn’t connect to any other devices or networks. All it did was run BASIC instructions. I didn’t get far with it, and I didn’t remember much about the whole thing until later in my life.

I don’t recall childhood as a time of achievement, either. From about the second and third grade, I began failing classes and getting punishments such as writing assignments, detentions, and eventually in- and out-of-school suspensions. The reasons why are complicated and personal. We’ll skip ahead a bit. Suffice it to say, I spent most of this time ignoring school and just reading and writing things outside of class. I got a typewriter instead of a computer.

I failed too many classes to graduate high school on time, nor did I make it to graduation, and I certainly didn’t have the kind of GPA or scholarships that would have put me on track for college. This put college almost out of reach. I didn’t know what I wanted to do, and mental illness intervened and prevented me from making much of myself for a few years. During this time, I set foot in a couple of college or college-like settings, but only for a few months, and I invariably failed every class I took.

Let’s turn to the tech part of the story. I didn’t get a computer of my own until the end of high school, and I was incredibly lucky at that (interesting story full of weird happenstance, but I’ll save it for another time). I didn’t really know what the Internet was until high school, and programming was unknown to me until around the time I finally got a computer of my own.

I did learn programming, though, around that time. I did so quickly at that. It soon became really important to me to be able to control a computer on every level. Awareness of open source followed closely upon that. Within a couple of years I started trying to throw up websites for people. To round out my abilities, I ran my own server out of my house and set up everything from scratch on it, learning how to run e-mail, web, IRC, and everything else. I read everything I could to the point of exhaustion.

This all happened while I worked in food service, and while I had a vague awareness that these sorts of abilities were useful, my profound failures in school had daunted me, and I had already long ago decided I needed to finish college before I considered some sort of “real” job. People began telling me quickly I should try to apply for this or that, or asking why I wasn’t in a computer-related job, and all I could say is, I have no degree! I have no qualifications, experience, education, training, certifications, or references! This grew into a litany—I could knock down others’ vicarious ambitions for me more quickly than they could even articulate them.

I dreamed someday of going to college and getting on track to become well lettered, researching interesting problems, meeting people brilliant beyond reckoning, and having the means to drag myself out of the dreary life I led driving around in an old station wagon catering for people. Yet, I felt like I had squandered my one chance, and that dream was out of reach. I didn’t know what to do.

I can describe this time as basically wandering around. For several years, I moved through a handful of towns in Georgia. A lot of very important things happened to me, but those are other stories. Eventually I wandered by chance up to the Pacific Northwest, living across the river from Portland. I did transcription work for a half a cent a word to bring in a little money, but I wasn’t getting by very well.

I began to meet people, and most of the people I met through IRC in the area were into tech in some fashion or another. One day, someone told me to apply at their company for a programmer position. I took a look at the requirements and instantly said, no! It required a four-year degree (or equivalent, whatever that means) and experiences and technologies I knew nothing about. At this point, I had never touched SQL, nor had I ever used Perl.

He told me to apply anyway. Here’s the important part: Had not someone from the company specifically told me to disregard the formal requirements, I would never have acted. As it is, I did, and that changed everything. Despite my lack of experience, they saw potential and gave me a chance. From that point, I picked up the job really well, getting two promotions over the next two years and in the meantime gaining all the experience I had previously lacked.

I’m glad I applied, but even more, I regret not applying to tech jobs before that point. I think back at so much time in my life I spent holding back, being my own worst enemy and dismissing my opportunities out of hand before they could even happen. I have spent more than a few moments wondering why I didn’t apply before. Even if I hadn’t hit success right away and met with rejections, what was I holding myself back from?

Work Retrospectives

Screenshot of my first weekly work retrospective
First retrospective of many

I decided I didn’t want to get caught next year trying to write my review without any idea of what I had done the year before, so I’ve decided to start tracking what I get done from week to week. I’m going to try to write a weekly retro every week of 2014.

I have time blocked off at the same time every Friday morning to spend about half an hour referencing salient tasks, time spent, people I’ve worked with, and projects I had involvement with so that I can scan through in 2015 and catch a bird’s eye view of the landscape of my year.

Incidentally, for the moment, I’ve decided to try using Day One for tracking all this, if only because it has great support for searching and viewing past entries over dates, and it syncs between all my devices. I could probably throw Markdown on a server or use a private WordPress, but scanning is so much faster this way.

In Case of Review, Break Glass Ceiling

For the second time in my professional life (first time here), I had to turn in a self-review to my manager. Our self-reviews are part of an overall review process, asking for scores and supporting comments in a number of areas of our job (quality, leadership, problem solving, planning, and so on).

I’m awful at anything falling under the purview of “professional life.” I struggled with it again, like last year, and it stayed undone till the last moment (and then some—I had hoped to finish it last week). What’s worse, I felt like last year I used up all my best review lines talking myself up, so I had nothing but utter dreck to spew this year. I couldn’t even remember anything that had happened in the past year. All that came to mind were the frustrations I grappled with and complaints I brought up.

Time got short and I had almost nothing, so I passed in the review with little content and a lot of fields left blank. My manager bounced it back almost right away, basically saying I could do better. Well!

I had struggled with it off and on for weeks, and I had no idea what he wanted or what the expectations were. Finally began to vent to a coworker. She mentioned she had struggled with hers too. I asked her what she did.

She’d done the same thing, asking others what they had done, and had even gotten to peek at a few other reviews from (male) coworkers. I have always had trouble talking myself up, but it seems like they hadn’t struggled with this at all. They came across in their reviews as highly accomplished and even boastful, to the point where she felt less sure of herself, to say nothing of my reaction. I had barely written anything, and what little I did write was either unsubstantial or actually critical. The self-review also called for numerical scores in various areas, and mine were really conservative.

I asked her, “Do they actually lie?” about their reviews, and she said, “No, but they dress them up in tuxedos.”

I’m really thankful to my coworker, though. She helped a lot to get me started finding some real content and suggestions.

First, she suggested searching for past code reviews I’d requested. While it hadn’t been very useful for me to be told to “search my e-mail” for the last year, the code review e-mails helped to link to related issues I had worked on, short summaries of what I had accomplished, and a general landscape of the projects I’d worked on. This was a pretty great direction to start with. It helped me remember various projects I’d been on.

I got some ideas for other kinds of e-mails to search for, like postmortem threads where we had dealt with urgent service problems.

She offered to let me see hers, but I passed. In the end, though, I let her look over mine, and she helped clarify what some of the categories (like “job knowledge”) actually meant, so I was able to fill in parts I had misinterpreted. She also pretty much made me raise every one of my scores after some back and forth, reminding me of a lot of things I had forgotten. I ended up going with her suggestions since she had more context than I did from looking at other reviews.

By the end, I was much more amenable to her suggestions because I had so much more supporting detail. It definitely didn’t hurt, either, that I was inspired by an article in Model View Culture (written by my friend Kronda!) to be a little kinder to myself.

Incidentally, another friend on IRC had suggested keeping a high-level journal throughout the year, and that would probably be really useful for me, considering this. I probably won’t, though, and next year I’ll panic about the whole thing all over again.