I’m still just an applicant to the Gnome Outreach Program for Women Linux kernel project, but I’ve already gotten myself into a two bosses situation. This is entirely my own doing–they’re not demanding anything of me, just watching to see if I do what I say I’m going to do. The mentor in charge of driver cleanups suggested a next step, a simple change of constants, and I said I’d submit it that afternoon.
Well, I should have learned my lesson. Messing with these two files is like cleaning behind the kitchen stove in some people’s houses–just breathe on it, and the roaches come flying out in all directions. At minutes before six, I gave up and wrote “does not correct whitespace issues” in the patch description. At least I was leaving the code better than I’d found it.
There was also my relationship with my other “boss.” I needed to actually submit some code for BTRFS, not just talk about it, or he’d have reason to believe I wasn’t serious. He’d been making a list of entry level tasks, and he posted it at about the same time as another mentor briefly froze the OPW working tree; and coincidentally, at about the same time as I needed to move. Other applicants submitted most of those tasks literally while I was driving. By six, practically all of them had been taken.
All but one.
After I finished assuming I’d just shown myself for a flake, I realized that the list was almost entirely low hanging fruit, except for the “more advanced” task at the bottom–the challenge–which had not yet shown up on the mailing list. If I was going to prove myself, this was the task to complete. The tastiest, juiciest apple was left, and dammit, it was going to be mine.
I drank some kava, listened to some binaural beats, took a deep breath, read the task description and the area of concern in the code until the fog went away, and chased down every function, struct and macro in the area of concern until I knew exactly what it did and how. The mentor spent some time with me on IRC, helping me be sure that my understanding of what he expected and how I should approach it was clear. I drew up a plan in a text file. Then I spent the rest of the afternoon and evening carrying out the plan line by line.
This task was particularly hard because it took judgment. I wasn’t just regurgitating my knowledge of Fowler, I was putting my own decisions out there as to how this new functionality could be expected to evolve and mature. A lot of it was subjective; it could suck, or it could just not be what the team wanted. I told myself that the important thing for the application was that I finished it, and did my best.
At the stroke of midnight, at exactly the original application deadline, the last patch of the set went on its way. When it did, the world suddenly became a beautiful place. The last time I tingled like that was when the first version of Xtra Screen Hacks, my first real piece of software ever, went up on Freshmeat. I was a huge relief to be able to hope I was still in the running. But whatever does become of my application, I’m proud to have done this.