AI isn't going to take your job just yet but could cost you future ones
AI isn’t taking our jobs anytime soon, Devin certainly isn’t. I’d love to see Devin attend all of those agile ceremonies and use Jira!
If AI isn’t taking our current jobs, how will it affect our future job prospects? My primary concern with AI isn’t the technology itself, but rather how it’s being utilized. I’m not going to get into the security of these tools, which is defintely questionable, or even how they are being used to cause an upsurge in bug bounties. I’m also not going to directly talk about copilot (but it is included when speaking generally about AI tools as a whole), as I wrote too much originally on it and decided that topic is worth it’s own post.
This is going to be about how it directly effects a developer. More specifically a developer who is a solution copier.
Who Are Solution Copiers? #
Firstly, it’s not someone who just uses so happens to use copy and paste. Sometimes that’s required in our line of work. It is however, someone who only copies solutions.
More specifically, a solution copier:
- Blindly copies and pastes a variety of snippets found in their existing codebase, Stack Overflow, or now from LLMs.
- Does not understand the code they use; they may recognize words or symbols but can’t explain the code’s function under technical questioning.
- Lacks and does not apply problem-solving skills.
I’m not claiming I’ve never been in this situation. In fact, I’d argue that most, if not all, developers probably start this way, especially those transitioning directly from an educational setting to the workplace.
For example, projects at university have deadlines, like most students I would put them off and then try to complete them in a silly time frame we’d created for ourselves. Who misses university ey.
How do you do meet those deadlines? Well, you know what the problem is, so you search for ways to implement the solution. Eventually, you find some code that works, you incorporate it into your project, and move on to the next issue. You might not understand every detail of your code, but your project works.
Over time, you’re likely to face challenges that can’t be solved with a quick online search. Whether it’s a colleague or lecturer questioning your methods, or simply a problem that has no easy answers online, these challenges push you to research and understand the solutions you implement, or even better if you then create a better solution based on this experience.
You start building habits of browsing documentation, reading how things work, going that extra step to figure the problem out & overcome it. You stop being a Solution Copier.
You progress, learn and develop.
How AI Can Hinder Your Progress #
These AI tools take this away, they have an answer for everything with 100% confidence. You don’t have to overcome these hurdles, you aren’t forced to think about the problem and what is the best solution? You are just given an answer.
It’s akin to searching on Stack Overflow and hoping for a relevant solution. Even there, you’re likely to find multiple answers, each with its own reasoning and context, requiring you to adapt and understand how a given solution fits your specific problem.
This interaction, even if minor, helps to foster learning habits.
However, AI Tools are like stack overflow on steroids. They make those interactions none existent, they allow you to skip any siutation which requires logical thinking.
Not only are you not developing & honing these skills, but you start to lose those critical thinking skills. When you start typing and it it just automatically suggests an entire function, you skim over it and bingo, problem solved & nothing learned.
That is my main point gripe, I’ve seen countless people get lost in accepting the confidence of these AI tools. Their answers, whilst derived from somewhere, can be as incorrect as anything else you’d find on a forum. Just be mindful on how you use these tools & not lose what makes you a developer.
That Doesn’t Mean You Should Ignore Good Tools #
I like to end on positive notes, so it’s worth noting that AI tools can be incredibly useful. They don’t need to be ignored, just used with caution.
For example, I’ve used ChatGPT and OpenAI’s API to draft a more detailed skeleton for my notes, which I have highlighted in a previous post. When I have time later, I would then vet these notes and remove any incorrect points & add additional notes upon research.
Most of these tools have a lot of benefits, anyone who have used them will have at least once been impressed by an answer you wouldn’t have expected. Their great tools afterall, but their just that. They should help you fill knowledge gaps in, do mundane tasks, offer starting points, etc. They shouldn’t be taking in an entire file, ask to rewrite and add a feature, pasting it into your editor and shipping it. You still need to understand what is going on.
It’s also a good rubber duck!