I always go to work after I go dancing. If I didn’t, I would start to think of Chad’s list—an alternate version called The Top Ten Reasons You Know Your Social Life is Interfering With Your Work..and not going to work the next day after you’ve stayed out all night dancing, on that list, would be number..I don’t know..seven?
Working after you haven’t slept is terrible. It’s wonderful until about 1pm, when it really hits you. In the morning, it’s great. You don’t have that just-woke-up feeling that plagues most people until they’ve had their tenth cup of coffee. But around noon, and especially around 1pm, it starts to hurt. That’s the time of day, from about 1 to about 4—maybe 4:30—where you endure three hours of questioning (from yourself) on why you’re living your life the way you do and why not just simplify, get rid of the social life or the job. You know, do it like most people. But then around 4, 4:30, life is good again.
By 4:30 I’m making social plans. “Ash, you want to go to dinner?” “Gao: TGIF?” Except we never go to Friday’s on Fridays. It’s like going out drinking on New Year’s Eve or playing practical jokes on April 1st. That shit is for amateurs. On Fridays me and Gao go to Bravo! Italian Cucina, where Gao and I both drink more alcohol than the people at Bravo! Italian Cucina are accustomed to serving normal customers, and eventually we are asked to leave, and we have to call Ashley and Angela to pick us up. Gao once shot a bullet through the wall of his condominium—have I mentioned that? I need to get some new friends.
Working—for me—after I’ve had no sleep means I’m less able to put up with people. In a normal day today’s development meeting might have gone like this:
“We need a team to work on the Python developer standard.”
“Developer standard?”
“Yeah, we need a naming standard for this new development that’s being done in Python.”
“Gotcha. Well. I’ll help if it’s less than—you know—an hour or two a week.”
Makowski smiles. He’s proud of me. I stepped up to the plate.
That’s how that might have gone in a normal day. Today, though, after me having no sleep, the conversation actually goes like this:
“We need a team to work on the Python developer standard.”
“Developer standard?”
“Yeah, we need a naming standard for this new development that’s being done in Python.”
“Gotcha. Well—wait. What development is being done in Python?”
“It’s just some stuff for the new transaction servers. So we need a team—this is volunteer only—to make a standards document—“
“But hold on,” I say. “Why—what exactly is being done in Python?”
Now this is in a conference room on the third floor—the big conference room. And to their own discredit, there are VPs in this meeting. There don’t need to be VPs in this meeting. This is a development meeting. Maybe Mastin; that’s it. But if these fuckers want to waste time coming to a development meeting, that’s their problem. And Makowski: what’s he doing throwing around terms like Python? He doesn’t know a Python from a fuckin rubber snake in his backyard.
“So what’s being done in Python?”
There’s like..twenty-five people around this table looking at me.
“I mean who is doing this development in Python?”
This guy named Marc starts talking. “It is for..the transaction server..in the middleware—“
“Yeah I know it’s in the middleware,” I say. The transaction server is the middleware. “Why the fuck is it in Python?”
Makowski looks at me. We don’t say fuck here. If I say fuck three times he’ll ask me to leave the meeting.
“We have a language list,” I say. “Python isn’t on it.”
Marc is quiet.
“What does this Python code do?”
“It is an object wrapper..it binds a stateless protocol..” Marc is French, so if you can, try to imagine this in a French accent. “It is an object wrapper..it binds a stateless protocol—“
“Hol hol hol..hold up. You have messaging code—“
“It is not messaging code. It is an implementation of the reflection pattern—“
“So you have reflection code..in Python..mirroring something from the transaction server.”
“That is correct. We used a Booch pattern from the Design Pattern—“
“Fuckin..” (unbelievable) “..Booch didn’t write Design Patterns. Where are you messaging this object to?”
“It’s not messaging, it’s mirroring; that’s why the code is in Python.”
“F..” I start to say the F-word again. Makowski’s watching me. About all he can do is shut up and count the number of times people say the F-word because when it comes to software engineering he doesn’t know the difference between his own gaping, sloppy joe asshole and the tiiiiiiiiny stinkhole of some Filipino virgin. So I don’t say the F-word, because Makowski is counting that hard. That’s his area of expertise and function in these meetings: to count the number of times developers say the F-word and kick them out once they’ve said it three times.
“So,” I say, “Where is this object being mirrored to?”
“To the client—“
“So then it’s being messaged from the transaction server to the client, and we already have messaging code to do that, written in Perl, ready to go, running in production, open protocol, no need to rewrite shit in Python or any other language to get data from the transaction server to the client..or wherever. That’s why we have a language list. We don’t need messaging code written in twenty-seven different languages because it increases ramp-up time for new developers who don’t know Python—“
“But everyone is learning Python now—“
“I know Marc. I know. That’s the problem. We already learned Perl. We bought a hundred and nineteen copies of The Perl Book and everybody learned the ins and outs of Larry—“ (I almost say “Fucking”) “—of Larry Wall—“
“But this code,” Ravi interrupts, “uses features not available in Perl.”
“No it doesn’t,” I say. “I’m sorry, but whatever features you think Python has that Perl doesn’t—it’s just not the case—“
“But the—“
“Let’s not have a language discussion right now? Ok? The Perl code works, it’s fast, that language was chosen for a reason, by committee, after sober and documented technical analysis..quantitative analysis involving CPM and Applications and Infrastructure and Management and it’s just..it works. There’s no need for Python..in that domain.”
When I say “CPM”, I look at Roger—and Roger backs me up.
When I say “Applications” Tim Jones backs me up.
When I say “Management” I look at Leonard Mastin, and he backs me up. Leonard Mastin also shoots me a look when I say “sober and documented analysis” but that’s just between me and him.
Fuck it. Fuck. This conversation could have gone a lot smoother if I hadn’t been out dancing—if I had gotten some sleep—but then we would have Python in the messaging code because fucking Marc Disney wants to learn how to code in Python.
Makowski presses the backspace key on his tablet a couple times. I can only assume this is because the meeting is almost over and I only said the F-word twice.
“Everyone good?” He looks at me.
“Yeah.”
He looks at Marc. Marc drops his pencil and it rolls toward him. He shakes his head and stops it before it rolls off the edge of the table.
“Good,” Makowski says, “Let’s move to final business.”