I was talking to Luke Melia of Weplay.com about various cultures of startup companies. We compared two ideas that we referred to as a culture of product and a culture of code. They similar in concept but require defining.
To go into a little more detail about each of them, the culture of code refers to the idea that every person in the company contributes at least some bits of code to the codebase. I think this is a little bit of a blue sky version of reality. This assumes that not only is everyone capable of coding, but that their code is up to the level of the code of the rest of the organization. This also requires a little extra QA on each piece of code contributed by a non-engineer (or non-regular code contributor).
The other side of the coin in this discussion is the culture of product. This is a concept that I believe if more realistic and more achievable. A culture of product refers to the idea that everyone in the organization owns a piece of the product in some shape or form. This could be code, design, functionality or anything that allows an individual in the organization to feel responsible for part of the product. This alleviates the necessity for everyone to have to know how to code, understand version control, have a development environment setup (or any other variation that requires non-engineers to have an engineering setup on their computer).
What this ultimately boils down to is contribution and ownership/responsibility. If everyone feels like they own a piece of the product, then they will ensure its upkeep. Even if it is a sales person who has an eye for design, they will be staying on top of the engineer that helped them put code to the design that’s part of the product.
Ultimately either of these two scenarios in a startup would bring a culture that would likely contribute to a successful product. But as with any startup, culture is important and choosing the right culture is an integral part to startup success.