Martin Fowler of ThoughtWorks gave what seemed an important session at QCon London, exploring the ethical dimension of software development with a talk called What are we programming for?. The room was small, since the organisers figured that a track on IT with a a conscience would be a minority interest; but Fowler always attracts a large audience and the result was a predictable crush.
The topic itself has many facets, perhaps awkwardly commingled. Should you walk away if your customer or employer asks you to code the wrong thing – maybe enforcing poor practice, or creating algorithms to fleece your customer’s customers? What about coding for proprietary platforms owned by vendors with questionable business practices? Fowler mentioned that around 50% of ThoughtWorks solutions are built on Microsoft .NET; and that the efforts of Bill Gates to combat malaria was something that helped him make sense of that relationship.
Fowler also echoed some of Robert Martin’s theme from the day before: if you build poor software, you are in effect stealing from the future revenue of your customer.
Finally, he talked about the male/female imbalance in software development, rejecting the idea that it is the consequence of natural differences in aptitude or inclination. Rather, he said, we can’t pretend to have the best people for the job while the imbalance continues. I’d add that since communication is a major theme of Agile methodology, and that females seem to have communication skills that males lack, fixing the imbalance could improve the development process in other ways.
Big questions; and Fowler had few answers. When asked for the takeaway, he said the main one is to discuss these issues more.