CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Eric Wise

Business & .NET

Geeks Rule and MBAs Drool (Latest from Eric Sink)

Well, for anything in this article to make sense, you're going to have to read Eric Sink's latest MSDN Article.  Finished?  Ok then.

It was interesting to hear about the logic involved behind moving sourcegear to a platform other than Microsoft's.  Where I really tuned into this article though was the discussion on MBAs and their impact on the ISV.

Virtually all decisions in a small ISV should be made with the involvement of technology person. Most decisions in a small ISV involve issues of both technology and money. These decisions are really hard.

Agreed.  An ISV is a technology oriented small entity.  Being that the majority of the decisions made involve technology on some level you need the input of someone who is technologically savvy.  The problem you run into is once the product is ready for release your focus becomes less about the technology decisions and more about customer relations, sales, marketing, and accounting.  These are things that the stereotypical geek does not have a high interest or aptitude in (especially what we like to call "the social skills").

Now, throughout my life I have been fortunate enough to be interested in both business and technology.  When I was in college I dropped out of Computer Engineering and took up Information Systems in the college of business instead.  Why?  Because I was already pretty savvy with technology and I was confident that I could learn deeply technical things in self study.  What I didn't understand well were the other functions of business which I got a solid taste of in Information Systems.  Throughout my career, my knowledge of business as a whole has been extremely valuable to me especially since I have focused on custom internal applications for businesses.  For example, when I can walk into a room full of accountants and communicate in their language and understand the technological implications of a system as well we can plan a much better system.  Add to this that I'm a pretty social guy and I can turn geek speak into business speak and I ended up being the primary liason between IT and the other departments in a company.

I am currently taking this a step further.  Now that I have decided to form my own business, I've been working on my MBA.  Just as Mr. Sink "cannot imagine facing a decision like this one without the depth of technology understanding that I have", I cannot imagine making finance, accounting, marketing, and management decisions without the depth of knowledge gained through business classes.  Even if you are a developer and have no interest in actually doing the business tasks and want to hire a MBA type person to do it for you, how can you possibly make a good hiring decision or be able to work in harmony with this person if you do not at least have a basic understanding of their world?  I'll say this in bold letters:

As you move up the hierarchy, you need to know a less about more

If you're the kind of person who wants to dig in and understand everything to its deepest level, then upper management is not for you my friend.  Sure, we'll always have areas that we're more interested in than others.  And we'll always have areas that we have a better aptitude for.  But frankly, in the upper management scenario we have to be able to see the "big picture".  Making decisions without being aware of the potential impact on all parts of the organization is a Bad Thing (tm).  An executive must be able to make decisions they don't agree with on a technical level when the organizational benefit outweighs it.  Sink makes a good point about humility and IT not mixing very well and how damaging it is when IT gets shut out of the loop because of the poor social skills by people like Paul Graham's "Great Hacker".

Having been around with consulting, being a student of business, and through my contacts I have come to realize what is a major problem in business today.  The problem is that there simply are not enough of the Geek/MBA hybrid.  There are some attrociously bad technology decisions being made at companies and oftentimes there is no one with the political clout to stop them.  The only way that things will get better is if some geeks start getting involved in upper management.  The keys to upper management lie in people skills and education.


Published Apr 11 2005, 05:23 AM by Eric Wise
Filed under:

Comments

Brendan Tompkins said:

Agree! Good post.
# April 11, 2005 6:26 AM

Steve Hall said:

Good post Eric! You've managed to channel my exact opinions about the current key problem with the software industry today.

<old-fart-rant mode=on>

I went through the same kind of hybridization during college as you did, but in slightly different fashion. During the '60's and '70's, there were three types of CS or CIS schools: those that were under the Engineering college, those that were under the Arts & Sciences, and those that were under the Business school. The city in which I lived had several national bank headquarters, and so the university put the CIS department under the Business school. About 85% of the graduates were COBOL programmers destined for those banks or other corporate data-centers. Another 10% were destined for engineering or scientific programming jobs. And the remaining were Systems Programmers (such as myself) who were destined for any ol' kind of shop.

The thing that several professors expounded was that those who were going to specialize in Systems Programming had to be able to understand (and be able to actually DO) all the other jobs in a data-center at that time. This included filling in for a Systems Analyst who was out ill, managing a large group of programmers, and fulfilling the role of System Architect for complex applications that were cross-platform (since those were an absolute *** during that era) or required hardware support.

Thus, it was the Systems Programmers who had to learn all the domain expertise of all of the users, in order to be able to support the Systems Analysts, DBAs, and their application programmers. I don't remember how many times I had to intercede and debug a COBOL compiler or run-time in order for a payroll app. to run properly. Or for the Master Accounts database of some bank to get updated in a timely fashion before beginning of business the next day. Time and time again, I had to diagnose COBOL programs that were part of a complex application system...and I dare say, they wouldn't have trusted me to fix their code if I didn't understand the entire application system! (One such 100K-line Master Accounts update app was a gem: several hundred ALTER statements...an average of several per page of code! And if you don't know what an ALTER statement in COBOL is, consider yourself lucky! I referred to ALTERs as "land-mines"...)

What's wrong today is that there are few colleges with CS/CIS departments in the Business school. There has been a large attempt by CS/CIS faculty and Deans to "mainstream" their CS curriculum in order to "elevate" their CS department from being perceived as a "second-class" branch of science or math. I.e., they've been trying to make CS/CIS a "first-class citizen" amongst the other sciences and math. In order to do that, most CS/CIS departments are now under Arts & Sciences and don't carry ANY business-oriented courses. Nor do CS degrees require very many business courses, such as accounting, economics, statistics, finance, etc.

Basically, most CS/CIS graduates over the past 15-20 years are "pure" CS majors...with the "I" being removed from "CIS". Nowdays, every time I interview a recent CS graduate, I always ask what they minored in. It amazes me that almost none of them say accounting, finance, or business management. Some of them say math, which is perfectly fine for those destined for pure scientific/engineering programming jobs, but NOT ok for developing a lot of shrink-wrap apps or internal business apps. Astonishingly, quite a few (>50%) even said "Why should a minor matter?"

And therein lies the problem! Most recent grads have been conned into thinking that it doesn't matter ONE BIT if they have NO DOMAIN EXPERTISE WHATSOEVER upon graduation... As if Computer Science in and of itself is ALL ANYONE NEEDS TO KNOW...

I believe this total lack of domain expertise is why software developers have all been branded as social misfits, lacking social skills by most business managers and MBAs. This is a recent (i.e., in the last 20 years) phenomenom and has caused the ruination of software development by lowering the bar to the point where anyone can learn coding skills (in 21 days!) and then pretend to be a developer by feining domain expertise with "on-the-job-training", whatever THAT means! (Oops! I DO know what that means! It's when hybrids like me have to potty-train recent CS grads who come across as idiots in meetings talking to users about their applications, after they'd crapped their pants over some new feature they screwed up implementing.)

</old-fart-rant>

I feel MUCH better now! Now where's that newbie that screwed up their last checkin that broke last night's build?!?!?!
# April 11, 2005 7:48 AM

darrell said:

Agreed. What took you so long?? ;)
# April 11, 2005 9:50 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!

Our Sponsors

Free Tech Publications