Hackers in the enterprise
I was re-reading Hackers and Painters by Paul Graham (http://www.paulgraham.com/hp.html) and I came across a familiar statement. “Programmers were seen as technicians who translated the visions (if that is the word) of product managers into code. […] instead of entrusting the future of the software to one brilliant hacker, most companies set things up so that it is designed by committee, and the hackers merely implement the design.” I can understand that most companies do not want to be dependent on one hacker’s thoughts and ideas. Most businesses go to the extreme to make sure that they have coverage in the event of employee attrition. Many businesses think of developers as interchangeable widgets and effectively dampen the difference in ability. By putting everyone in the same bucket they make developers into commodities. And for those companies that have a team of developers but use the excuse “we’re not in the software business” to produce mediocre applications and make up their own “best practices”. I hate to tell you but you are in the software business. As soon as you hired a developer you decided to produce software.
Corporate America has been telling its employees to execute for decades now. Suddenly it tells them to innovate and start building new business ideas. I shouldn’t have to say how ridiculous that idea is. It only takes a brief review of the landscape to see many people innovating in small groups. Looking at the number of startups and kickstarter (http://www.kickstarter.com/) projects shows that people are still innovating and driving new ideas forward. My question is why haven’t businesses fostered these ideas? Why aren’t they supporting and funding these ideas internally? Are all the legacy companies just coasting on the fumes of a half-century old innovation?
Unlike Paul Graham I want to believe there is a place within enterprises for hackers. I think there is room within companies to carve out a subsection of the development department where hackers can use their abilities to help the company imagine new products and software. A place where experimentation is allowed and supported by the business. Unfortunately many companies are still thinking of development as a cost instead of a possible profit center for their business. If instead they thought of this new department as a self-funded startup the possibility for growth would be enormous. They can continue to do business as usual in the other areas but this internal hacker-space would be innovating and trying new product ideas internally and externally. The ideas generated would radiate to the legacy sections of development and would help improve their practices and products.
Whether you consider it applied research and development, product engineering, or just plain stupid the problem generally isn’t with development. The people issues involved and the office politics in getting something like this going make it a tough battle. If developers could find a friendly politically savvy manager to help push this agenda forward there might be a real chance that they can become a hybrid developer. They would work in a stable business and industry and still be able to innovate and experiment. If there are already examples of this I would love to hear about/from them.