Monday, April 27, 2015

My Superpower Returns

My stubbornness kicked in. I fixed my site. I applied for jobs. I have one lead for which an employee is going to recommend me. He says that I sound like exactly what they're looking for.

Now I just have to find a place to keep my butt for an extra week. Bleh.

Wednesday, April 22, 2015

Re:Used

The Golden Child was a buzzword jockey, of course. He disappeared for months and then came back saying that he’s been having trouble with his back and he’s on a ton of pain killers but he thinks he can maybe get back to work. The Narcissist celebrated because the brilliant guy that they’d hired was coming back! The Narcissist had threatened to fire me for not giving enough notice that I was going out of town and for not returning calls while on vacation with a 5 day migraine over a weekend. That night, I saw Golden Child at a bar, walking briskly across the dance floor in a normal stance, something that I wouldn’t expect from someone with a back injury or on tons of painkillers. No biggie; I wouldn’t bust him. I’m the reason that he knew about the job in the first place. Him working there was my fault; I figured that I owed him that much.

A new guy came in. Java Guy had never used the language that the application was written in, but he was a Java Guy and that meant he’s brilliant. Duh. I, of course, couldn’t do anything right. I kept talking about bind variables and transactions and modularity for better code reuse. The Lead Developer wasn’t familiar with those things, which means that they are irrelevant and completely non-standard. He said “we never have any problems caused by things like that and we don’t have any information that hackers would want, so we won’t get hacked…. Hey, what’s this new trojan.exe in the root of production? Why did the previous security checks not find that we were open for cross-site scripting? We didn’t change any settings. Oh well. We’ll change it to what Jen says it needs to be and see if that works, because I don’t know what cross-site scripting is. [Paraphrased.]” (In reality, my main project took forever due to lack of transactions and they’d been ignoring my warnings of scripted attacks against the server from the Ukraine for months.)

Lead Developer told me one day “I fixed your code! It took me 2 days but I got it all into one file!” Not only did that result in identical business rules into two locations, but he also put the model and the view in the same file—on an MVC framework. I kept complaining that we weren’t reusing code and that’s why we have to fix bugs in 6 places instead of 1. He said “The way that we do code reuse here—the right way to do code reuse—is to open the file that we want to reuse and hit ‘save as,’ then use the new file. [Actual quote]” That’s the literal opposite of code reuse. Because I was not allowed to revert the changes and because I was required to go back and hit ‘save as’ and use a new file for 4 nearly identical tasks, all bugs for that report had to be fixed in 5 different places. It had technical debt before launch.

Oh right. Java Guy. I’d worked with Java guys before and they have their way of doing things. Some could adapt and some couldn’t. Then, of course, there was one who called me sexy because I can drive a standard in San Francisco, then tried for months to get me fired for incompetence because I didn’t respond positively. I knew he was a terrible programmer and I knew that no one would believe me if I told, just like his reason for trying to get me fired. It was almost like he was surprised at himself that he kinda liked the fat chick and then the fat chick didn’t want him? HIM? I started having nightmares that he was flirting with me by asking if I thought the Rogaine was working. (I think that was a nightmare; please God let that have been a nightmare.)

This Java Guy seemed a little slow to me but I thought maybe he was overwhelmed with learning a new language on a stupefying codebase. I explained to him that the Java Way didn’t necessarily apply to our language even though it’s really a Java framework, that the Java Way was the Java Way in part to manage common problems that this language handled automatically, making the Java Way unnecessary and often worse. I told him my qualifications, so he’d know that I knew what I was talking about.

Java Guy asked if I could make coffee because he didn’t know how to use the coffee maker. I patiently walked him through every step. I had to tell him to put water into the carafe. I told him how to put coffee into the filter because he kept saying that he didn’t know what to do next. He seemed to not have ever made coffee despite drinking it daily. I refused to touch anything in this process, no matter how befuddled he acted. He made that pot of coffee and I had some.

Golden Child came into work at 11 and the Narcissist whisked him away excitedly for lunch on the company. I was in trouble for arriving at 9:05, even though I was the first programmer there. None of the other “late” people were in trouble, as usual. The Narcissist was thrilled that the Golden Child showed up at all. The Narcissist told me that I would be training people on what I was working on and I had half an hour to prepare.

Half an hour later, the Lead Programmer and Java Guy pulled chairs up to my desk and I started a demo at step 1. Lead Programmer said that I was doing the demo wrong and I needed to start at what he didn’t realize was step 6. I kept doing things in an order that he decided was wrong, based on not having used what I was demoing. He got increasingly angry because I was “doing the demo wrong” on a product that he didn't know. He snapped “Just show me how to do this starting at the beginning.” I responded “That’s what I am trying to do, if you will allow me.” Java Guy said “Maybe we should try it her way for a bit,” which was suddenly a reasonable proposition. I started back at step 1 and along the way, I explained places where I’d gotten confused and said what the solutions were. Later, the Narcissist asked Java Guy if he thought my demo was good and Java Guy said “Yeah, once we let her do it her way, it was really good. I learned a lot that’s going to be really helpful.”

The Narcissist and Golden Child came back from lunch and the Golden Child sat down at the desk next to mine. He started talking about all these new things that he’s been learning (on the company’s dime). He said “Oh, and there’s this cool new thing that I just heard about called code reuse. You should really look into that!” I said “I wrote a book chapter on code reuse in this language in 2001. I’m sold, thanks.” It was 2013. That afternoon, after almost a year of promising me that if the Lead Developer thought that my code improved, they would give me a (lower) salary and health insurance, the Narcissist fired me. The Lead Developer was moving on to (monetarily) greener pastures and it would be better to leave the site in the hands of a guy who doesn’t know the language or the application than in mine. Duh.

There’s a problem that seems to happen with a lot of guys—that they hire an accomplished woman thinking that she will show up and stroke their ego, telling them what awesome programmers they are. But if she doesn’t agree that he’s the best programmer ever!!1!1!!!, it’s because she’s incompetent (even though they hired her as a language guru).

Year 15.

That was the year that I realized that since moving to Silicon Valley, not one company has invested in my career. That was the year that I realized that several companies that didn’t invest in me had invested in men with no qualifications. (Well, in one case, his qualifications were “the balls to walk in off the street and ask for a programming job without any experience or training.” Apparently, I am deficient in the testicles category.) That was the year that I noticed that most of my employers had paid me less than market rate for my skills and apologized to me for that because they were aware of that discrepancy. That was the year that I realized that I kept getting those jobs because so few companies would even give me a phone screen; I’d gone too long without work and I had to pay my bills. That was the year that I counted the jobs where I’d been deemed unqualified by an entrenched but incompetent male programmer. That was the year that I looked back at the jobs that had failed to pay me and wondered if others had the same problem. That was the year that I thought about all of the terrible programmers I had worked with who never seemed to be unemployed. That was the year that I told my male friends about the treatment that was simply normal for me, which shocked them because those things had never happened to them, ever. That was the year that I finally broke.

Now, barring some near-miraculous job offer in the next week, I go back to where I came from. You wore me down, Silicon Valley, and you did so while rewarding incompetent men.

Hi! My name is Jen and I’m a statistic.