Coming to the realization that using and relying on AI long term erodes my skills as a software engineer. It erodes my ability to critically analyze my code and others'. It thinks for me and gives a smart enough sounding answer that makes me just lazy enough to miss important details. Had I relied on what I already know, I would have provided a more thoughtful and cohesive answer.
Software engineering today
it would not be far fetched to say that my sentiment above is something most engineers today can emphatize with. Day in, day out of cranking jira tickets pushes you to a point where feeding the story to the llm chatbot and seeing it come up with a solution that might have taken you day(s) to do with comments and documentation that all seem to look like prime gas for promotion, is a quick high that you can get. But what we dont realize in that moment is that slowly we are chipping away the problem-solving, clever, craftiness that exists in us and what pushed us into this field in the first place. Only later, when you try to turn off the ai, snooze the copilot autocomplete in your vs code, do you realize that actually thinknig about a problem is harder than it use to be. It's harder for you to reason about the requirements. you can't tease out the missing or derived consequences of the ac's like you used to. Its like something in your brain is telling you to just reach for it, just open the pack of cigarettes, just one more hit and you'll be back to normal. But that 'thing' in our brains is our dependence on the llm tool, which is the same feeling as the one who gambles and the feeling that he gets when he makes money drives him to forget himself, deplete his resources just to chase that fleeting and rigged high one more time.
Future
I no longer want to rely on llm tools for programming tasks. It's useful in generating dd widgets and pointing you to docs or source code, but beyond that its just a slot machine. Once youre hooked and the difference between conventional slot machine type gambling and using llm chatbots is that the person who the slot machines win over can still go home and be a carperneter, a welder, a mechanic. But the software engineer who used the ai llm chatbot, after some amount of time and I would reckon its somewhat inversly propotional to your experience and competence level, the llm chatbot has erased and backspace deleted your competence as a software engineering. inversely proportional because the less experience/competent you are, the higher likely it is that use of llm chatbots erodes your skills faster than someone with more experience/competence.
What I want to do now
I want to master Kotlin, I've used it at work and previously I've bounced around with Clojure or Odin. But neither of those languages have I used to deploy something in production and I need to take my skills and career seriously if I want to become a master of my craft.
Blog' direction now
The next many blog pieces to come out of this will be all centered around real usage of Kotlin and system design and my learnings of specific pieces and hopefully others can benefit.