As lamented on YouAreUsingThisToolBecause, most of us knuckle under to the drones who insist we do things the way they're done in the trade magazines. Write it in java, model it in rose, stick to visual studio ... few of us have the courage to draw our own line in the sand. We do what we're told the way we're told, we don't make waves, and we keep our heads down.
Nuts. Give me CourageousDevelopers who will try bold and ridiculous things. Give me screwballs and madmen, angry young fools and bitter old misanthropes. Give me unreasonable developers who don't accept that things are done the way some management thrall or mass market journalist says they're supposed to be done. Surround me with folk with the guts to take responsibility for work that demands doing. Temper them with open minds, fierce curiosity, and the compassion and subtlety necessary to work together.
Then give us a challenge and get out of our way.
Agree, but:
In many situations, CourageousDevelopers are frowned upon, and get pushed out of the path of power, becoming powerless and ineffectual in the organization. If I want to effect change, perhaps I should learn to become a SubtleDeveloper?. (or a VeryPatientDeveloper??)
I think I read a description of this in a different context and with a different set of emotions - something about software being produced because of the heroism of individual developers?
The traditional model is driven by vendor specific tools and documentation. I see cases of BrainWashedDevelopers? and managers on a daily basis. They read vendor documentation, and think that that will make them understand an open specification. They spend all their time in a WYSIWYG environment. Offer Linux or OpenSource as a solution and they go ballistic!
We are still living in a world where the important architecture decisions are made by non-technical managers on the golf course with a vendor rep and a beer in hand. CourageousDevelopers threaten that lifestyle.
This runs deep, many of the forces discussed on YouAreUsingThisToolBecause apply to things other than tools and packages.
CourageousDevelopers need to learn some business skills and start their own company, because the majority of todays businesses are still looking for puppets. Even though they will tell you they are not, just to get you in the door.
If that's the answer, then we have lost, and the puppet masters have won. Very few technical-led startups are successful, the ones that are generally fall to hostile takeovers (aka "mergers") after a few years. Da capo.
When push comes to shove, developers who deliver software that the manager wants succeed. Puppets rarely deliver much. The trick is to deliver with integrity. -- RonJeffries
Hurrah! I really like that quote, Ron, can I adopt it? I want to be courageous but I don't want to trample all over people either. I want to be respected but I don't want to play political power games that I find questionable. I want to be part of the team but I don't want to compromise my values.
You give me hope!
-- KayJohansen
The other thing to keep in mind, I think, is that courage doesn't always get you a "win." It always gets your your self respect and your integrity, and those times when it gets you the "win" are satisfying. However, it's not uncommon to be fired for it. Don Wells drove this home when he wrote this to the XpMailingList:
Sort of reminds me of http://www.satisfice.com/articles/enough_about_process.pdf -- The lurker JudeNagurney