What Are Software Developers For

Software developers collaborating

At the time of writing this, the perceived potential for AI based tools for software development is at an all time high. Devin, claims to offer a “fully autonomous AI software engineer”. Other tools like Marblism have less ambitious claims but can still create a working web application that fulfils natural language requirements, giving a solid base for experienced software developers to build upon and tweak for customisations. Many developers are naturally anxious about the future of their work, wondering if they’ll still be needed in 10 years if the underlying technology is advancing at this pace.

In 1985, American writer and farmer Wendell Berry wrote a piece entitled “What Are People For”, lamenting the changing landscape of American agriculture from labour intensive smallholder farming to machine and chemical intensive large-scale farming. On the one hand, this was driving people off their land and into the cities, rendering many of them unemployable and thus introducing negative societal consequences in the cities. On the other hand, it was also damaging the land, with increased soil erosion and chemical pollution from the pesticides necessary to sustain the monoculture farms which had become the norm. He ends the piece with the following quote which, I think, may relate to software development:

In the country, meanwhile, there is work to be done. This is the inescapably necessary work of restoring and caring for our farms, forests, and rural towns and communities—work that we have not been able to pay people to do for forty years and that, thanks to our forty-year “solution to the farm problem,” few people any longer know how to do.

Berry, Wendell. What Are People For? (p. 125). Catapult. Kindle Edition.

Much of modern software development is more than “innovation”, “disruption” and other news-worthy exploits. For most software developers, their daily work involves maintaining existing software to keep it relevant for improving technology infrastructure; making changes to adapt to contextual regulatory environments (e.g. changes in tax laws); responding to changing customer preferences, both visual and behavioural; and other boring work for which one can’t cut a red-ribbon and win an innovation prize.

Not only that, but most software developers don’t work for the Microsofts and Googles fo this world, but work for local institutions which service local people, like banks, telecommunications companies, retailers and small businesses. This work involves responding to local needs, such as localisation of apps into the local languages and adapting services to better serve the contexts they serve, like better stokvel tools for financial services apps in South Africa, or better integration with Mobile Money in East African countries.

All of this contextual work involves the integration of the software developer into community. The integration into the community of the organisation rendering the services to which they develop so that they can meaningfully translate the organisational needs into software. The integration into the wider software development market of the area so that they can choose development languages and technologies that will be sustainable over the medium to long term within that area. And the integration into the market they are serving so that they can easily respond to change, and feel a sense of satisfaction and pride when their neighbour is blessed by their labour.

I’m not sure where the software development industry is going at this rate of change, or if there will or won’t be a need for “manual developers” in a couple of years. But my hope is that just as local place and community has sustained local service thus far, it can continue to give purpose and meaning to our labour and its fruit.

Photo by Austin Distel on Unsplash