It’s hard to overstate the hype and buzz OpenAI has created within the tech world since the beginning of 2023 with ChatGPT. The Generative AI model’s capabilities not only awed all who witnessed it but soon led to discussions of what it meant for various professionals within the industry. ChatGPT could write sleek code, design entire websites, and document it tailored to the minutest details.
However, Markus Eiisele, an industry veteran with years of experience in the field, believes the ground reality is far from such doom and gloom. Such AI models, rather than being read-made replacements, will more likely make software development even more broadly accessible and understandable.
Read on to learn more about how such models will affect the tech world in the years to come.
Q1. With ChatGPT, AI seems to be the talk of the town, how do you see it affecting your profession in the short and long term?
Quite an interesting question. As you mentioned, the development of large language models and generally machine learning approaches seem to have accelerated beyond imagination these days. You can find more and more content generated by OpenAI’s GPT and it does not stop there. Text, images, speech, and literally every content type have been embraced by new offerings based on machine learning.
Just recently, I came across some articles that looked at StackOverflow and the development of questions over time there. Not a surprise this is comparably steeply declining. I think in the short term, we will find more and more software development tools that take advantage of specifically trained models to aid developers with the 80% boring stuff. Basically, shortening the on-ramp and making it easier to handle boilerplate and specific cases that aren’t necessarily day-to-day things.
As these models progress and learn more, I assume that we will also be able to interact with them differently. Instead of having them trained on the language of choice (Java, Rust, etc), they might also be able to be more reliable with different input- and output languages. Basically allowing a natural language interface to programming. We’ve seen various stories of wireframes or mockups having been fed into models and turned into code or iOS apps even.
This might be an opportunity to make programming and software development more broadly accessible. With every abstraction I’ve seen in the past, the tedious parts of our jobs became more manageable but at the price of added layers and complexity.
This leads me to believe that the real power of these systems might not even be in just developing software or aiding software developers but optimizing runtimes for various scenarios. Cost is obviously one of the biggest motivators here. Another one could be energy consumption.
Operations of infrastructure will definitely be influenced significantly over the next few years. Redmonk took a deeper look at the influence of AI/ML on developers in a recent piece.
Q2. Your recent book, "Modernizing Enterprise Java" aims to provide a thorough yet precise guide to developers, why'd you feel the need to write this book?
My co-author and I have been entertaining the thought of writing a book since a couple of months before Covid hit.
Our ultimate goal was to help bridge traditional enterprise Java-based systems into the modern, cloud-native world. With the advent of Kubernetes, Serverless, frameworks like Quarkus the foundation was there but we’ve been telling customers, partners and interested developers the same story over and over again without being able to point to a specific reading about this.
We finally found some time to write down our experiences and are hopefully able to help conserve some of the legacy Java systems out there and help companies and developers to successfully not only migrate but also find ways to categorise existing applications and decide on migration opportunities. You can still download the free version of the eBook from Red Hat Developers.
That is a very good question. I have curated a ton of sources over the last couple of years. Blogs, medium, tweets, and many more that I read on a daily basis to stay on top of recent developments.
I think it is one of the most challenging parts of our jobs to not only navigate the existing complexity but also be able to prepare for upcoming developments and potent technologies so we can incorporate them as they make sense from an architectural perspective. While nothing beats real-life experience with projects as a solid foundation for judging functional and non-functional requirements, it takes a little bit of detective genes and curiosity to stay on top of industry developments.
I’ve linked out to Redmonk above already. They are for sure one of my main trusted analyst sources for trends and industry news. InfoQ is another valued inspiration.
Q4. What advice would you give a young developer just starting out in the industry in 2023?
When this question comes up, I am always tempted to answer with the famous Steve Jobs quote: “Stay hungry, stay foolish.” It isn’t exactly a dumb answer but for sure not the perfect one. While a certain fever for technology and modern developments certainly can’t hurt, to me one of the core abilities in software development is something that you do not learn in school. Listening, asking questions, and abstracting.
We rarely create software for the sheer fun of programming. There’s a real business need that needs to be fulfilled and this usually presents itself to developers in the form of requirements. Mostly heavily unstructured. I vividly remember my years working for the insurance industry.
Those insurance contracts have more exceptions than rules and it takes long hours to truly understand the workings behind, calculations and risk assessment. This has very little to do with programming. It ultimately is about understanding problem domains and being able to model software that can serve a certain purpose.
With methodologies like Domain Driven Design (DDD) or others, we have quite some powerful tools at hand to manage existing complexity, but it will still take some time to find the right balance between throwing a methodology at a problem and understanding it.
So, my advice ultimately is: Learn the basics and enjoy working in teams. Despite all the exciting developments around machine learning and code-generation and assistants, it still takes a human to talk to other humans about how certain businesses really work and a lot of contextual knowledge to design systems around it that ultimately solve problems.
Conclusion
Organizations often find themselves innocuous victims of a myopic mindset, unable to grasp the bigger picture lying ahead. Insights of industry experts like Markus are vital to shedding such a mindset as it allows them to see the broader implications of modern developments.
Markus’ thoughts on the potential impact of Gen AI models like ChatGPT, the future of web development, and advice for young developers just entering the tech space can be invaluable resources if properly leveraged while also providing a sort of roadmap for both organizations and individuals alike.
DISCLAIMER: This interview represents the opinions of Markus Eisele. The content here is for information purposes only. Securiti is hosting this blog post but did not edit the content of this review.