Culture started as a scientifiic term but in my mind is engrained as a right brained metaphor for a type of environment that you need to have in order to grow a set of ideas into working business processes and a set of business processes into a working business model.
What are the important elements of a technical culture? A good technical culture in my mind will
1. Foster good ideas.
2. Implement the best ideas into work processes.
3. Tie together related work processes into a strong, profitable business model.
Let's start with ideas. I get my ideas from many sources (my own wild American grown, anything is possible imagination, tv, magazines, the internet, friends). The great thing about the human brain is that you can take in a bunch of different inputs, generate variations of those inputs, synthesize these things in your imagination and come up with something of potential business value that is within reach and/or practical to implement. So, I would say an important component of a strong technical culture is an individual or organization who has access and takes in a lot of inputs and can isolate the best ideas (criteria - most potentially profitable). Remember, in this country, a reasonably trained and experienced American computer consultant can make at least $50-$70/hour which matches the rates we are paying to outsource to India, the Philippines, and other sources. We need to find your A list consultants/individuals who could on their own command $80-$100 an hour without being pumped up by a hype machine. Look for the individuals who have pure love for building things and a reasonable approach for working with others to accomplish that.
Once you have people who are good idea generators with reasonable implementation skills, you need to give them tools. These tools will help them turn ideas into work processes more quickly than they could do it themselves. An example of this would be Google. The other day, I was working on a small project to automate some programs that together formed a work process. I needed to build little checks to make sure one program completed correctly and was in a good state to hand off to the next program. I ended up using Perl. I am by no means an expert with Perl but I know enough to be dangerours. Searching for code examples in Google helped me get the job done quicker than I could have done it by myself. Other Cognitive Artifiacts that help me to build and keep track of all my work processes include tools for others in the organization to monitor if all the important work processes have worked successfully. Maybe these could be through some email notification to all those who might care. As a developer of work processes, you might think that I should also be responsible for making sure they complete. However, this is just a bottleneck of a valuable recource's ability to create new work processes or improve existing ones. Here's where outsourcing makes sense. The more different eyes you have on a work processes quality, the more chances you are to catch something in the early stages before problems become serious. Another tool to consider is a process of inspection and automation. People and processes don't do what you expect, they do what you inspect. Inspect your programs and processes until you are comfortable that their behavior is predictable, optimal, and all use cases are accounted for and managed. Then, automation the process and protect it through reasonable change control. We can't grow by mucking around with working processes. Confidence in data that support decisions is more likely through inspected, optimized, and automated processes.
The best whitepapers I've read explaining a business model go able framing a problem that needs to be solved and the companies approach to resolving the problem in a smart way that didn't exist before they came on the scene. Whitepapers are nice but the proof is in your financial results. When you tie a set of world class work processes together as a business model, you will start to realize some income. Look at income as energy. If you put out a positive energy, it multiplies itself coming back to you. The trick is to build a fairly distributed incentive system. Too much of this countries incentives are built on the 2% of the population get 50% of the wealth. Some argue that only 2% of the population are willing to take the risks. I argue that a good technical culture can be used to grow opportunities for everyone and everyone who follows the ideals of that culture should benefit from it. A culture of unlimited opportunities met with an incentive system for those who prove that they believe in that ideal is a powerful thing.
I am a believer in Sun's slogan "The Network is the computer". Except for 2 jobs in a 13 year span, I have followed friends and associates and found work easily. Even these 2 jobs I got without knowing anyone yielded opportunities down the road from people I met there. The challenge is jumping into assignments that you can stand behind and are enabled to make a difference. Look for the elements of technical culture I talked about. Look for companies where people work together out of the need to build a better mousetrap instead of from fear. A learning culture. I have lived through the "Get Big Fast" culture in several companies The technical debt you incur by not beginning with the end in mind can become suffocating and is only redeemable by leaving and finding a situation that puts you at a better starting point.


