Handcrafted Code? The Programmer in the Age of the Artisan*
Culture is diverging in serious and interesting ways. Mass-production is at an all-time high, but a parallel development praises traditional, pre-technological production practices. We lust after devices too shiny to have been made by human hands, and use them to snap photos of organic coffee we insist be roasted less than a mile away. What is the future for programmers in this age? Are we to be replaced eventually by automation, or will there always be a place for "handcrafted code"?
The philosophy of technology is a new field burgeoning with insight, little of which is applied to the day-to-day of our increasingly technological society. In this talk I want to take learnings from the philosophy of technology (for example, Albert Borgmann’s framework of the Device Paradigm) and integrate them with software development specifically. Programming is, from the perspective of these learnings, highly ambiguous. On one hand, it is a preeminent example of a “technology”, both in its essence and in the experiential process of coding (which changes from month to month as new supporting technologies emerge). On the other hand, software development is firmly on the “create” side of the “create”/“consume” divide.
These ambiguities make programming an enlightening case study for discussing philosophical issues in technology. Given that we are also personally invested in this discipline, the discussion can become more than philosophical, as we ponder the trajectory of programming based on what we have observed of the pattern of technology so far in its short history. Ultimately, I will argue that programming as we know it will change drastically in the near future, and that all non-essentially-creative aspects of it will be hidden behind layers of technological device. I will explore the implications of this claim for the privileged status we currently enjoy as software developers, and encourage an open discussion of how we might prepare for a post-developer age, or, equivalently, an age where “everyone” is a “developer”.
As a developer at Sauce Labs, I have been privileged to speak at meetups and conferences around the world about Selenium, the automation tool for the web. This year, my talks will be focused on Appium (http://appium.io), the new open-source mobile automation initiative I am helping to lead. I will be speaking at GTAC in New York in April, and at SeConf in Boston in June, among others. I wanted my OSBridge proposal to be something a bit different; the philosophy of technology is an area of intense interest for me, and I want to involve other developers in discussions about what technology is, and who we are as humans in a technological age. This talk has never been given before.
As an example of my presentation style, here is a link to a video and slides recorded at last year's Software Development and Evolution conference in Winnipeg: http://www.infoq.com/presentations/Selenium
Jonathan went to college intending to become a computer scientist and somehow ended up with two degrees in philosophy instead. Nonetheless, after graduating, he found himself putting logic to use in code, since it turned out that was more profitable than pontificating on various subjects.
Since then he’s worked as a freelance developer, started several companies (Backlight.org, Comendi), and got a second masters in linguistics. A year ago he joined Sauce Labs as a Senior Developer, where he has the opportunity to contribute to open source projects like Appium, Wd.js, Sausage, and PHPUnit.
Jonathan enjoys living in this intersection of philosophy, technology, culture, and the day-to-day work of a developer. There’s a lot here to chew on for developers, particularly in the philosophy of technology, and Jonathan is trying to start conversations about what technology means, as we’re all together figuring out what we can do with it.