Last week I proposed some things I found wrong with undergraduate studies of Computer Science. This week I will look at the corporate experience that most often follows a CS major. I’d like to clarify one thing without sounding like I’m sucking up: I actually enjoy and appreciate QSE. I wouldn’t be in this class if I thought it was a waste of my time.
On the same line of thinking: I would like to state that I think QSE should be a part of the Undergraduate CS curriculum because it teaches how to think in terms of a process
Why is process important? I have been working in the financial services industry since I was in high school. Corporate America is, as shows like The Office and The Apprentice show us (though from two completely different angles), often painfully brutal, irrational, and dangerous. Though I was somewhat immune to fear of maintaining job security as I only worked during the summers (and thusly wasn’t a threat to anyone), I often analyzed what made people good at their jobs, and what made people stay employed.
I really liked most of the members of the teams with whom I worked. But I asked myself: what separated a “good” team member from a “bad” one? The answer lies in process. Those who can only be described by the word “idiot” lacked the ability to think more than a single step ahead. Like a game of chess, everything we do in life has consequences. Doing the “right thing” (a phrase that frequently came up amongst my teams) means looking at what is right from a variety of perspectives.
I will attempt to put the idiots into a two categories. First, we have the idiots who simply desire job security over doing the “right thing.” These are the sorts of people that will bottleneck a process and make themselves irreplaceable. These idiots are somewhat rare; they are usually, in fact, intelligent, but lack the overarching moral drive that a non-idiot would have to do the “right thing.” I don’t mind these folks, they’re usually fun to talk to, I just feel bad for the company for whom they work.
Next we have the idiots that think they know what the right thing is (because some vender convinced them their product was the best or because they read it in some sysadmin magazine). These are usually the sorts of idiots that are somewhat intelligent (they listened in their CS classes perhaps), but they fail to see the big picture. They’re often stubborn and suffer from group mentality. These comprise most of the idiots of the world. These idiots are a pain to work with. I will call them cowboys.
What I’d like to suggest is that for these people, education has failed. They have all the ego and superiority of a “guru” (to use the QSE term), but lack the analytical mind of a true guru.
I am very glad I got the experience of working in a true corporate environment as young as I did, and with the people I worked. I was fortunate enough to start with a team of people who are among the brightest and best in each of their industries (Networking, Unix, and Windows Engineers), and who taught me from day one how to think.
I came in guns flaring, as any cowboy would. I have all these knowledge; I have the power to create things. “What, why do we need all this process? I can do that in 30 seconds? What why do we need to pay for anything? Open source costs nothing.” These are the words that came from my mouth as I began. Learning the value of process was the best experience I took away from any educational experience I’ve ever had.