What are my weaknesses as a developer?

AI as helping to solve ‘wicked problems’. The right answer is ambiguous.

https://www.youtube.com/watch?v=wvvMmLzzhqg

Back propagation in software development. Like iterating with users can back propagate into code. Based on feedback from users and translating it into assumptions of the system and update.

How Do I Envision AI changing software?

I see the software development lifecycle as an interaction between interfaces. Using my own work as an example. I write React code that is used by users who give feedback, which I write code for and so on.

Crucially, they can provide support in the software lifecycle so that the real value of the applications being developed can take priority.

Unburdened by the undifferentiated heavy lifting of tasks like upgrading Java versions, developers can focus on the creative work that drives innovation 1

  • Once something has an interface an LLM can interact with it and it can be iteratively developed through natural language.
  • User feedback or interaction with a software developer can be used to iteralively develop software in a kind of ‘backpropagation’ 2.

Case Study

I’m developing code for a UI. Replace me with some agent that can write code. Deploying the code involves interaction with remote servers but interaction with AWS, through API’s (specified by docs) could, theoretically, abstract this. A feature request is posed in natural language to the agent (developer) through interation on designs on the UI the final code is agreed upon. It could then be provided to a ‘tester’ agent. If it passes these test its offloaded to a deployer/operations agent who’s in charge of deployment. The whole process could have an overseer agent (like a devops engineer) to have a differing perspective.

Footnotes

  1. Werner Vogels (CTO Amazon)

  2. Peter Norvig (above)