There are books such as Winners Never Cheat and All I Really Need to Know I Learned in Kindergarten that romanticize the lessons of childhood and attempt to apply them to the problems of adulthood. Since software engineering is a social activity that is rife with politics, intrigue, conflict, and all the usual trappings that occur when you get two or more people with low self-esteem working together, one might write a book that suggests the key to better management of software projects can be found on the playground.
Do not expect me to write that book.
Maybe if my childhood had been different I would write that book, but the hand that I was dealt suggests that reality is more complex, and that most of us carry the scars of some pretty harsh lessons with us to work every day. Fortunately, this isn’t necessarily a bad thing, as we shall discover. However, if you don’t appreciate the simple fact that we are all imperfect humans that wear our injuries on our sleeves, your career goals - not to mention your personal goals - will likely suffer.
Fred Brooks once said that “adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.” However, some of us found that adjustment quite painless, especially once we learned how to ask the debugger where that segmentation fault caused the core to dump. Adjusting to the imperfections of others is, I think, the most difficult part of learning to be a software engineer.
Given this belief, let me start by claiming something that is rarely examined in your typical undergraduate computer science class: The most important lessons you will learn during your career as a software engineer are the personal ones that make you a better human, not the technical lessons that make you a better programmer. In both the personal and the technical, experience is the key ingredient. The end result – personal and technical maturity – is where the journey takes you. Along the way, try to remember that we are all just doing the best we can.
To that end, try to realize that each of us brings with us to work each day a set of lessons crafted through a unique set of childhood experiences. Not all of these lessons are useful; the ones that aren’t are known professionally as baggage or issues. For example, let us consider some of the important things that I learned personally from my own childhood and see if we can derive their unintended effects within my workplace.
Lessons You Learned as a Child (But May Have Forgotten)
Your Dad will never buy you that mini-bike because he spends too much money on booze and cigarettes. As a result, I feel that colleagues can only act in their own interests, especially when addictions (to power, money, success) are in play. The modern day manifestation of this is the start-up where the owners can never seem to find time to put that promised stock option plan into practice.
Your Mom wishes you were more attractive. Even though I know I shouldn't have taken this personally since her fixation on my appearance was really just her way of dealing with the pain of being married to my father, I can't help but feel that I'm being judged by how I look, and that if I was only a little better looking I'd be more successful.
Poo goes in the toilet. Some kids learn this lesson really, really well. Too well. They grow up to become anal-retentive. You can spot these people by how their speech is peppered with scatological references; e.g., “crap” or “shit” as derogatory nouns. Conversely, some kids don’t see this as a rule so much as a guiding principle. They grow up to become anal-expulsive. You can recognize these people at work by their desk: their stuff spills out around them as a strange extension of their self, with no apparent order or structure. But they can’t help being this way any more than you can help being fixated on having a place for everything. It is a spectrum of behaviour. Placing yourself on this spectrum is easy: just ask yourself, “where are my keys?” If you are like most people, you know where they might be, and have a mental checklist of places you will look in order to locate them. If you don’t have a clue, you’re anal expulsive. If you know exactly where they are at all times, you are anal-retentive.
Don't talk back to the bully, or you'll get the living shit beat out of you in front of all your friends. Instead, I find it much safer to be passive-aggressive and bad-mouth the difficult people I work with to others. I believe this is what the inventors of instant messaging had in mind as the primary use of the new medium.
Your first girlfriend will have car sex with your best friend one night after they share a ride home from your house. Girls cheat, just as much as boys, but some find the cultural pressure to be a "good girl" so strong that they simply refuse to admit it. Or they adjust their moral compass to places that enable them to rationalize their behaviour and live with themselves. Either way, I struggle with trust issues.
(The careful reader will note that these last two lessons taken together leave me fearful of men, and suspicious of women. My tragic failure as a manager has been my inability to effectively teach dogs how to program.)
You are your own worst enemy. Think back to all those times and places where if you'd just acted differently how much better things would have turned out. Now I simpy find it difficult to trust my own instincts.
The new kid at school is always treated like shit. There should be an amendment to the UN Convention on the Rights of the Child that prohibits parents from moving a child to a new school, such is the pain and torture that awaits the new kid. Today, I never pass up an opportunity to piss all over the new guy.
Love is conditional. Do not confuse conditional love with tough love. Tough love says to you “I am here for you, but not if you continue to act in a self-destructive manner – I won’t enable you to do that.” Tough love is an actual act of love. Conditional love says to you “I am acting in a self-destructive manner, and it is your fault.” Your grandparents love you unconditionally, but they get sick and die before you need them most. Today, I always feel that my employer loves me conditionally. In particular, they love me when I'm writing awesome software, and they hate me when someone finds a bug in it. If you have people who were raised with conditional love on your programming team, they will go the extra mile. But only if they perceive the manager as the person (usually the father or mother… whichever one was alcoholic) in their life that withheld love. If it is safe to disappoint your manager, then you will. If it is not, you won’t... and you'll always ship on time and on budget, regardless of whether it kills you or not.
At least one of your friends was sexually abused, and it was probably the guy that kept suggesting you play “naked games” with him. If out of curiosity and a need for acceptance you decided to join in, that doesn’t make you gay. Oh, and the person doing the abuse is likely one of your uncles. I'm not sure exactly how this effects me on a daily basis, but I know it's not good.
Those are just some of the important lessons of my childhood that I bring to work with me every day. What are yours? What are the lessons of your colleagues and how are they different from your own? Figure out what they are and you are well on your way to understanding his/her fears and motivators.
END NOTES
The Brooks quote is from Frederick P. Brooks, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition), p. 8.
Saturday, October 4, 2008
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment