Initial Free Software impressions
Recently, I've started hacking on Twisted. Not in a big way, just nipping at the edges.
I'm struck by the many differences between my experiences on Twisted, and my experiences as a commercial software developer.
I suppose the biggest difference is that of relative competence. I'm used to being the most technically competent person on a project. The guy that sets up
cvs and the makefiles and who people consult when they complex or obscure
programming questions. In Twisted, I am a very long way away from that. I am
unfamiliar with the development process, and I am reasonably new to the
language. Also, there are some really, really smart people there.
Not being in charge is harder in some ways. I tend to ask for approval before I
do things, and ask for advice a lot more. It also means that when I want to do
something, I have to justify why it should be done. Oh, and I become mildly
nervous when my finger hovers over the "commit" key.
However, the great thing about this is that I am learning a lot. Especially
about design and code-craft. It's a real pleasure.
Distributed development is also pretty interesting. Things have to be expressed
in a much clearer fashion, and much more work has to go into communicating
ideas. I suppose this is an obvious truth. I find the discipline required
unusual, but worth working on.
I've never done product development before, only doing bespoke work. Having to
think about API changes and backwards compatibility and so forth isn't
something I've had to do.
I still find it hard to get the time to do much productive work on Twisted, as
I have only the evenings and the weekends to contribute, and focussing and
concentrating after spending all day at work can be hard. Especially when you
are an IRC monkey like me.
Working on Twisted has been a great learning experience. I look forward to further hacking.