Wednesday, January 27, 2010

Life of a Code Monkey

It happens at every party. I'm chatting with someone I just met, and he asks me what I do for a living. (It's always a he, women don't talk to me at parties.) I tell him I'm a computer programmer, and his eyes glaze over. For however long I decide to talk about my profession, he'll nod at the right times, and make the occasional "mmm" of interest, but he's checked out, judging at what point it would no longer be rude to talk to someone else.

This doesn't bother me, because if you're not part of the club, software development is a boring jumble of jargon and acronyms. Also, as essential as computers are, no one wants to know how they work. They're like cars: as long as they get us where we're going, we don't give a shit about what's under the hood.

But I've decided to explain the life of a code monkey, and you might just find it interesting if you come along for the ride. This will be no party patter full of vague pleasantries, this will be the straight dope. So just step right this way.

The most important thing I have to say about the software industry is that I love the former and hate the latter. Software can be exhilarating. It can even be artful, if you're not afraid to look under the hood. But just like any art form, it must be translated into a monetary value if you plan to eat. That means art becomes a business, and business is the domain of businessmen. For businessmen, there is no art, just products and profits. Welcome to the industry.

But for a moment, let's hold the beasts at bay and live in a code monkey utopia. For someone who really cares about software, how you build something is just as important and what you build. For the end user, it can be very hard to tell how well a piece of software is constructed. Certainly, if a program doesn't work properly and is filled with bugs, it's easy to measure its quality. But two developers could produce two programs that, in the user's eye, are identical. Yet one of them may be a masterwork crafted by a talented artisan, while the other is held together by duct tape and is just sufficient enough to earn a paycheck.

In a short period, this difference may not matter to the user, but if he has to live with an evolving piece of software over time, the difference will become apparent. Every change that is made will lead to many problems in poor software. In good software, the changes have much less effect and are much quicker to implement. When another code monkey comes along to maintain a product, he will curse the paycheck collector and praise the artisan. (Briefly, before complaining how much better it could have been done. More on that in a second.)

So for a software artisan, there is a passion to deliver what a user needs, and lay the groundwork for what will be one day needed. This will be done in as simple a manner as possible, but no simpler. It will be fairly easy to understand (compared to other code, at least) and it will be elegant. It will feature the latest ideas and patterns from the thriving community of other passionate programmers. For the layman, it will just be a piece of software that will be cursed when it doesn't do things as well as expected, and taken for granted otherwise. For a code monkey, it will be art.

Chasing this grail of great code is an intoxicating process. When I'm in the zone with no distractions, time disappears. The world fades away, and there's only the code emerging before me and the endless battle of making the computer concede to my whims. Suddenly I'll realize that the day is almost done and I haven't even had lunch yet. Anyone who has thrown himself into art of any sort will know this experience.

I wanted us to stay in my little code monkey utopia for a while. I was hoping the visit would last until the inevitable arrival of the suits. I could keep talking about the joy of making great software, the rush of struggling with a problem for hours to finally solve it, or the glorious feeling when a fellow code monkey looks at your work with awe. But the clouds have come, and the rain is starting to fall.

The price of chasing the software grail is the never-ending need for scholarship. The fundamentals of development evolve constantly, and how to apply them changes even more rapidly. Best practices and patterns have to be followed on an almost daily basis to stay current. Imagine being a writer and having to buy a new dictionary every few years because the current one just doesn't apply anymore. Imagine awaking from a ten-year coma to find you can't even read your favorite author's latest work. Such is the life of a code monkey.

Another problem is that even before we have to submit our creations to the product machine, we code monkeys have to co-exist. To keep the contrast going with writing, imagine writing a novel with ten other people. How far would you get before things would end so very badly. Even if you agreed to an over-arching plot and who would write which chapters, the fact is that disparate parts have to make sense as a whole. That means a lot of communication and compromise. And code monkeys, like any artists, have plenty of pride and ego.

Throw in a few writers who are just there for the sweet writer paycheck (okay, the analogy breaks down here, but let's move on), and suddenly you may feel like Cormac McCarthy writing the conclusion of a story that Dan Brown began and features a middle section contributed by Stephanie Meyer. (And if you're a fan of either writer, I'm very sorry, on many levels.) Even worse, imagine you have to add content between those writers. On a good day, you'll think you put Cormac's prose to shame, and on a bad one, you'll feels as if you abuse the English language even worse than Dan and Stephanie combined.

Despite these challenges, software can still come together in greatness, and despite all the brotherly fights amongst code monkeys, there's still mutual respect. If the only challenge was to deliver great software, developers could work together well enough to achieve that goal.

But software has to be sold. Which means it has to be done before someone else does the same thing. And even if you finish first, if someone else makes it cheaper or better later, you have to react or be put out of business.

There's the b word. Let's begin our descent into darkness.

I mentioned that, on a superficial level, code of vastly different quality can look the same. Better quality takes time, and time is money. That means that the quicker software is built, the happier the businessmen are. While poor code will be more expensive in the long run, and will potentially alienate users (now called "clients" in business parlance), to many profit-driven minds, the equation is simply that money now is better than money later.

Before I paint too bleak a picture, I can't say that every sales-oriented person in the software industry is short-sighted and greedy. There are many people who "get it" and understand the big picture. Some even respect the art of software.

But software has to be sold for software to be made. Someone has to sell it. That means the good guys have to compete with the slimiest, most dishonest jerk at the sleaziest company that ever managed to stay in business long enough to shit out some software (or at least promise to one day shit out software.)

Thus, the life of a code monkey is building something in the time frame that was promised in order to make a sale. To go back to the writing analogy one more time, imagine getting a call from your agent that you have to write a 500 page teenage vampire novel in four weeks. (Insert your own Stephanie Meyer joke here.)

So in that situation, what does a code monkey do? That's the hard reality of being a software developer. We care. We want to make art, but we also have to make a product. So we do our jobs the best we can, balancing what was sold with what we yearn to make. We deliver a book that's half the expected length in twice the promised time. We stick to the theme, but do our best to make it a meaningful, worthwhile creation. The client grumbles about the disparity between promise and product, but is satisfied in the end.

The result may be flawed, but damn it, it is art.

Sunday, January 10, 2010

Be Very Quiet

It's late, and everyone's asleep. We'll have to be quiet or they'll hear us. I want to tell you something.

Just got back from walking the dog. It's fucking cold out there. I had my pajamas on and the wind would tear through the bottoms and sting my legs. Bo seemed impervious, and he was annoyed when I pulled him to come back.

Back inside the house, I kept my coat and hat on as I shivered off the cold, giving the dog a treat for having the decency to save his waste for outside. His reaction was neutral, hungry for the snack but yearning for the meat treats instead of the peanut butter biscuits. He scampered away. I could hear him plop down and start munching feet from Cathy as she slept. The white noise machine, the antidote to my snoring and apnea, mostly drowned him out.

I sat here for a while, knowing I really wanted to say something, but not sure what it was. I knew you don't want to hear all my really deep thoughts, I barely even care about them myself. They seem like perpetual distractions to the business of living, a constant annoyance.

It's okay, you don't have to tell me you care, you might wake someone up.

When it's this cold, it makes you ache in your soul. It makes me glad I don't live in New Hampshire anymore. If it's cold in Boston, it's insanely fucking cold up in Milan. It was so cold there, I used to be happy to see the school bus coming.

On nights like these, when we're the only ones still awake, it's tempting to tell you all my secrets, to unburden myself of things only I know. But there's not much to tell, only trifling things that are of little interest and could cause awkwardness when we meet again in the bright light of day.

I know you're thinking that I should share with you, that it won't change anything. That you can be trusted.

I'm sure you can, but we're simple animals, we're programmed to behave a certain way. Just like how if I had taken Bo's biscuit away before he had finished it, he would have growled at me in an unexpected show of aggression.

But I guess I have to share at least one secret with you. It is late, after all, and we're the only ones still awake. And you have been very quiet.

Wait. I can hear Cathy stirring. If she gets up, she'll want to know what we're talking about. I better not tell you now. I'm going to try and sneak into bed. You'll have to leave as quietly as you can.

Be careful, the front door squeaks.

Wednesday, December 30, 2009

Christmas at My Mother's House

It's a little after nine in the evening when we pull into the driveway. The porch lights are on. I let our dog, Bo, out of the back seat and take him around the yard. In the dim light I can barely make out his stream of urine melting the snow, leaving a bright yellow hole.

My wife, Cathy, coming down with a cold, lingers in the car. Bo and I climb the stairs of the porch, and I wrestle with the two doors to let him inside. My mother stands in the yellow light of the kitchen, and breaks into a warm smile. She's seventy now, her hair salt and pepper. I can smell cigarette smoke. For the rest of the visit, she will do her best to smoke discreetly, sneaking out the the sun porch, but the time we get home our clothes will still smell.

She's wearing a bathrobe as she often does, but this is a different one. For as far back as I can remember, she wore a dark blue robe. When I was small she would hug me and sway when I was upset, and I would get lost in the folds and warmth.

Cathy comes in soon after, and we smile and talk. Cathy and I talk about the previous two days at Cathy's parents, and my mother tells about her visit to my brother. My brother had come to pick her up on Christmas Eve, and they had just returned shortly before our arrival. My mother is physically capable of driving but rarely does because of paralyzing anxiety. She only leaves the house when she has to.

In the living room, the television is on, tuned to Fox News. I will be doing my best to ignore it for the next couple of days, and I hope that Cathy and Ma won't argue over politics. For the moment, all is well as we sit around the dining room table catching up.

There is no tree or decorations. The entire family used to gather for Christmas at my grandmother's farm, and the house was full of decorations, presents, and people. Some years as many as twenty people would cram into the kitchen for the holiday meal. When Nan died, so did the our family traditions. Everyone does their own thing now. My mother chooses to mostly ignore Christmas.

As we sit and talk, the topics become melancholic. My mother is lonely, but trapped by her anxieties. She talks fondly of Christmases past, and glances to the present only with resignation. As we always do, Cathy and I will later talk about what we can do to help, but there's nothing that can be done. Every offer will be refused, every suggestion ignored.

As I lie in bed that night, I feel the weight of my inability to help, and I ponder what I can do to save my mother from herself. I have no answers.

The rest of the visit is pleasant, though tinged with sadness. I can still see my mother's strength and spirit beneath her sorrow. She was always calm, wise, and stoic, one of the most remarkable people I have ever met. While my grandmother was the emotional center of the family, it was my mother's strength that protected us. But now she was lost and without purpose, her fears no longer reined in by necessity.

When we leave, my emotions are mixed. I'm ready to get away from the sadness and cigarette smoke, but I ache with guilt for feeling that way. Once, Ma held me in the warmth of her blue bathrobe, and when she swayed the problems of the world faded. The bathrobe is gone now, as are so many things.

Tuesday, November 17, 2009

Excuse Me, Sir, But Your Pants Are Falling Off

Riding home on the bus, and some kid is sitting there with his pants hanging down low enough that it looks like he's taking a dump. I watch him get off the bus, holding his pants up. (What else do they have keeping them up if they're under his ass?)

This is fashion? This is what someone considers to be a good idea?

This has me rethinking my staid opinions on clothing. Perhaps I need to take my look in an exciting new direction. Underwear over my pants, perhaps? Or I could try a shirt 3 sizes too big. (Or 3 sizes too small. Genius!) Maybe I'll wear my pants backward. (Oh right, that one's been done. Kriss Kross will make you jump jump.)

No need to stop with clothing. How about the one eyebrow look? Not just for the guy that passed out at the party first anymore! (Whoever just made the crack about my mono-brow: fuck you.) How about shaving all facial hair except what's on my neck? Gross, you say? Awesome, I say.

Now, I'm no fan of couture fashion, or being part of the hive mind. I don't buy clothes every year to keep up with trends, and I'm not too concerned about what people think of how I look. But wearing your pants so low you have to hold them up? That's neither stylish nor smart in any way. It really has no redeeming qualities at all.

Except to say, I'm a complete fucking moron, laugh at me!

Congratulations, sir, mission accomplished.

Monday, November 2, 2009

"There ain't no devil, there's just God when He's drunk." - Heartattack and Vine

I resign myself to the fact that everything I have to say has already been said better by Tom Waits. (Full disclosure, I really mean Tom Waits and his wife, as they've been a songwriting team for over twenty years, but I hear his voice in my head. And his older stuff was all just him.)

Who else could cram so much pathos in three lines?

"It's a battered old suitcase
In a hotel someplace,
And a wound that would never heal."
- Waltzing Matilda

Shit. I couldn't convey that in an hour long drunken ramble.

How about these gems:

"They all pretend they're orphans,
And their memory's like a train.
You can see it getting smaller as it pulls away."
- Time

"You haven't looked at me that way in years,
But I'm still here"
- I'm Still Here

"I will leave behind all of my clothes,
I wore when I was with you.
All I need's my railroad boots,
And my leather jacket,
As I say goodbye to Ruby's arms
Although my heart is breaking.
I will steal away out through your blinds,
For soon you will be waking."
- Ruby's Arms

Throw some amazing and depressing music and melodies in the mix, and holy crap. Grab the booze if you want to make it to the end of the album.

So why is it that depressing music resonates so well?

I think it goes back to the old adage about crying alone. Happiness overflows and is shared like exploding champagne, but sadness can feel like trying to draw water from an empty well when you're dying of thirst. We may lean on others and find comfort in family and friends, but in the end, the hard times we bear alone.

That's where Tom Waits and all the poets of pain come in. You may be alone, but you can connect to someone that has been through similar things to what you're struggling through and is unafraid to share it with you.

I remember sitting in my grandmother's kitchen after she'd gone to bed, listening to The Wall by Pink Floyd over and over. Songs of hope and happiness would have rung false, like some cruel mirage, but to hear someone talk about the things he'd gone through brought human connection when it was needed most. I was not able to say things I need to say to another person, but Roger Waters was saying them to me. Finding that kindred spirit was the hope I needed.

However, there's an important corollary here: there has to be that little tinge of hope (or at least a lesson to be learned from the lyricists woe.) This may not be in every song, but there will be something on the album to latch onto.

This is perfectly demonstrated in The Wall, which ends with "Outside the Wall":

"Outside the wall, all alone, or in twos,
The ones who really love you,
Walk up and down outside the wall.
Some hand in hand,
And some gathered together in bands.
The bleeding hearts and artists make their stand.
And when they've given you their all
Some stagger and fall, after all, it's not easy
Banging your heart against some mad bugger's wall."

Here Roger Waters shows the tragedy of his fictional character, Pink Floyd, who, despite all he's endured, is still loved. In letting his struggles build the figurative wall, Pink has blocked off the people that could have helped him.

I was that guy, building my wall. And Roger Waters came along and saved me from myself.

So give me sad songs sung by damaged souls, and raise a glass to their courage to share what they have endured. They survived, and so will we.

I don't need a happy song to convince me of that.

Thursday, October 29, 2009

Marinade Master Meat Tumbler Machine

I stumbled upon an ad for the "Marinade Master Meat Tumbler Machine."

Where do I begin?

The first thing that pops into mind is those toy rock tumblers I always saw in the Sears catalog growing up. Throw some rocks in and hours later, they're worn smooth. Exciting!

Now I had to assume this invention wasn't to make meat smooth. Delving further, I discovered the tumbler both rotates the meat in a bath of marinade, but also sucks out the air in the container to marinade your meat in as little as twenty minutes!

This glorious, nay, indispensable item was a mere 54 dollars with free shipping.

Thank God someone has finally saved me from having to marinade my meats over night! The wait was unbearable. Sometimes you get home from work and need marinated meat, stat.

Now that I got the sarcasm out of my system, I want to know who would buy this item? (If you did please leave a comment, so I can mock you.) What people meet the following criteria?
  • Enjoy marinading meats
  • Think marinading takes too long
  • Have 54 bucks to spend on useless junk
  • Enjoy watching meat tumble
  • Don't live with anyone that would mock them incessantly for buying a Marinade Master Meat Tumbler Machine
Since that narrows it down to, in my estimation, one person in America, I say enjoy your tumbler, my friend. Let the good times (and meat) roll!

Tuesday, October 27, 2009

In the Middle of a Proverbial Marathon/We're Out of Control

Hello, my name is Mike. I'm still fat.

We'll, I'm decidedly less fat. Over the last three months, I've lost 32 lbs. I'm eating fairly well, and I'm getting a decent amount of exercise. The metrics all sound good (and we recovering tubbos love metrics): weight down from 252 to 220; waist went from crammed into a 38 to a comfy 36; neck from 19 down to 17.5. Even better, I've actually added muscle, so it's a much healthier 220 then when I hit it on the way up.

I take a lot of pride in what I've accomplished so far. I can see the difference in the mirror and I'm happy about it. People comment on how thin I am. Its enough to give me a big old warm and fuzzy.

But the fact still remains: I'm overweight. My BMI has crossed over from "obese" to "overweight." That is a good thing, but to hit what is considered healthy weight for my height, I need to get down to 184. And yes, BMI is just a rough measure and not an exact science, but I wager it's not that far off when it tells me I have to lose 36 more pounds. Maybe when I hit 195 and I look in the mirror, I'll see something worthy of being called a physique, with little extra flab and healthy muscle tone.

That is the future. For now, the battle continues. And really, when that day comes, nothing much will change. I'll eat a few more calories, but still eat healthy food. I'll continue to get a decent amount of exercise. A few indulgences will probably be allowed. But this a marathon that doesn't end; I'll be a recovering tubbo no matter how long I'm a healthy weight.

Okay, so this has all been pretty dull so far. Fat guy has lost some weight. It was a struggle, but he's succeeding. Let's all feel good about the human spirit. The audience applauds, the credits roll.

Here's the thing: I've had a lot of time to think (especially during all those workouts, when the only other things to think are either this sucks so bad, am I insane? or bored bored bored bored bored BORED! ), and I've come to a conclusion.

We're out of control.

You may be way ahead of me on this one. Truth be told, I've had my suspicions for a long time. But the evidence keeps mounting.

How many ways are we out of control? Too many to count. But here are a few examples:

We consume without concern for consequences or cost. We sell our souls to corporations to get shiny toys and tasty treats, and we don't care who gets hurt or what things they do to shave costs and drive up profits. We look to talking heads that shill hate and outrage, and cause further division and create problems instead of solving them. We let the purity of faith become corrupted with prejudice and intolerance. We allow ourselves to believe that we have to choose between left and right, when the real choice is between regular people and those that want to take advantage of them. We're happy as long as we have big TVs and iPods and sports and beer. We sweat in the winter and freeze in the summer. We look for others to blame, and absolve ourselves from guilt. We eat sentient beings when we have humane options. We reproduce without any thought to how the world will be able to hold us all. We trade fulfillment for material comforts. We say the right things, but we don't mean them.

And, as Thoreau would say, we lead lives of quiet desperation.

Okay, I admit that rant was a bit excessive, but I believe it's mostly true. And this is where it all comes back to losing weight.

I made a huge effort to improve myself in one area I've always struggled with, but there's so many more things that need to be fixed. I could make a list, but my rant hit on many of them.

In the end, the only hope for all of us if we accept that we are all constant works in progress, and that we must keep struggling towards becoming our ideal selves. We may differ in our view of what that is, but I have to believe that for the vast majority of us, it would be a very positive thing. Throw in a healthy dose of tolerance and acceptance, and we could all get along in our new enlightened state. And for those that would strive to become beings motivated by hate and greed, to quote an old song, "get off my cloud."

And as they crept off my cumulus, I'd also say to the back of their heads, to quote another song, "what's so funny 'bout peace, love, and understanding?"

P.S. I'm not really that much of a dreaming idealist. We're going to stay out of control for the foreseeable future. If I've learned anything about humanity, we'll keep going with our bad habits until we have our toes dangling over the edge of the abyss. Then we'll kick a rock over to see how far the fall is before we decide to turn around. We're all fucking nuts!