"The problem is that chemists operate in a very different kind of cultural environment than software developers."
I find this so fascinating. It's true, but why? And why is the chemistry culture so different from that for biologists and physicists?
It should be emphasized that whenever we talk about 'chemists', we're really making generalizations about a heterogeneous group. Same applies to 'software developers'. Keeping that in mind, here are some ideas for how the culture of professional chemists differs from the culture of professional programmers:
- Numbers. I believe Spolsky quoted an estimate of something like nine million professional programmers worldwide. ACS, "the worlds largest scientific organization" says it has 158,000 members.
- Entrepreneurship. Devs can (and do) freelance and form two- or three-person startups. Chemists rarely.
- Copyrights versus patents. Chemists have only one option to protect their intellectual property - patents. Devs can and do use both copyrights and patents. A copyright goes into effect the minute you create something. A patent is an expensive and drawn-out affair in which you can lose your rights by revealing your invention too soon to others.
- History. Chemistry has a history going back hundreds of years - software development as we know it is barely a generation old.
- Resource requirements. If you have a laptop, you too can be a successful software developer. It takes a lot more equipment than that to be a successful lab chemist. This resource requirement generally implies a significant organization behind it. That organization may not appreciate you posting questions to public forums that reveal the nature of your work.
- Established communication channels. Science has a tradition of closed peer-review and publication in journals. This plays much less of a role in software development.
- Secrecy. Whether you've worked in industry or academics, you've been exposed to this in one form or another. Open Notebook Science, which is more analogous to the way open source software get created, is a radical idea for many chemists, and probably will be for some time.
- Computer fluency. Devs spend most of their time using a computer. Lab scientists spend most of their time away from a computer. A site like StackOverflow can be immediately understood by any dev. Many chemists would need training to be able to understand its purpose and use it easily.
I've deliberately selected differences that may be relevant to an online service like StackOverflow. There are doubtless many others as well. And then there may be some differences that haven't been considered here.
What do you think?