When utilizing third parties such as cloud service providers or software as a service (SaaS), I’ve often thought about it as not a way to outsource the engineering work but rather a way to free up engineers to work “higher up the stack.” What I mean by that is that the engineers can often build or work on top of that third party service, closer to the customer. Almost all work closer to the customer is of higher value to the customer. Take a very simple ecommerce stack. The customer interfaces with the website to search, browse, and checkout. This functionality of course requires services such as a shopping cart and payment flow. These services rely on APIs and databases. These require hardware to provide compute and storage. On and on this goes. Our ecommerce stack needs hardware but the customer doesn’t care if we happen to be the world’s best storage engineers or if we outsource that to a third party to provide storage as a service. In fact, being the world’s best at something that our customers don’t care about is wasteful. As an alternative we could outsource that important and necessary service and have our engineers “move up the stack” closer to the customer and work on other engineering problems that the customer does care about like site performance or additional functionality.
This idea of moving up the stack came up again recently in the discussion of ChatGPT in classrooms and tech companies. There are probably lots of things that these large language models (LLM) are capable of including better search but the areas that I’ve experimented with are in writing and programming. Fred Wilson, on his blog, recently reported that the NYC Department of Education had banned ChatGPT from its networks and devices. To this he commented, “I would like to suggest that educators embrace these new tools rather than block them.” I very much agree with Fred that instead of blocking these tools, which is always the first reaction to disruptive technologies, instead they should be embraced. Stephen Fry, recounts that Anthony Trollope, author and civil servant, who invented the early mailbox, known as a pillarbox, was distraught over his own invention. The reason was that prior to this invention a woman was not able to write a letter without giving it to a postman or to her father to mail for her. Middle class women had no ability to connect to a man, except through the graces of her father. The good news is that there is evidence in Trollope’s own writing that by the end of his career he had embraced these social changes.
These tools are very likely here to stay with us. Instead of hiding our children away from them, we should embrace them and teach our children how to be better idea generators and editors, areas in which ChatGPT isn’t well suited today. I think the same applies to engineers using ChatGPT or Github’s copilot or any other ML-based paired programming tool. There are way more qualified technologist and engineers than me, such as Grady Booch, who appear to not think too highly of these tools as he’s stated on Twitter “One alternative to generating bullshit at scale as does #ChatGPT…” and that “Debugging, refactoring, and extending legacy code written by a human is hard enough. Imagine, if you will, a developer some decade or two or three hence, trying to debug/refactor/extend legacy code written by an AI.” But, as a fan of paired programming, likely because I’m not terribly good at it by myself, I’m a big fan of leveraging these ML tools for software development. Similar to my recommendation to shift our teaching to idea generation and editing, we need to do the same for developers. We should be interviewing for skills like software design and debugging more than actual coding.
As a parting thought, Marshall McLuhan, a Canadian philosopher of communication theory believed that our tools end up numbing whatever part of our body they amplify. I think this is true as the hammer allows us to pound in nails but I lose the feeling of the nail. Guitar picks (plectrums) allow us to pick guitar strings louder but we lose the feeling of the string. No doubt these new tools will numb our mind to writing and programming but it will also amplify our abilities in these areas.
People, by their nature, dislike change. During the transition period when the automobile was invented, advocating for the replacement of horses - which had served humans for centuries - was not seen as foolish. "In the wild early days, even promoting the very idea of a self-propelling machine would make you the object of ridicule," said Alexander Winton, one of the legends of the early automobile industry. Who knows? We may now be in the century of a new revolution, just like the old days.