ChatGPT is incredible; forget blockchain, forget web3, forget the metaverse.
This new form of artificial intelligence is the real deal, and now that the cat is out of the bag, there's no putting it back in.
The rise of AI presents opportunities and challenges for junior engineers. Our responsibility as experienced engineers is to ensure we are careful in our use of AI to ensure our juniors succeed.
As an engineer, I've never reached for a tool so fast to help me with my day-to-day job. Yes, I've used linters, static analysis tools, and a whole swathe of plugins to aid my development, but I've never felt as confident as I do now with letting AI write code for me.
But here's the rub: ChatGPT isn't perfect. It can throw out some insane solutions to problems and, in some instances, be downright wrong.
But I have years of experience and can see through the madness and tell it to correct itself, and it will. But how does someone with less experience do that?
How will we ensure our use of this fabulous new technology will allow those rising through the engineering ranks to succeed?
One might argue there's never been a better time for those lacking experience.
After all, they now have access to a tool that, given a bunch of code, can break down near-instantaneously what the code is doing, rather than waiting minutes/hours/days for a kind-hearted soul to come along and do the same.
Our new AI colleague may do as well as that friendly soul, but we must be cautious. There's still a chance our kindly virtual assistant will take our trusting engineer by the hand, reassuringly, confidently, and with just a subtle hint of superiority, lead them straight up the garden path.
Another side to this coin is providing value to the business.
In my career, I've set small projects for my newer engineers to get their teeth stuck into, something they will find rewarding, challenging, and fun.
But now I have to reconcile that with the thought that I could "just" ask ChatGPT to do it instead, thus delivering value to the business much more rapidly in the short term but negating the chance for the junior engineer to succeed and potentially damaging the longer-term success of the company.
Will this ultimately make junior engineering positions even harder to come by?
I hope not, but the fact that I am asking myself these questions means others must be, too.
More so than ever, we, as experienced engineers, must remain open and approachable to answer questions and give guidance to our burgeoning colleagues.
Just as we've been able to see through the pitfalls of technological trends before, we must do the same with AI.
We need to ensure we're reviewing the artificial intelligence's output together, in the same way as we would have collaborated before this new world; we must also focus on the things AI can't yet do, the bigger picture, the "why" of the code, the structure, and the overall beauty of our solutions.
I hope for a future where those blessed with fresh perspectives and those carrying the battle scars of experience can work together with our new ageless AI friends in a blissful symbiotic harmony we have not had before.
But we must tread carefully and recognize our responsibility as veterans to give back to our trade, just as those friendly souls have always done.