The rapid rise of AI tools such as ChatGPT, Bard, GitHub Copilot, and others has many developers worried about their careers, and whether these tools will replace programmers. This session will reassure those developers and provide some guidance on staying employable in the age of AI.
We will begin by looking at some areas in software development that are least likely to be impacted by AI, such as embedded software, fintech, legal systems, and avionics, but then we will concentrate on software design and architecture.
Yes, you can ask ChatGPT to write a REST API in Spring Boot with a JUnit test suite. But can you ask it to create an entire enterprise software system? With OpenID security, unit and integration tests, a deployment pipeline, management APIs, backup and rollover processes, an SLA of less than 100ms while supporting 100K concurrent users, providing localization for North American, South American, and European markets, handling PII (personally identifiable information), conform to Sarbanes-Oxley standards, and provide documentation? No. And probably not for the foreseeable future.
We will look at areas of software architecture and design to learn to provide job security. We will see how existing AI tools may coexist with human guided software architecture development.
We will wrap up with a brief look at ArchUnit - a library for testing the architecture of a Java application, and how it may be used to guide junior developers who use AI tools to generate the "street level" code in a project.