Fog Creek Software
Discussion Board




Managing Idiot Savants

In Joel's "Guerilla Guide To Interviewing", he says :

"If for some reason you find an idiot savant that is really, really, really good at SQL but completely incapable of ever learning any other topic, No Hire. They don't have a future at Fog Creek."

Well, they shouldn't have a future at where I work either, but unfortunately there's this one developer who really is an idiot savant. He's done VB for the past ten years, and  doesn't appear to have any motivation to learn anything else.

He has no desire to learn other languages, has no idea what a function pointer is or does, and is terrified of .NET and UNIX. This means he's been a blockage on projects because he can't complete a project on his own if writing something other than VB is involved. Which it usually is.

The problem now is that we're probably no longer going to use VB for our projects in the future - it's going to be all C++ or C# (with maybe a bit of python and tcl thrown in for our UNIX range, but hey). So he's now stuck between a rock and a hard place with a whole new skillset to learn. As a result, his productivity's dropped to zero while he struggles with it.

I don't mean he's just getting to grips with things and it's a matter of time before he comes up to speed - he really doesn't seem understand some basic concepts. What's worse is that he doesn't really want to learn them.

I suppose I could get somebody to mentor him, but he's so far behind on skills that it would sap the mentor's productivity to do anything else. I dunno, maybe doing that will spark his morale into life.

Personally I'd be happy if he found another job, in legacy VB maintenance perhaps. That would be the best situation for everyone concerned.

Has anybody else been in this situation? What can I do?

Better Than Being Unemployed...
Tuesday, January 27, 2004

I think you know what has to be done.  It's not your fault he never cared about his career.

Steve
Tuesday, January 27, 2004

In some organizations this kind of people get promoted…

coresi
Tuesday, January 27, 2004

> What's worse is that he doesn't really want to learn them.

?

> Has anybody else been in this situation?

One person who didn't make the transition from assembler to C became head of QA; tech support is another option. Even if they don't write software, they may have product- and company-specific knowledge that you might want to retain.

VB-like programming might also include web programming or writing installation scripts.

Christopher Wells
Tuesday, January 27, 2004

I got the "idiot" part.  But "savant"?  How can one be a "savant" at VB?

At any case, don't feel obligated to carry around a VB-only programmer when you have no need for one.  If he's dead set against learning (or simply is unable to do so), cut him loose.

No hard feelings, it's just business.

Alyosha`
Tuesday, January 27, 2004

Help him out. Tell him you think it is taking much longer for him to come up to speed than others. Perhaps he isn't enjoying himself in this new "paradigm" (ugh, I used that word). Assuming you are his manager, work with him to figure out what his long term goals are. If it is to be a C# programmer, ask him what can be done to speed up his productivity. Talk to him!

m
Tuesday, January 27, 2004

I have numerous examples of this within a s/w development organization I manage. A number of the "senior" developers, who make large salaries, earned their stripes on much older technology. We're now in the OO, n-tier, J2EE world and these folks are struggling to adapt but expect to be in control of technical decisions. It's a nightmare. I'm sorry we work in a business where you need to re-tool every 3-4 years, but that's reality. Ignoring all the advances of the past 10+ years is a recipe for failure. My intention is to give them very short timeframes to show me they're going to do anything and everything to catch up or they're out of here. Sorry for being cold, but my responsibility is to manage this department effectively not to create a culture of entitlement.

Frustrated Manager
Tuesday, January 27, 2004

you see an idiot savant, I see a straight shooter with upper management potential written all over him

The Artist Formerly Known as Prince
Tuesday, January 27, 2004

Quietly give his name to some headhunters and see if he leaves on his own.

It workd for the HR department at one of my previous jobs....

---
Tuesday, January 27, 2004

>> I got the "idiot" part.  But "savant"?

Actually "savant" in this expression doesn't mean "scholar". I had too look it up once, and it's rather someone with a fixation and no contact with the outer world, like Dustin Hoffman in Rain Man.

I suppose "savant" was used because these people have the ability to remember useless facts like long strings of numbers.

Alex.ro
Tuesday, January 27, 2004

A lot of small SW companies staff with people like this, or allow their people to develop along these lines. It *can* be an unconscious choice.

There's sometimes a feeling in smaller companies that not only can't they afford the best, but the "best" would be too disruptive and demanding, so they will make do with people who have mastered legacy technology and who bury their head in the sand. Never underestimate the power of a corporate inferiority complex.

The "plus" from a management POV is that you don't have to reward someone who is almost unemployable anywhere else.

Bored Bystander
Tuesday, January 27, 2004

"Savant" means "a person of learning; especially one with detailed knowledge in some specialized field".

VB strikes me as a programming language with all the intellectual depth of a kiddie pool.  I don't mean to be a language bigot -- VB is just fine for a certain class of projects: that is, the class of small, quick-and-dirty apps that solve small, algorithmically simple problems.

What's there to be a savant about?

Alyosha`
Tuesday, January 27, 2004

Alyosha,

He didn't say *VB* was Savant. He said the programmer was a Savant.

Don't confuse the tools with the resulting product or the skill with which those tools are applied.

Was Michelangelo an idiot because he worked with simple (by our standards) tools and stone/marble ?

The real Entrepreneur
Tuesday, January 27, 2004

2nd the talk to him advice. Tell him that you are switching to C++ and will not be doing VB anymore. thus if he wants to stay in development, he needs to become adept at C++ and thus the company is paying for his books and tuition to take night classes if he wishes to 'retool'. But he needs to be productive while doing this and so perhaps he could be a tester or become the code librarian or net administrator or whatever in the meantime. Make clear though that if he does not wish to retool in C++ and stay in VB, he might want to look for a place doing VB. To that extent, the company is willing to pay for him to see a career counselor or resume specialist and explore his options. Make clear you're willing to give him a good recommendation and transition to the new job in good stead. But he also has the option of staying and learning C++, or switching to another position, but perhaps with a modest drop in pay.

Dennis Atkins
Tuesday, January 27, 2004

>> "VB strikes me as a programming language with all the intellectual depth of a kiddie pool.  I don't mean to be a language bigot -- VB is just fine for a certain class of projects: that is, the class of small, quick-and-dirty apps that solve small, algorithmically simple problems."

Lol... I think you are narrow minded.

The Truth Hurts
Tuesday, January 27, 2004

Does he have specific domain knowledge that is valuable to the company?

If yes, then

- Either support him to get up to speed in the new language,
- Or find him a new position

If No

- Lay him off and hire someone with the skills you need.


Don't leave him hanging...

DJ
Tuesday, January 27, 2004

This situation is recognisable from a mile away.

Frustrated Manager and his or her ilk will sack the VB-only developer so they can get on with their J2EE n-tier super duper ding bats.

For three to six months upper management will view pretentious ambitious reports of progress.

After that, little issues previously dismissed by the super duper team will start appearing from multiple sources, and upper management will slowly realise the super duper team is not really answering them.

After 12 months there will be a realisation that Mr VB-only actually possessed all the domain and organisational knowledge, and that the reason he had been dismissed was that the J2EEsuper duper team resented being called for their crap.

Must be a Manager
Tuesday, January 27, 2004

"Don't confuse the tools with the resulting product or the skill with which those tools are applied. Was Michelangelo an idiot because he worked with simple (by our standards) tools and stone/marble?"

If he had better tools at hand, but refused to use them because they were too difficult for him to understand ... well, yes, he would have been an idiot.

I can admire the patience and tenacity of someone who can cut down trees with a butter knife.  I got no hate for butter knives -- they can be great tools and I'll use one when appropriate.  But when it comes to shipping lumber, I'm gonna pick the guy who knows how to use a chainsaw.  I don't care if the other guy is a world-class expert on butter knives.

Alyosha`
Tuesday, January 27, 2004

Alyosha,

Don't you think its kind of arrogant to hire experts and then tell them how to do their jobs? I mean, if you had a tree cutter who could do it faster with a butter knife than the guy with a chainsaw? I mean not just claims but you actually saw it, would you still insist on the chainsaw? Lest say for instance he was one of those karate board chopping experts? If I was Michael Angelo, I would tell you to either paint the chapel yourself or let me decide.

Some of the biggest mistakes of my career have been allowing the boss to tell me different against my better judgment. Don't forget you are not brute labor, you are a thinking reasoning human being that is an expert in your field! Your boss' job is to say I want a big bearded naked guy in the middle of my ceilling. Your job is to say buy me a brush (or a sprayer if thats what you think is best) and a ladder and come back in 2 days to see if the naked guy is looks right.

The Artist Formerly Known as Prince
Tuesday, January 27, 2004

So we're back to "the suits handle declarative knowledge, and we handle imperative knowledge."  The bigger issue, I think, is that messy imperative knowledge is best left to India.  Keep the guy who understands the system within which declarative statements can be made, and ditch anybody who can only talk about imperative ideas.


Tuesday, January 27, 2004

Keeping him around seems like a lose/lose situation.

The company gets no productive work out of him. In fact, he's probably a net negative to productivity, because other people's time is being wasted on him.

He's losing out because he's doing something he doesn't want to do, and all his peers think of him as an idiot. He'd be much better off somewhere else.

Someone needs to do everyone a favour and let him go. It really is the only solution.

Sum Dum Gai
Tuesday, January 27, 2004

Yes, but don't let him go without giving him the opportunity to wrong a right. This happens over and over in business and it is too bad. Spend some time with your employee and tell him what to do better at. You just assume this person you hired cannot grasp the need to change. Perhaps their perception after ten years is wrong - an easy way to give them an opportunity to improve is to tell them their job is in jeopardy. At least you owe them that after working hard for ten years. I know that will piss of a lot of people "owe", but too bad - these are human beings!

So far many of you are advocating a one-way conversation. Managers are only thinking about how this employee isn’t meeting your needs. Have you ever explicitly stated your needs? No? Why not!

m
Tuesday, January 27, 2004

Why move him from VB to C++? You'd have a hard time showing that C++ was even 1 tenth as productive of VB.

http://home.pacbell.net/ouster/scripting.html

Why not just move him to VB.NET? VB.NET should play well with C# as a bonus.

Middle managers seem to have an obsession with standardization. How many times have I heard "We all have to move to C#, C++, to standardize".

Matthew Lock
Tuesday, January 27, 2004

Firstly, this guy is not an Idiot Savant if he doesn't WANT to move away from VB. He may have many reasons for not wanting to, none of them connected with being unable to do it. Even Einstein might not have felt that OO programming was for him.

Maybe try finding out why he doesn't want to move on. Maybe there is enough VB work to keep him happy?

David Clayworth
Wednesday, January 28, 2004

Some more info for you.

We've decided to use .NET because we got really burned by DCOM, especially the deployment hell it caused for us. From the various case studies we've read up on (Eric Sink's weblog springs to mind) we've decided that .NET seems like a better deal to use for future projects.

Everybody with no .NET experience got sent on a training course just before Christmas. In the New Year, we've been given some prototype assignments to do, and in three week's he's done close to nothing. Zip. Nada. Nichts. Not even a hello world - semicolons confuse him. I've seen other VB only programmers pick up C#, so it's not a general problem. I really don't know what's going on.

Staying on VB is not an option because everybody else will be cutting C# code unless it's maintaining legacy apps, which there isn't that much work to do on at the moment. We'd like to have the option to shuffle and resource programmers if we can.

I've suggested going the VB.NET route instead. That might be a compromise, though there's still the new features and the .NET framework to learn.

Better Than Being Unemployed...
Wednesday, January 28, 2004

My bet, Frustrated Manager, is that you're planning to give your Senior Developers the heave-ho because they have more experience than you, and aren't toeing your party line - they have different opinions to you and you only want yes men. Am I right?

Breandán Dalton
Thursday, January 29, 2004

Send him to Phase 2 solutions in Phoenix where every idiot VB programmer can find a home. Some, like me, are even promoted to (mis)management.

Dennis Kozura
Thursday, January 29, 2004

Better Than Being Unemployed...  Are you sure where you work is actually better than being unemployed ?

narf
Saturday, January 31, 2004

hmmm...

being the subject of the OP I have to say Ive read this thread with some interest.

Firstly let me define how I know I am the subject. I know who the poster is by virtue of the fact I have discussed one of his previous posts with him in person (this one http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=102636&ixReplies=22 ).
So he is aware I know his identity here and that I read this board.

I havent replied sooner as my first reaction to this post was to make a complaint to those above us, I was aware of an instance in the past where a member of staff has been disciplined for an anonymous post on a similar site. The view from above is that the post is too anonymous to act, consequently so long as I avoid names I should be safe to respond.

Next let me clear up a point or two. In spite of the tone of the post and the natural conclusions one would draw from them 'better than being unemployed' does not hold a management position of any sort here. He likes to think he does and attempts to issue instructions to those around him but he has no authority. In fact both he and I are on the same level (senior AP).

We have all received C#.NET training, amounting to four days which took the form of 'heres the new IDE' and a 'heres how to build a class'. This was ok, and had we then moved on to develop a simple application with experienced c# developers there would be no issue.

However instead with our somewhat limited training we are now developing a crucial application framework which will form the basis for all future development. Given the requirements laid down for this framework I feel that our training and experience with .NET in general is inadequate to the task.

As for my personal difficulty in switching from VB6 to C#.net, what has been posted here appears to be drawn from a few comments I have made in meetings. The mjority of developers making the switch have C++ experience and as such a 'C' like syntax is already second nature to them and they are already familiar with true OO concepts as well as such technologies as multi-threading. These are new to me (well the c syntax isnt although I havent used it in more than 10 years).

The poster is most certainly not aware of what I am doing or the steps I am taking to improve things - indeed if he was aware I would be concerned as these conversations have taken place privately between myself and my team leader and IT director. I should point out that yes I am having problems with some of the concepts and technologies, and perhaps I am being a little over cautious however as I am responsible for part of the design of this project I must be highly knowledgeable in these areas or my designs will be doomed to failure. The resources the company have are minimal: not so much as a single book as I type this.

>he's been a blockage on projects because he can't complete a project on his own
No projects beyond the most trivial are one-person exercises. This is why the team here consists of a mix of VB and C++ people, with some people able to fill both roles. We have specialist 'system programmers' who are C++ types tasked with mainly high performance back end tasks, sometimes on the level of a single function sometimes up to the scale of database engines. It is a question of mapping tasks to resources available. The OP may well feel he is capable of building entire projects himself. more power to him, I was not employed on that basis.

>He has no desire to learn other languages, has no idea what a function pointer is or does, and is
>terrified of .NET and UNIX
This is his assumption. My first commercial language was COBOL but I have also done a little C development on sun workstations, predating solaris.

I dont think I will attempt to address any of his other points as to me they appear to be nothing more than idle venom spitting.

Instead I am left pondering the point of his posts and wonder why, if he has some issue with me he has not taken it up with me personally. Is he perhaps taking advantage of his anonymity to simply launch a personal attack? In this I will fall back on the old recommendation: Never put down to malice that which can be attributed to stupidity. I expect hes forgotten that his anonymity here is compromised.

Idiot Savant.

Idiot Savant
Monday, February 02, 2004

> Has anybody else been in this situation? What can I do?

Well, if it were me, I'd personally refrain from posting derogatory, and libellous comments on a public forum where my anonymnity had been compromised, and where I knew in advance of publishing such comments, that individuals could be inferred from my comments.

If I were in that position, I'd shut up,  keep quiet and do the job I'd actually been employed to do, rather than the one I'd imagined that I'd been employed to do.

co-worker of an idiot savant...
Monday, February 09, 2004

*  Recent Topics

*  Fog Creek Home