There’s got to be a rule in the Corporate Handbook for Dummies (TM) which advises that a passerby with no stake in the company’s well-being is better suited to architect its systems than its own employees. Strange custom, woefully true.
Consulting is a pretty lucrative gig in the software industry. Ridiculous hourly rates, architectural design, and flexible work periods are nice perks, but consulting avoids in the hardest part of writing software: the continual maintenance and enhancement of existing code. And really, consulting is the pre-med of the job world; it sounds impressive until you realize the qualifications for entry are essentially zilch.
Funnily enough, I had a much more positive outlook on consulting two or so years back, somewhat fresh out of school and absorbing what I could of the professional software world. Courtesy of Factset’s generous training initiatives, I attended a few engineering conferences, and while they were populated with consultants explaining the latest development paradigms and techniques, it was still an educational experience.
One of the best talks, though, was actually by Andrei Alexandrescu, a grad student whose passion for C++ made him stand out, in retrospect, among a number of questionable “presentations” by consultants looking to not-so-subtly tease their own services and books. (to be fair, Andrei is also the author of a few C++ tomes) I think a part of the memorability came from the discreteness of his presentation; in his session, he was not looking to sell anything beyond one idea, and he wanted the audience to have full understanding of the idea themselves by the end of the talk and to make use of it, regardless of, say, his contractual presence.
Basically I just have a lot more respect for developers who showcase their ability via solid technical competence (1) over salesmanship masked as experience. I wonder whether a consultant could survive from pure ability and word-of-mouth alone, though.
Not that all consultants are just smooth talkers specialized in buttering management. In particular, the company Factset hires for its pre-management and management training - albeit pricey - employs a very experienced and knowledgeable fellow who provided the expertise no one else in the company could effectively convey. He knew the subject matter thoroughly and fielded our questions with ease.
But when you have a consultant advocating an open-source framework to a company who happens to employ someone much more versed in his wares and isn’t afraid to rebuke his dubious claims…well, it’s a rather uncomfortable - or perhaps surreal, depending on your tastes - experience.
- of which is particularly hard to determine for software, especially during interviews (↩)
