As an independent contractor, I prefered to work with a small set of professionals. These were folks who had established their reputations with me and with each other and could be trusted in the trenches when the client was lobbing change requests at us like grenades. These were people that I had worked with from the very beginning of my "sell out" -- when I left academics to play in the real world and, you know, write programs for money.
In those days, I thought the politics of a boutique consulting company (or small engineering software company before that) would be minor compared to the piranah-infested well of scarce resources, large egos, and irrelevance of a liberal-arts academic department. You know, an academic department where graduate papers should be written to the whim of the instructor and within the confines of the prevailing vogue theory/framework/ideology such that a paper on T. S. Eliot had better not attempt to ascribe any characteristic onto East Coker that are not already noted in the Canon.
Wrong. The real world is rife with politics (yeah, I was a bit naive back then) and the boutique consulting company and small engineering software company were no different. Instead of arguing about the relevance of viewing East Coker from an Eastern or mystical tradition, we were fighting about project staffing, hiring philosphy, management decisions, tools, resources and money. Which GUI library will we use? I don’t know, how about the one that has the cool little grip bar on it (remember those)? What does the customer want? Will it even link to our code? Will we ever port the fortran library over to C? At one point in one of the more animated discussions, the CEO called a bunch of us devs “prima donnas” – “You guys are a bunch of prima donnas!”
Prima donna. At the time, it was no scarlet letter -- I and the other developers thought it was a badge of honor without all of the negative connotations (of course). Over time I would realize that there is some truth to it and that a bit of prima donna-ism runs in developers and other folks with similar personalities. The ceo was a perceptive fellow; he knew a bit about running a software company and handling prima donnas. In fact, I think he sought them out.
The games and manuevering by the players the academic department and some of the real-world environments I was a part of were similar down to the egos of all involved. The big difference was that one assumes that academics are pursuing the noble end of scholarship and acclaim (its welcome by-product) and not wealth. Money is important, but it isn't the prime motivator. The academic spirit guided each and every individual and kept them on the golden road.
In the real world, the dollars are important. Sure, at some level of reality the money may not be important anymore unless they are keeping score. Maybe. But in the real world, the money matters. So you toss the theory and start slinging code on the clock. And work hard to avoid sitting on the bench. And manage your career. And butt horns with new developers that venture onto your home territory in much the same way you'd butt heads with the joker from that college in the west that questions the relevancy of a mystical perspective on T. S. Eliot.
So I worked with a group of folks with established reputations and the technical skills to make good in front of the client. Most of us were good at tempering our base developer instincts with clients, developers and everyone else. In those cases that we did not trust our instincts, we let the guy with project management and client engagement skills handle it. We also used different development processes to institutionalize team roles and responsibilities. We all knew we couldn't escape it and tried to work around it.
At the end of the day, a good developer is one that puts the user first. It isn't the tools, the language, the methodology, or the amount of assembly code you get to sling -- it's the ability to deliver a useful program to a user that matters. As others have said, a career is a journey from apprentice to master. Along the way, we learn better habits.
Not sure if this completes the call of the wild post.