|
My brain is built of paths and slides and ladders and lasers and I have invited all of you to enter its pavilion. My brain, as you enter, will smell of tangerines and brand-new running shoes.
 The One Search Google Can't Do |
Posted - 10/27/2006 5:53:59 PM | I believe that searching is a hard problem. Although today the term "Google" is virtually synonymous with search, we still tend to obscure and ignore the real difficulties of information retrieval. In fact, Ask Jeeves has recently been exploiting some of this for marketing purposes, although they have fallen short of truly addressing the root issue.
The root issue is, in a nutshell, that we don't understand searching.
Sure, we can correlate keywords to web pages and retrieve them at astounding rates. We can attach all kinds of sophisticated importance to various bits of HTML and certain sequences of words. We can even detect synonyms and expand query results based on tangentially-related words. Many of these things are areas which Google has mastered, if not pioneered outright. They have done this so effectively that "search" and "Google" are fundamentally inextricable to many people. In fact, it is increasingly common to instruct people seeking knowledge to "just Google it". The unwritten expectation is that anyone can find anything on Google - or, as loath as we may be to admit it, comparable search engines.
But this is a delusion, a fantasy that exists almost exclusively on the Internet. Roll back the clock 15 years and see what "search" meant: for the most part, it meant learning to use indexes, cross references, bibliographies, footnotes, and the Dewey Decimal System. It meant hard work, often correlating concepts which seem only tenuously related, making leaps of intuition or sometimes blind faith from one book/subject/author to the next. Search, or as it was more properly called then, research, carried a connotation of challenge, difficulty, real work. Research was hard, and we knew it. We knew it so well that it was considered a fundamental part of higher-level academic learning - what one researched was rarely so important as the fact that one learned to research at all.
Back in the present, we have lost touch with the notion of research. Today, it largely means "spending a couple minutes on Google". If one is deadly serious, one might spend a few whole hours, following links two or three levels deep. The truly determined (or perhaps only the truly anachronistic) will trudge off to the library and poke around in books for a while. Tellingly, however, many people determine which books to check via - you guessed it - searching the Internet.
I've commented before on the form of confirmation bias the Internet tends to create. In general, the Internet gives us access to a tremendous amount of information and stuff; but how much of it do we truly exploit? With the growing consciousness that the Internet is not necessarily 100% truth, many people will reject things they find on the Web offhand if they disagree. This is especially visible during those times when politics is discussed loudly and at length by just about everybody.
In the comments on that entry, I touched on the larger issue - it's bad enough that the Internet lets us feed our biases while pretending we're broadening our views, but the real problem is that truly broading one's views is an unsolved search problem.
This is fundamentally connected to the concept of education as led by a more learned/experienced teacher. The entire notion of mentorship and apprenticeship is bound deeply to this problem. Unfortunately, our society has largely forgotten how those concepts work; without them, the Internet lacks much of its potential to spread enlightenment to the human race.
The challenge can be summed up neatly with a simple question: if you need to learn about something, but don't even know the words to use to describe it, how do you find it on Google? Suppose there's some niche field of science that you don't even know exists; how can you find its existence?
Answer: you don't. If you're ridiculously lucky, you can play with synonyms and hope someone has asked a similar question on a forum or newsgroup, and thereby acquire the "proper" keywords to solve your question. Most of the time, you'll end up with nothing, or at least nothing that really helps. Now you're toast, especially if you don't have a library card.
Stated simply, there is one search that Google (or any other search mechanism that exists, for that matter) cannot do: it can't search for something we are totally unaware of. More subtly, it cannot answer the questions we are unable to ask.
The solution, of course, is to introduce people. Discussion and dissemination of knowledge will eventually bring the answer to light. It is by finding and dialoguing with a large number of people that we expand our knowledge; keyword-based searches can only give us additional depth, not additional breadth. Yet breadth is precisely what we need to achieve a rich and effective outlook on life.
For a time in history, this wasn't an issue; the sum total of human knowledge (or at least the set of all known and active fields) could be communicated in a few books or by a good teacher. It was in this atmosphere that institutions of higher learning became prevalent in Western societies. Yet in the intervening centuries, we've developed such a mass of information that even decades of specialization and careful study can leave a person unaware of vast tracts of knowledge directly pertinent to their own chosen field, to say nothing of fields they haven't sought degrees in.
For someone like myself, who thrives on exploring the metamind of humanity, this is a vexing issue. Clearly the most efficient answer would be to seek out people as different from oneself as possible, and absorb as much as possible from them. This assumes two things; the easy assumption is that such people will be willing to share their knowledge. This is not such a problem, since people are fundamentally (for the most part) enthralled at the chance to be narcicisstic for a bit and ramble about themselves. (Witness the pervasiveness of blogging.)
The larger assumption is that one has a way to find such people in the first place. In the old days, those with an autodidactic bent would travel the world, seek the learned men, philosophers, and teachers, and learn what they could. Today's environment is simultaneously more and infinitely less conducive to such a lifestyle. While the professional student is by no means extinct, it is a difficult road, at least in much of the world - the U.S. in particular.
Worse, it conflicts with other demands on a person's time. If one has a job and other responsibilities which cannot (or should not) readily be ignored, it is infeasible to travel the world to pick the brains of other people. In rare cases where such a thing is possible, it relies unduly on the availability of those other people - and such availability is by no means guaranteed.
The Internet seemingly provides the perfect remedy; we can communicate at leisure with people from across the globe, with minimal constraints and inconveniences. We can even see and hear each other thanks to VOIP and video chat technologies. Yet the convenience of communication is moot given the difficulty of connection; the Internet is governed by Google's flavour of search, which as we've already seen is not exactly conducive to exploring outside our boundaries.
I believe the idea of finding people and concepts (as opposed to factoids and keywords) is severely underdeveloped in today's Internet infrastructure. I suspect that the societal changes we've seen arising from the Internet are trivialities compared to the true potential of a global communications network that also lets us all probe far beyond our areas of expertise.
The adage says that we can't learn something unless we almost already know it. Perhaps it is unfounded idealism, a sort of rebellion against such a cynical notion, but I for one am not prepared to accept this as a universal truth. Rather, it appears to me to be a mere artifact of how we have gone about structuring - and retrieving - our knowledge as a human race.
But as much as I dislike the current state of affairs, I'm at a loss to envision anything better. I'd look for solutions, but that's one search Google can't do.
| |
| Wednesday, October 18, 2006 |
 Pipe Smoking |
Posted - 10/18/2006 11:25:36 PM | Today I took delivery of my first proper pipe, a half-bent billiard by Tsuge. I just returned from giving it its inaugural smoke; I used JJ Fox's "The Banker's" blend for the leaf.
The pipe itself smokes like a dream, with an easy light and satisfyingly even and thorough burn. There was virtually no dottle after I finished the bowl. It draws smooth and cool, and responds well to varied puffing speed and strength.
The leaf is good; as noted it contains a bit of Havana leaf which gives it the nose of a Cuban cigar. The flavour is medium; not quite as strong or pronounced as I would like, but we'll see how the leaf ages. The reviews I've read indicate that it improves significantly with time.
My only complaint was that the bowl smoked a bit on the moist side, but I think I can safely blame part of that on the thick fog down by the lake where I was smoking 
Overall I'm very happy with it and can't wait to show it off around the pub Friday night. I'll have to bum some of the Cade's Cove Cavendish off my mates and see how it smokes in this pipe.
| |
| Wednesday, October 11, 2006 |
 It's a bird! A plane! A... software engineer? |
Posted - 10/11/2006 3:51:54 AM | Being a game programmer leads to some awkward questions in life. Like, "So what do you do for a living?" or anything involving rotted fish. I've seriously started dreading the obligatory little section of the social dance where the other person asks how I afford my used car and all my beat up off-brand clothes from Wal-Mart.
With a certain crowd, I can throw around weighty terms like "software engineer" and garner some respect. If the crowd is not wearing pocket protectors, however, this is more likely to earn a faceful of knuckles and perhaps some derogatory comments about the species of my mother. I have also discovered that the phrase "computer programmer" conjures up images (in roughly 99.96% of the human population) of a brainless guy who pokes blinky colored buttons all day - basically Homer Simpson on the set of Star Trek.
There are some people (who are currently still in high school or perhaps younger) who are deeply impressed when I dim the lights, engage my best dramatic baritone, and announce gravely that I make video games. Usually, though, the lights come back up to reveal a lot of incredulous stares, and often someone asks what the hell I'm doing with the light switch.
The older generations, in particular, are unimpressed with this career choice. Video games are a sacriledge, a waste of time, a corruption of our youth and society akin to alcoholic beverages and lingerie. I have actually been told three separate times that I'm going to hell for corrupting children's souls (although that might have had more to do with handing out those "Become a Minion of the Undead" fliers than my job).
As such, it has become brilliantly clear to me that there is only one solution: I must find an icon, a representative, a person of great stature and noble character - a symbol to span the ages, to touch deep the core of souls both young and old, to inspire awe and courage in the hearts of young men and giddy swooning in the hearts of young women, to save the country - nay, the world - nay, ALL OF EXISTENCE!
I speak, of course, of the only thing that can possibly do all these things: game development needs a superhero mascot.
You know the drill: a quiet, gentle soul of virtue but no remarkable qualities by day, Clark Kent style but less of a brainless pussy. Whenever someone's cat is stuck in a tree, or evil corrupted uncle tries to enslave humanity, or some kid in Nicaragua gets bored, OUR HERO disappears into the vacant cube across the aisle, pulls his Lycra™ jumpsuit out of his briefcase, and puts it on over his drab casual attire. Somehow, he manages to avoid looking like a fool - quite possibly by looking like a drug-laced flameout failure from a third rate fashion school.
Clad in his awe-inspiring garb, he questions his sexual orientation just briefly before bursting through a window and zooming off into the sky. He arrives at the scene of disaster (tree/doomsday lair/Nicaragua) and engages in the usual superhero antics: high tech gadgets, laser vision, eating nuclear warheads, telekenesis - you know, all that impossible stuff that we scoff at to look good in front of our smart friends, but still secretly wish we could do, deep down.
Once justice has been dispensed (with the obligatory iron fist, natch), OUR HERO leaves the scene to OUR HERO'S JANITORIAL STAFF, who promptly and efficiently clean up the leftover action bubbles filled with such pithy wisdom as "BIFF" and such profound insight as "KAPOW."
OUR HERO then returns with stupefying speed to his Regular Day Job, where he encounters THE ROMANTIC LOVE INTEREST WHO IS REALLY HOT AND SHOWS MORE CLEAVAGE THAN ANY WOMAN ALIVE. The two have a heart-rending encounter, where OUR HERO'S QUIET BUT NOT A BRAINLESS PUSSY ALTER EGO confesses that he can't continue seeing THE HOT ROMANTIC LOVE INTEREST BABE. He makes up some excuse about HER REALLY BRATTY KIDS FROM THAT ONE MARRIAGE SHE DOESN'T WANT TO TALK ABOUT and she gets kind of pissed because you weren't supposed to bring that up, you asshole, and he says he's sorry and for some reason some idiot Hollywood scriptwriter thinks that it's actually possible to make up that fast, so they kiss a lot.
On the verge of revealing HIS TRUE SUPERHERO IDENTITY, the ALTER EGO struggles to BE A MAN and chokes back the shocking secret. Here, the scriptwriter starts using a lot of really vague lines to make us wonder if THE LOVE INTEREST WOMAN actually knows, but is keeping quiet to avoid endangering herself, because we all know that PSYCHO MINDLESS MADMEN will probably try to kill her if they find out she's sleeping with ALTER EGO/SUPERHERO GUY. At this point the cliches and stereotypes become so thick we can actually predict the lines with our eyes closed and our mouths crammed full of cheap, greasy theatre popcorn.
So anyways, ALTER EGO GUY gets around to calling off the ROMANCE with the ROMANTIC LOVE INTEREST GIRL, and we all feel deep sympathy... or perhaps just indigestion from all the greasy theatre popcorn. And while we sniffle a bit to convince our dates that we have emotions, deep down we just want to hurry up and see more things explode. Kick some ass already, man!
Then, sure enough, EVIL LUNATIC MADMAN has been spying on the couple using a STUPIDLY IMPLAUSIBLE DEVICE. He then executes a FAR TOO CONVOLUTED AND ERROR-PRONE PLAN OF UTMOST RETARDATION to kidnap the LOVE INTEREST CHICK and whisk her away to THE DOOMSDAY LAIR.
Naturally, ALTER EGO GUY finds out about this only after it is too late. In a James-Kirk-esque howl of rage, he shakes his fist in the air, and curses the foul name of "EVILLUNATICMADMAAAAAAAAAAAAAAHHHHHNNN!!!"
Then, approximately three seconds later, he remembers he's not, in fact, a brainless pussy, and instantly becomes OUR HERO, THE SUPERHERO OF STUPENDOUS SUPEROSITY AND STUFF. He suddenly is wearing his uniform made of TRADEMARKED SYNTHETIC MATERIAL which CAUSES BYSTANDERS TO QUESTION HIS SEXUAL ORIENTATION. This gaping plot hole is neatly glossed over with nifty editing tricks, and the use of loud, adrenaline-pumping music causes us to forget all about it until we read the reviews online the next day and go "oh yeah, that was totally retarded! Man, that director sucked. I hate that superhero movie. I wonder if Bob wants to see it again next Friday...."
Once OUR HERO has transformed, he travels to THE DOOMSDAY LAIR. The EVIL MADMAN VILLAIN PERSON will make a token resistance, of course, but stereotypically fails to prevent THE HERO from reaching THE LAIR. After OUR HERO's arrival, there is a climactic battle in which the very life of THE LOVE INTEREST WOMAN is quite likely at stake.
Finally, at the pinnacle of the action, the LOVE INTEREST BABE is clearly only milliseconds from instant and hideous death. Over the course of the next twenty five minutes, OUR HERO battles the clock; periodically he glances at his watch and discovers that the theory of relativity has gone out and gotten really drunk, and is currently totally fucking around with the flow of time.
Eventually, OUR HERO conquers THE VILLAIN GUY, WHO IS SUCH A JERK and goes and rescues the HOT LOVE INTEREST WOMAN. They share a MOMENT OF PROFOUND JOY AND PERHAPS A BRIEF DISPLAY OF AFFECTION. Then, the VILLAIN GUY does the little thing where he comes back from the "dead" even though he was just mortally wounded and not dead yet, because OUR HERO is actually a nice merciful guy and didn't actually cut off his head all the way, you know, just in case he recants his evil ways and goes on to found a shelter for wayward kittens.
But no, EVIL VILLAIN GUY doesn't repent - he's evil to the core. So OUR HERO commits the FINAL ACT OF ATROCITY WHICH IS ACTUALLY JUSTICE BEING SERVED and kills the VILLAIN DUDE for once and for all.
As the audience cheers and generally makes fools of themselves, the denouement begins. (For the uneducated, denouement is French for "the part where everyone remembers they just drank 32 ounces of their favorite soft drink and has to pee really bad, but doesn't want to walk out on the last two minutes of the movie and look like a schmuck. The guys also are secretly hoping for one last good shot of ROMANTIC LOVE INTEREST WOMAN's cleavage." Look it up if you don't believe me.)
Then there's the corny allusion to the possibility of a SEQUEL in the last ten seconds, and the credits roll.
Now, go back through all that and make it vaguely related to making games, or whatever. That's so totally what we need.
| |
 The Bag of Holding: Year One |
Posted - 10/6/2006 10:43:10 AM | I've been at this journalling business for just about a year now, my first post coming on October 8, 2005. I was going to do this on the "proper" one-year anniversary, but that's going to fall on a Sunday, and I plan on being thoroughly asleep all day that day.
Although it seems painfully like ego-whoring, I wanted to do a sort of retrospective of the past year, and gather up some of my personal favorite entries. Since a couple of people actually seem to read this drivel, I thought I'd try and solicit some "customer feedback" as well, and get an idea of what kinds of stuff you guys like to see and want more of in the future.
I try not to judge the "success" of an entry based on the comments alone; sometimes the most heavily-commented posts are on things that I feel like I sucked at trying to express, and I know personally I often don't comment on other people's entries even when I really like them, usually because I don't feel like I have anything significant to say. So here's your chance: I'm going to sell my soul for your love and approval, however fleeting.
I'm also considering editing and polishing up some of the entries, especially some of the ones where I've had the immense benefit of hindsight to reveal how stupid I sound half the time (and how stupid I am the other half).
Software Engineering, Management, and Such
Programming Languages and Abstraction
Why 9-to-5 Jobs Suck
Death Marches, Vision, and Mutant Space Potatoes
Time Management and Multiple Personalities
Cue Angelic Beam of Light/My Lisp Weenie Transformation
The Right Place for Objects
I am Not a Freakin' Magician
Know Thy Place: The Secret of Google (and more on employee satisfaction)
Time Mismanagement
Tools: the Unsung, Underpaid Heroes of Everything
Musings on the Future, Part I
Musings on the Future, Part II
Domain Specific Languages: Yea or Nay?
It's the People, Stupid
Blurry Camera-Phone Stuff
The First Post, and The Aftermath of Game Development
The Taming of Celes the Beast
The X Shrine, a tribute to the Best Games Ever
Personal
Awww...
Grandpa Jim
Inventing Destiny
Introspection in a Tidy Aluminum Can
Why My Kids Will Be Home-Schooled
I Found Enlightenment, But I Can't Remember It
The Dreaded Other
Bill Amend is the Smartest Man in the Universe
Searching, Learning, and Why the Internet is Broken
The Internet is Stealing Your Brains
Apoch for President
| |
| Wednesday, October 4, 2006 |
 It's the People, Stupid. |
Posted - 10/4/2006 10:15:27 AM | A few years ago, I routinely described myself with a certain ha-ha-only-serious quip that rarely failed to draw a wry chuckle. I would inform people with a perfectly straight face that "I'm not antisocial... I simply hate everyone."
Being reclusive seems to be no small part of working in intellectual fields, and programming is no exception. The need for focus and a controlled environment borders on the neurotic in many of the programmers I know - myself included. I've been known to blow up quite spectacularly when people show up at a point where I want to be left to my own devices.
I bring this up for one simple reason: to underscore just how totally bizarre it is that I, of all people, am about to say what comes next. Remember, my telecommuting job consists essentially of sitting in my darkened apartment all day, in complete isolation - and I love it.
It's the People, Stupid.
I've been doing the programming thing long enough to remember more than one fad. A few of them have succeeded, more or less, like Java. Some have crawled away back into obscurity to die in shame. Others have clung to a dwindling yet rabid fan base, yelling loudly to anyone hapless enough to come within earshot that someday the world will wake up, see the truth, and everything will be beautiful and perfect; they exist in perpetual denial over the fact that their time has come and gone, and nobody cares anymore. (I won't name any names; the Kool-Aid drinkers might get offended and stab me in my sleep or something.)
So it's really no surprise to me to watch the Fad Cycle occuring with Agile development: first, it rises from obscurity and enjoys a massive surge in popularity. Then, a few people become openly critical. Next, polarization occurs: those who are "for" the fad line up on one side, and those "against" on the other. The two sides then proceed to throw things at the neutral, undecided people who wander around in between. More often than not, in an attempt to be persuasive, each camp begins chucking large and dangerous items, or even explosive devices.
Eventually, the proponents and opponents work their way up from paper cups to grand pianos to hand grenades. All the neutral people either flee to one side randomly just to escape the devastation, or they get impaled with a flying harmonica and decide to go to law school.
Once the polarization phase is done, both sides decide (for the most part) to just go about their business and leave those crazy "other people" doing their thing. A few vocal people will stick around and halfheartedly lob free convention pens and stress balls at each other for a few months.
Then, the disillusionment phase begins. This is typically accompanied by a massive resurgence in the controversy around the fad, but this time the rats are starting to flee the burning ship. The vocal get louder, the proponents become fanatical, and everyone insists that everyone else is wrong, deluded, stupid, and going to bungle their project if they don't wake up and smell the enlightenment.
After a while, enough people leave the fad to restore a form of equilibrium. In most cases, a few stragglers enter the denial phase, and huddle up in a corner in a fetal position, rocking gently back and forth and whispering about how aspect-oriented programming will return to save us all.
Right now, I think Agile is in the beginnings of the disillusionment phase. The controversy and fighting is becoming louder and more bitter, with no new, intellectually significant contributions on either side of the debate. This is where the shouting match escalates; we've stopped debating the subtleties of chocolate versus the nuanced richness of vanilla, and now we're just yelling and throwing ice cream cones around like blitzed apes.
It's only a matter of time before the 31 flavours run out and we have to resort to using feces.
So what's the deal? Why do people go through this cycle, roaming from one fad to another, in endless search of a magical solution that we all know (deep down) probably doesn't even exist? Brooks told us decades ago that software development is hard, and there's no magic recipe for making it not-hard. Why do we insist on plugging our ears and pledging our souls to the first shyster with a good methodology sales pitch? Are we so addicted to the search for silver bullets that we convince ourselves that we might actually find one?
How can otherwise perfectly rational, intelligent people so devote themselves to what amounts to a massive unicorn hunt? I think the explanation is actually rather simple, albeit a rather depressing commentary on the state of our culture.
Methodology fads, like self-help fads and get-rich-quick schemes, share a single point in common. No, I'm not talking about instant-gratification selfishness, although that does play a role. Underneath the surface, all of these things have one goal in common: to supress the human element.
Humans are imperfect; we're prone to failure. We screw stuff up. We make mistakes. We can be lied to, deluded, or innocently mistaken. We routinely bungle things on all scales, from wearing the wrong colour socks to killing innocent people.
Methodology fads have an unspoken but powerful allure: they promise to mitigate the human factor. They whisper in our ear that if we only embrace the One True Way, we'll stop making mistakes. We'll stop screwing up. We'll stop having to have brutal, embarassing code reviews with that one guy who loves to smugly poke holes in our modules.
We latch on to these fads because, at a fundamental level, we want to stop being imperfect.
This is the fundamental allure of Western commercialism. We're all familiar with the superficial promises made: drink this substance, and women will strip naked and pounce on you on a daily basis. Eat at this restaurant, and your family will love you forever. Wear this brand of clothing, and everyone will respect you. Drive this car (or truck, more often), and you can do anything. Buy this book, and all your difficulty in life will go away.
Fads, commercials, and even cults appeal to a lot of things: self esteem issues, public image issues, skill deficincies, social dysfunction, and so on. For virtually any problem under the sun, you name it, there's probably a 10-step book describing just how to kick it.
Clearly, all of this stuff is bullshit. If it weren't, we'd all be perfect little Buddhas walking around in glowing white robes. The fact that the universe has not suddenly transformed into a utopia is a fairly good indicator that our "cures" are not as effective as we would like to believe. Further evidence is the fact that the cures follow fad patterns: they surge in popularity, then dwindle into obscurity fairly quickly. True cures are timeless and everlasting; they don't disappear from public consciousness as soon as they drop off the New York Times Bestseller lists.
The one thing all these ineffectual half-cures have in common is that they promise us that they will remove our failure. We will stop being imperfect. We will stop making mistakes, causing problems, screwing things up.
All such promises are deadly lies. People will never be perfect. I've known some incredible, remarkably great people, and they're not perfect. Everyone knows it, whether they want to admit it or not. Because of this, we'll never stop making mistakes. We may get lucky, make a good run, have a strong streak - but eventually, no matter how big or small, we'll botch something somewhere along the line.
The real deadliness of fad-cures strikes here, after that first failure. If we have bought into a cure fad, we've probably convinced ourselves that we've gotten it right and we won't screw it up. So, when we inevitably do, it can be devastating. We'll question the fad, ourselves, and anything and everything around us in a desperate attempt to recover. The most insidious fads will tell us that we should expect to screw up, and just be persistent in following the magic recipe; this engenders rabid loyalty. People think that they simply didn't try hard enough, or believe hard enough, or want it bad enough. Maybe they misinterpreted some subtle wording in Step Three and they should go back and try it again. This time, it'll work for sure!
Usually, people will tolerate only a limited amount of this nonsense before moving on to other things. Sadly, some do not; they dig deeper into the dogmatic hole of blind faith, and swear to themselves and everyone around that they're still right - you'll see! Just give it time! They are Linus, passed out in an empty field in the dead of night, still believing that the Great Pumpkin will fly out and deliver joy and perfection to everyone around. Many go to their graves convinced that the Messiah of their choice is just around the corner, and when he shows up, by golly everyone'll be sorry for doubting.
As a species, we've spent thousands of years trying to find the magic recipe. Every group of more than three people in history has eventually started speculating about the answers to Life, the Universe, and Everything. (The enlightened among us are, of course, perfectly aware that the answer is not the hard part.) We all look for our silver bullets, not just in software development but in all of human life. We want to patch off the last of the imperfections and quit having to deal with the icky, slimy, dirty mess of people.
Fallible, flawed human beings can be sticky and grimy. Our baggage, issues, and quirks can make a pretty nasty sludge at times. Is it really any wonder that we crave a way to escape that? Is it surprising that we want to be rid of it?
Yet time and again, we've shot ourselves with various shiny bullets. They look sort of like silver, so we hope they're the ones that will finally slay our demons. And time and again, we discover that the bullet wasn't silver, but merely polished up stainless steel or whatever, and now we've got a gaping bullet wound to deal with on top of the demons, who are now having quite a go at us for being so silly.
The search for silver bullets, in software engineering as in life, will never end up with a cure for our imperfections. All it can do is put a lot of bullet holes in a lot of people.
The most successful people in history are not those who have attained perfection. On the contrary, the successful people are those who have learned to handle failure. Our collective consciousness is slathered with pithy quotes from Newton, Einstein, Edison, and a horde of others; they speak of standing on the shoulders of giants, of dogged persistence in the face of apparent defeat, of sweat and work and getting back up after we've been kicked down and beaten a little bit.
All the great people became great not because they had some magic recipe for perfection, but because they had mastered fallibility.
I am convinced that, in software engineering and everywhere else, we could see dramatic changes in the world if we simply learned to accept the fact that we are not perfect beings. We're not likely to ever become perfect. Expecting and seeking perfection is ultimately destructive and harmful; there are ample tales of warning. I daresay pretty much everyone has had a personal brush with that truth as well.
Instead of trying to find the methodology that will make every software project everywhere instantly perfect, we should focus on what we've got. We're so caught up in the hunt for the Big Answers that we ask stupid questions just so they will line up with the answer we want to use. We get things horribly out of order, and try to organize our lives and projects to fit some idealistic end goal, often without any real consideration for what it is we're doing.
The problem is, it often works... sort of. Someone out there is bound to get lucky, and just happen to have the Big Answer work out for their particular question. These are the people who become the rabid proponents of the fads, the ones who write the breathless testimonials and make keynote speeches at big conferences. They're the ones who write the books, go on tours, and tout their experiences as gospel proof that their fad of choice is the One True Way.
Worse yet, some people will be on the fringe, along the hazy border between the area where the Answer works and where it doesn't. They'll modify the answer a bit (just a bit - not enough to piss off the Holy Prophets) and then go off and become cheerleaders themselves. They supposedly prove that if you just adhere to the spirit of the Answer rather than the letter, and adapt it to your situation, it'll work for you, too! So don't question it, because it can't be wrong; you just haven't suitably adjusted it for your particular situation.
If shooting ourselves in the head with would-be silver bullets was a total failure, we would have stopped millenia ago. There wouldn't be Agile fads and goofy late-night infomercials for machines that will make your unsightly flab go away by whispering Shakespeare to it. The problem is, every time we pop a round in our cranium, we happen to lodge some lead in the pleasure center, and we get a rush. We're blowing our brains out, a chunk at a time, but it just feels too damn good to quit - we're so sure that Next Time it'll work out. The Next Fad will be the One with the Real Answer.
And so we continue to fail to deal with the reality of the situation: that we're not perfect, and mutilating ourselves won't change that.
Let me tell you one thing that will save your bacon a million times over in today's world of cargo-cult fads: nobody can give you genuinely valuable advice if they haven't sat down and listened, extensively, earnestly and honestly, to your specific situation. I don't care how many degrees or years of experience your guru has; if he hasn't taken the time to learn the nuances of your personal circumstances, any advice he gives you is arbitrary. If it happens to work, it's not because he was right or wise or brilliant or Jesus reincarnated - it's because he got lucky.
There's a whole field of people who thrive on convincing people they know more than they do, using linguistic tricks and statistics. That is the domain of con men, TV psychics, and pyramid schemers. Good advice - good guidance - can come only from someone who is intimately familiar with your case. Not one that was very similar. Not one that vaguely involved something related. Yours.
This has two important corollaries. First, and most obviously, any methodology fad is going to work for some people, and not for others. Depending on how lucky the prophets of the fad are, it may work for more people than it doesn't work for; these are the most successful fads. This explains the typical fad-cycle described earlier.
Secondly, and most importantly, the real answer is to look for answers within, not from outside. If your project is struggling, don't immediately run out and try to find a book that addresses your problem. Don't look for a fad that might fix it. If your team is dysfunctional, behind schedule, over budget, or simply playing too much Unreal Tournament on work hours, don't rush around for the first convincing slogan and set of 10 magic steps that sound promising.
Look internally first. Understand and know your own problem. Know the people you are working with. The tools, location, and other stuff is likely irrelevant periphery; we must truly understand that our people are the most significant factor. It's easy to put on a poster, but we must make sure that we truly understand, believe, and practice this.
Know thyself; and, once you know, do what you can, with what you have, where you are.
Adapt to the imperfections of the people you have. More importantly, adapt to their strengths. Sometimes you'll need to add, replace, or even remove some people. Sometimes you may well need to seek the advice of someone who can, from experiential wisdom, suggest how best to make use of who you have. Just make sure the focus is on using what you've got.
Take care of your people, first and foremost. If you're taking care of them, they'll take care of you. It is typical of command-and-control culture to expect people to be amorphous blobs that can be reconfigured to suit our whims; employees and team members are cogs, Lego bricks; they can be reassembled and modified freely for some larger purpose. This is not at all true, and it is a shameful abuse of human beings. Get to know your people, and fit them into the team based on their strengths and weaknesses.
Every team, every project, every situation will be unique. If we focus too much on the generalities that are common to many situations, we will always fall prey to the devil in the details.
If, on the other hand, we learn to master the details, the pecularities which separate our particular situation from all others, we have eliminated the problem. The way to conquer imperfection is not to wish for it to go away.
The way to conquer imperfection is to accept that it exists, and adapt accordingly.
| |
 Curse you, allergenic substances! |
Posted - 10/2/2006 6:31:41 PM | I have a headache, a bunch of old classic Simpsons episodes to watch, and a nice glass of Jameson. I am hoping that the latter two will unite and launch an epic struggle to overthrow the dark tyrrany of the former.
After that, if I can still think straight, I'm going to work all night... 'cuz White and Nerdy is how I roll, yo.
Peace out.
[Later update: you just can't beat a few shots of good Irish whiskey for curing a headache. Aspirin is for wusses.]
| |
In locus hic, omnes res dementes sunt.
|
| S | M | T | W | T | F | S | 1 | | 3 | | 5 | | 7 | 8 | 9 | 10 | | 12 | 13 | 14 | 15 | 16 | 17 | | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | | 28 | 29 | 30 | | | | | |
OPTIONS
Track this Journal
ARCHIVES
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
January, 2008
December, 2007
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
June, 2007
May, 2007
April, 2007
March, 2007
February, 2007
January, 2007
December, 2006
November, 2006
October, 2006
September, 2006
August, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
|