4 ms·
TL;DR: The biggest threat to your career is not LLMs but it's younger engineers that will adapt to the new tools. --- My personal take is that LLMs and near f
by ithkuil 2y ago
TL;DR: The biggest threat to your career is not LLMs but it's younger engineers that will adapt to the new tools.
---
My personal take is that LLMs and near future evolutions thereof won't quite replace the need for a qualified human engineer understanding the problem and overseeing the design and implementation of software.
However it may dramatically change the way we produce code.
Tools always begat more tools. We cannot build most of the stuff that's around us if we didn't first build other stuff that was built with other stuff. Consider the simple example of a screw or a bolt or gears.
Tools for software development are quite refined and advanced. IDEs, code analysis and refactoring tools etc.
Even the simple text editor has been refined through generations of developers mutually fine tuned their fingers together with the editor technology itself.
Beyond the mechanics of code input we also have tons of little things we collectively refined and learned to use effectively: how to document and consult documentation for libraries, how to properly craft and organize complex code repositories so that code can be evolved and worked on by many people over time.
"AI" tools offer an opportunity to change the way we do those things.
On one hand there is a practical pressure to teach AI tools to just keep using our own existing UX. They will write code in existing programming languages and will be integrated in IDEs that are still designed for humans. The same for other parts of the workflow.
It's possible that over time these systems will evolve other UXs and that the new generation of developers will be more productive using that new UX and greybeards will still cling to their keyboards (I myself probably will).
The biggest threat to your career is not LLMs but it's younger engineers that will adapt to the new tools.
- meheleventyone 2y agoI'm actually interested in what you think AI will do as this is quite vague. > "AI" tools offer an opportunity to change the way we do those things. The way I see tooling in programming is that a lot of it ends up focused on the bits that aren't that challenging and can often be more related to taste. There's people out there eschewing syntax highlighting and code completion as crutches and they generally don't seem less productive than the people using them. Similarly people are ricing their Neovim setups but that doesn't seem to add enough value to outperform people using IDE defaults. Then software engineering tools like task management software, version control and documentation software are universally pretty terrible. They all "work" with varying foibles and footguns. So I think there is a massive advantage possible there but haven't seem real movement on them in years. But LLM based AI just doesn't seem it, it's too often wrong, whether it's Slack's Recap or the summarizing AI in Atlassian products or code completion with Copilot it's not trustworthy and always needs babying. It all feels like a net drain at the moment, other than producing hilarious output to share with your coworkers.
- ithkuil 2y agoI agree that currently it's a net drain. I also agree with your assessment that issue trackers and other aspects of the workflow are as important as the coding phase. I don't know yet exactly what can be done to leverage LLMs to offer real help. But I think it has the potential of transforming the space. But not necessarily the way it's currently used. For example, I think that we currently rely too much on the first order prose emitted directly by the LLMs and we mistakenly think that we can consume that directly. I think LLMs are already quite good at understanding what you ask and are very resistant to typos. They thus work very well in places where traditional search engines suck. I can navigate through complex codebases in ways that my junior colleagues cannot because I learned the tricks of the trade. I can see a near future where junior engineers can navigate code with the aid of ML based code search engines without having to be affected by the imprecise summarization artefacts of the current LLMs. Similarly, there are many opportunities of using LLMs to capture human intentions and turn it into commands for underlying deterministic software which will then perform operations without hallucinations. Building those tools requires time and iteration. It also requires funding and it won't happen as long as most funding is funneled towards just trying to make better models which would potentially leapfrog any ad-hoc hybrid.