The cell phone rang while I roamed the show floor at the Embedded Systems Conference about a decade ago. Finding a quiet nook I answered. Fred, our engineering manager, had found a candidate for an open position.
“You'll really like this guy, Jack. He's practically as old as you and is kind of an ex-hippy, too. He really knows the business.” We'd been trying to find a senior engineer for quite some time, and this fellow sounded pretty good.
Fred went on to relate how this candidate mastered every question, knew as much about the products we made as some of our own engineers, and easily fielded even the most arcane embedded questions.
“How'd his references check out?” I asked.
“Well, most of the people liked the guy. All said he was brilliant. A couple called him 'quirky', but I guess all of us embedded people are pretty much on the edge.”
Though plenty of folks had responded to our ads none had that elusive mix of hardware and software background needed for building embedded development tools. Ignoring the alarm bells set off by the “quirky” comment, I told Fred to hire the guy. Let's call him Tom.
First day of work, and the first time I met Tom: ZZ Top beard, a beer-enhanced belly straining hard against the Harley Davidson tee shirt, and a smell, that, well, almost peeled the paint from the walls. Sheepishly Tom told of an obscure medical condition that created the reek.
A week later he called in sick. The flu, maybe. A few days turned into a month, the disease now something tropical contracted at a diplomatic party in DC. He did eventually recover. Everyone's patience was wearing thin, but we were so backlogged a collective sigh of relief arose when he came back. Then we inhaled and gagged.
Over the next two months the company's engineering projects seem to take second place to his efforts to write a program that simulated the Mayan calendar. No kidding. His schedule drifted off-hours, starting later and later, and, he assured us, ending quite late at night. The project fell further behind.
The bits of code he leaked to us looked pretty bloody awful, so Fred demanded a meeting. I attended, by this time both fed up and frankly curious what bizarre twist would come next. Tom arrived with his program, thousands of lines of uncommented and convoluted assembly language. Nothing worked; even the simplest tests we constructed failed spectacularly. His rain of excuses fell on frustrated ears.
We fired him. I presume he's off pursuing his Aztec ancestors now, no doubt driving some other company crazy with frustration.
“Quirky” was obviously a code word used by his former employers to warn us without risking legal action. Litigious Americans have made the use of references almost meaningless, a loss for both companies and the vast majority of decent employees. We had heard what we wanted to hear, that this obviously smart guy could perform. Perhaps he could, but for reasons I never understood he failed dramatically.
As an ex-long-haired freak myself I was totally in sync with Tom's freethinking approach to life. But we were in the business of making products. The beard, the motorcycle, and even the smell weren't important, but his unwillingness to perform doomed our project and ultimately his job.
Software engineering has been the last refuge of the non-conformist. We tolerate weird hours and strange habits, somehow equating these with the eccentricities of artists and developers. I've found the broad diversity of people in this business rather a lot of fun.
But times are changing. Our tolerance for such radical independence is ending, driven out by a new perception of the importance of a team in creating big software projects. More disciplined software engineering is a fact of life in this business. Approaches like Extreme Programming, Scrum, and Feature Driven Development rely on close cooperation among the engineers. One might even say the new paradigm is an “intimate” relationship between engineers; when a pair of developers share a computer and work side by side eight hours a day, they get more face time than most spouses.
We're now recognizing the importance of such cooperation, but an implication is that the solitary prima donna who pulls all-nighters just does not fit into such a development model. With projects exceeding 100,000 lines of code the team is more important than an individual.
The lone genius may just be an anachronism.
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. He founded two companies specializing in embedded systems. Contact him at . His website is .
Great article, judging by the reaction it elicited. Now I'm wondering if the story really isn't apocryphal.
I do worry about the professionalism of people who resort to calling you names, especially when an executive title accompanies the diatribe.
Jack Replies: No, unfortunately it wasn't apocryphal…
I couldn't agree with youmore. As systems get more and more complex (especially in the wirelessindustry, where I work) the need for tight teamwork easily replaces theindividual superstar. People who can't work in a team environment are moreof a liability than an asset, regardless of their ability.
You write: “the new paradigm is an “intimate” relationship between engineers; when a pair of developers share a computer and work side by side eight hours a day, they get more face time than most spouses” I believe you are absolute evil if you think that is a good thing.
Simply put, this emphasis on the most pathological forms of teamwork is merely an excuse for management not to manage, leaving that most difficult of tasks up to the team, who is supposed to self-organize.
Moreover, if you think about it, it is also a not-so subtle device for screening out everybody but the most happy-go-lucky ass kissers, the ones who are always happy with everything and everyone and therefore will always fit. The need to work in teams is a fact of life but this need not result in the abolition of private spaces (usually the first thing to go in such environments) or of individuality itself.
JACK REPLIES: Though I totally understand, the fact is that developers are experimenting with just this sort of one on one interaction. Check out eXtreme Programming. Not that XP is the answer to all of our woes, but as engineers we've got to keep open minds to alternative methods.
Sounds to me like you succumbed to the “infatuation syndrome” that infects problem solving. This is where you believed your irrational mind that the new hire was everything you wanted him to be, when, in fact, you were overlooking some serious flaws in effort to get the problem solved.
People that wanna be “in-love” do this all the time.
Next time, cold, hard facts…
JACK REPLIES: Yes, and more than that the desperation of having to hire clouds things as well.
I bet this guy goes and flies with another company,if you live with lice all you want to do is get out!!depends on the environment.
“genius is the ability to put into effect what is your mind”
Anyone ever work for an old mainframer who spends 30 minutes tarring and backing up to tape a subdirectory on a web site while muttering about the ever present threat of data loss even on a incrementally backed up redundant RAID? That's quirky. And that is why the place I work is slowly going tits up. The problem isn't us New Tech engineers. It's the Old Tech engineers who flinch when you tell them that you wrote an 8 line awk that switches foo with bar in the source tree, thereby saving 40 hours of laborious work. There are a lot of 55-year-old dudes (mostly dudes) that have hung on too friggin long.
This article brings up an interesting topic, but your implementation is terrible.
If you stretched a little and looked for some *real* “quirky gurus” (and not quirky bums!)you would find that there are still many of them providing significant value to corporate America.
I can think of two off the top of my head: myself and my mentor.
I deal with my quirkiness by being a consultant. I get to set my own hours, and am judged only by the success of my projects.
My mentor works from home as an employee of a publishing firm, giving him the freedom he needs to do his job.
Great. Why don't you just quit what you do now, and go work at GEAppliances in Louisville, Ky. There are all kinds of older, used to be eccentric(and brilliant) people, like you who've long since traded their independence and principles for $$$. Six digits +. Of course I lasted three months, and couldn't get off the helpdesk, because I was “cocky”, and stepped outside of “chain of command” one too many times. This in spite of the Network Operations staff asking me to (properly) configure a router that they had spent quite a bit of time on. 2 minutes later, I had the serial line up, and 3 weeks later I was fired for notifying a Network Support guy of his social security# and some router cfgs on a shareddrive, that anyone in the company had FULL access to. People like you can kiss my ass. I came in at 7, left at 7, and had people come to me with questions all day, that should've been someone else's problem, and got 42 hours a week @ 16.50 an hour. I would've quit, but I have a family. PLEASE reconsider your position.
JACK REPLIES: If the company doesn't recognize your good contributions, that's a serious problem. And what a waste of talent! But… what does that have to do with my article, which was about a non-performer, and about being careful when hiring, even when you're desperate for people?
I used to room with a “quirky genius,” one who smelled bad, wore long hair and a beard. He slept until 4 PM…and then worked until 6 AM. He can code in 12 different languages and can administer 10 networks simultaneously. AND HE HATED GOING ON VACATION!
He wore torn clothing (and somehow looked good doing it) but he always showed up for work. THAT'S A GENIUS.
The guy you're talking about produced nothing useful. THAT'S A WASTE OF A SALARY.
Be more careful in who you hire next time. But if you aren't going to LISTEN to me, I'll take a job doing nothing at $70k/year and I'll get just as much done as this guy…except that I won't smell bad doing it!
This guy you describe obviously can't program…You put a race driver in a car, if he knows how to drive, he can drive just as well dressed up like bozo the clown as he can wearing an $5,000 armani suit.
The people who can write good software, will continue to write good software, and the people trying to look like they can write good software, that latch on to the latest trends or whatever will continue to waste everybodies time. After they get through with blowing smoke they get back to bad programming they learned in college and they continue to do bad programming. It dont matter what hours they work or what calendar they look at. They suck regardless.
In a large programming team there are a handful of programmers that know what they're doing and are very creative. All the other programmers copy what they do, which isn't really that hard to copy. But for what those few good programmers do, it usually works very well for the team.
If the only thing you're trying to do with your life is get a job wearing a suit at microsoft as a programming manager making 150k a year, then you're not really seriously thinking about anything but money and you wont have any staying power. I think about what my programming team is doing. I make money, but I don't want to make it dishonestly; I don't want to have to sacrifice my own personal taste to somebody else's because they say: “If you do it this way, it'll happen just like it did for the extreme programmers, but if you do it this unproven way, the projects doomed to fail.” If I do it my way and it dont work, my reputation is tarnished. I dont last long in the industry. If I do it my way and it becomes successful, I take the credit for that – and I would rather have that. That's where the staying power comes in- building a good reputation for yourself. That's what gets you the good projects and the freedom to create. Right now, I dont see a lot of creativity coming from the programming industry.
I read your article and have to say that you were taken in by anacolyte pretending to be a guru. These people show up and say theyknow or understand everything but, as you found out – they do not.
You were basically taken by this person and it should have no reflectionon someone who really is an avid programmer, engineer, or any other fieldof endeavor. All I can say is – you should read a couple of books on thesubject of hiring people. Here are the ones I suggest:
1. The One Minute Manager Series. Excellent.
2. “How to Choose your people”. Although I am NOT a member of the Church ofScientology – a friend of mine got me to read this book a long time ago.It is an excellent treatise on exactly how to go about choosing the peopleyou have around you. The only time it has failed me is when I failed to usethe principles behind it.
Anyway – you've had a bad experience but generalizing it into something it wasn'tis not the best of ideas. Using this kind of logic would mean that we should changeour lives so we have an ant colony mentality. I do not think you really want that.After all, originality is the mother of invention. Banality is the father of boredom.You don't want boring – you want someone who can do the work AND come up with newer,better ways of doing something.
So sorry you had a bad experience but don't knock everyone just because oneperson did you wrong.
Muniz Engineering Inc.
We once had a quirky hacker type of fellow,he quickly became our shining light in product development,and it became clear that in effect he was the product.
When we sold the product to a larger companyfor inclusion in their larger suite of offerings,he quit and followed his baby.Our ability to develop anything interesting has not existed since.
Despite the fact that we now have a well oiled development team andmanagement think tank in his place, I doubt that they will come up withhalf the stuff he did – because they lack the creativity.
The value in a quirky person is that when they get a million dollar idea, they stickaround and make it happen in your company. Because your company provides an environmentthat encourages the loyalty of people who have million dollar ideas.
Create a team of tightly knit conformists, and the smart people will notice, andtake their smarts elsewhere, leaving you with ho-hum ideas and prodict.
These aren't quirks, they're character flaws. Eccentricity isn't a problem, but laziness and inconsiderate behaviour always were, even in the most tolerant shop. I've worked closely with a lot of freaks who still get the job done; we object to crunch mode simply because experience and research have proven that it doesn't work, but that doesn't mean that we ignore our work.
I agree with the other posts – this example guy sounds more like a loser than a quirky engineer. Also, you fail to mention why a quirky engineer would be unable to work on a team. Yes, there ARE late hours (even all nighters) but we're not here alone.. the rest of the team is with us.
Seems to me you reflect the state of mind of your age. The same folks who readily beat the drum of liberality at one age, turn into “conform or die”-types at 50, much more concerned with their 401k and net worth than the priniciples they once cherished. Oh, well.
You hired a bum, sight unseen, and now you want to philosophize on one data point. Your cynicism disappointingly apparent, like your age and time.
Sr. Software Eng.
What does this have to do with being a “guru”? A guru would've actually done a good job.
Getting rid of this guy didn't have anything to do with his “quirkiness”, just his incompetence.
I like your article and find it is a definitely common scenario. I found this to be true at a few of the older engineering institutions I have been employed over the years.
I think it is very sad that the non-chalant and unconforming Software Engineer is finding himself in textbook archives and hollywood motion pictures more then in the average common workspace these days.
What we must keep in mind is that many companies do not hire true Engineers anymore bacause there is no necessity. The 'dime a dozen' software programmers are much more affordable and easier to obtain. Just about anyone can learn Micro$oft with little or no effort just a strict momorization skillset and small bit of thought process. I would not put down the true engineers of the *nix community by stating anything but. These are the true engineers and perhaps that is in itself one of the culprits.
I imagine the DOD contractors who work hours upon hours defining 12 lines of C code are still true engineers and perhaps in the end will remain the last refuge – considering how federalist our governement has become I would find this rather ironic.
I've read a few of Jack Ganssle's rantings before and have admired his lack of rational thought. As a former hippie myself, I've found that nearly all the developers I know who shared the flower-child experience are dedicated, over-the-top, do-what-it-takes types. Because Ganssle failed in his interview process (quirky is one thing, work ethic is quite another), he now brands all of us as shiftless and wants to bring back the unlamented days of suits, ties, and timeclocks. Judging by his website, I wouldn't trust him with a project any more than I would trust his hiring skills. Quirky is a good thing: it implies imagination and an openness to change. I'm proud to wear the label.
Web Systems Manager
The guru's the one who slides the pins out of the hinges on a locked, lost key door after the 'team' is lying on the floor with concussions from trying to break it down.
This guy sounds like someone I used to work with. He looked like a computer genius, and acted like a computer genius, but he didn't fool me, because I *AM* a computer genius. His ideas were invariably too ornate and complex, the mark of someone who is trying too hard to prove how smart he is rather than getting the job done. He also spent too much time thinking about micro-optimizations without thinking about the big picture: I can almost imagine him improving the performance of a bubble sort by recoding it in assembly language. The sad thing is he could have been a good programmer, if only he wasn't so convinced he was a great one.
Anyway, they fired him but they kept me, which just goes to show that you shouldn't act like an oddball genius unless you actually are one. Also, if you promise to start coming into the office by eleven for a change, don't wander in some time after noon the very next day. That might have had something to do with it too.
This article explains well why the guy is “lone” but I don't see “genius” anywhere in there.
Go read how to be a Real Programmer again.
Hmm… an entire article rationalizing ones own failure in management/hiring/interviewing as an over arching problem in the development community.
Maybe someone should call your refrences.
Yes, we need more mindless work-bots at our disposal. Be here at 8am sharp, do not leave before 6pm. This will assure us of the optimum efficiency. You will pray for death but we will get every last drip of code we can from you.
You were describing a slacker, yet you've managed to tarnish the image of useful geeks the world over. Hats off to you sir.
Director of Engineering Development
As stated in other comments, my experience has also been that the “lone genius” may have quirky characteristics and schedule but that they take extreme pride in their work and *can* produce more product in less time than others who are less focussed.
My advice on this situation: you as management should not have let things go so long without a clear understanding of desired results.
Even unstructured folk can appreciate the need for goals, and IMHO (having worked with many such “quirky” folk and been considered one myself) I would say that a clear understanding of needs is an acceptible requirement for employment of any sort.
There is a popular myth in today's culture that to be gifted, you must be an out-cast, and a strong individualists. Programmers who “don't fit in”, are often mistaken for being gifted, especially by non-programmers (eg, managers), who have no direct means of judging a persons technical gifts.
In the software industry this has become a serious problem. Some how over the past 20 years, pop culture has developed an idea of what a gifted program looks, acts, and behaves like, in the same way people think all physicists are wild-haired Albert Einstein clones.
Truly gifted individuals are rarely social outcasts. They tend to be hard to spot, especially in software, where they tend to be drowned out by all their less talented, but more noticeable socially challenged colleagues.
The best way to spot a good programmer…is to do some programming with them. Maybe Extreme programming isn't a bad idea.
So you hired a wino! big deal, get over it, your first clue should have been an unwillingness to co-operate, you know like taking a bath or washing clothes! if you make me puke, i'm not gonna want to work with you.
The thing about teams is, its usually one person doing most of the work and everyone else following the leader, regardless of any hierarchy in place. The trick is to turn quirks into leaders.
What !! So let me get this right. Due to your own inability to find the correct placement for a position within your organization you talk about hours of work, uniform and smell. You are simply A pathetic “has been” .
“It was ok for me to smell, come in late have an attitude but because I am an old fart now and could not attract a female Rhino in heat I am going to make damn sure nobody gets what I had. oooooooohhhh look at that man he's a non-conformist………..oooooohhhhh look at the woman shes $$$$$$$ “
I can hear your petty bantering right now. Once again you sorry fool go somewhere else and rant preferably to your HR staff because thats where the real issue is PAL.
Nice article. 🙂
I just wanted to put out that the individual that you describe is not an example of the 'lone genius'. He doesn't sound like a genius at all. A lone genius would have stayed up (while sick) for weeks on end and produced more than you would have ever expected. That is my experience. The genius not only wants to do things their way, but will go out of their way to be counted as the most valued employee onsite. The most difficult thing with the 'lone genius' that I have had to deal with in my experience is their inability to take criticism well because they are *so* proud.
This guy sounds like a lazy bastard who never had any intention of really working, only collecting a paycheck. There are many examples of these kind of individuals, as they are very typical and have nothing to do with the 'quirky' developer/designer/coder.
Most managers would be very, very lucky to find themselves in posession of such a dedicated resource, and would find it well worth the Tums/Pepto.
Richard Austin Huber Jr.
Uh.. what was it again that made him the lone genius type? Looks to me like a lazy bum, pure and simple.