|
There are many reasons why I'm comfortable about working at
ThoughtWorks, much of it is because most of the people here share a
broad set of principles with me. One that's caused some debate over
the years is our attitude to our own intellectual property - in
essence we give it away. An example of this is our approach and tools around Continuous
Integration. Some felt we should keep the expertise and tooling we
developed in house. Instead we've written and talked about what we've
learned and put our useful tools into the open source
community. To some people, particularly those with a financial
background, this seemed strange behavior - certainly not what a mature
consulting company would do. I went through similar thoughts in my time as an independent
consultant. Some colleagues preferred to not talk too much about their
best ideas, so that they could charge clients for using them. Others
would freely pass on every tip they ran into. My number one mentor in
my career was Jim Odell, who has always followed the philosophy of
giving ideas away. I liked how things worked out for him and thus did
much the same myself. It's very much the philosophy that Jerry
Weinberg follows. Now I'm not claiming that either I or ThoughtWorks do this for
altruistic reasons. We're not trying to be some kind of cyber-saint
selflessly giving away our every possession. Open Intellectual
Property is a principle that can be enormously rewarding. One of the most obvious rewards is that of publicity. The best
ideas in the world can't bring in piles of cash if nobody knows about
them. By talking about your ideas you find people who want to hire
you. Offering general ideas is valuable, but there are
LimitationsOfGeneralAdvice, so people are likely to hire
you to apply the general ideas to specific situations. Others may
prefer the ideas packaged differently, so people will bring in someone
to do training courses for material that's available in other
sources. Even if the particular ideas you talk about aren't applicable,
writing about them gives others opportunity to understand your general
way of thinking. As a result you can be called in on things that are
peripheral to things you write about, because your writing
demonstrates how you approach things. Of course there is also the more direct way to get financial
reward for letting your ideas go, by selling the expression in books
and articles. However it's hard to get decent money doing this. I
always tell prospective book authors that they shouldn't do it for the
money. While it's not impossible to make good money from technical
books, you have to be very, very lucky to do so. (For the record, I've
been one of the lucky ones.) (I say writing in all this, but I don't just mean the kind of
technical prose writing that I do. I also mean writing software,
particularly open-source software. We are programmers, and programs
are our principal means of expression. Publishing our programs means
as much, if not more, than publishing prose.) I'm talking about rewards, but it's important to say that rewards
don't have to be financial to be valuable. Being a well-respected
writer is itself quite a reward. Sometimes this regard can be
excessive or unwarranted, but most writers I know think of their
reputation more than they do of their bank balances. Another reward of writing is that of learning. I often write
articles because I don't properly understand something and writing
helps me fix it in my mind (that my main reason for writing these
days.) Those who publish code often do so because they want to explore
how a technology should work, either the technology they are using or
the technology they are building. I think Open Source development has
become an important source of research, and it's easier to think of
much open source development as on-going research projects. Much of this in individual reward, how does this work for a
company like ThoughtWorks? Certainly ThoughtWorks benefits from the
cumulative publicity and respect that ThoughtWorkers gain from their
writing. But it also gains from having happier ThoughtWorkers. Many
programmers are programmers because they love the job. Delivering
software to paying clients is important, but so are the rewards they
get from publishing. A company who denies the latter rewards may
de-motivate or lose the most critical assets it has.
|