Incentivizing people who are already using AI to use as many tokens as possible does seem a little crazy, though.
Incentivizing people who are already using AI to use as many tokens as possible does seem a little crazy, though.
Users attest to higher productivity and point to material but intermediate factors like token use, generated lines of code, pr counts, etc, but there doesn't seem to be a convincing revolution in the quantity or quality of mature software being delivered.
Combine that puzzling impressions of outcomes with a sense, for many, that they don't feel like they have a personal problem that warrants a new tool, and you end up with a pretty earnest and defensible indifference.
To get hold out engineers using AI, the industry needs to be focused on demonstrating relatable workflow improvements and demonstrating practical improvements to finished work product. Instead, policies like token use incentives just rely on luring them into pulling the slot machine handle with the expectation that once they do, they'll join the cadre of other converts who justify their transition with subjective improvements and intermediate metrics.
I have. My conclusion is... humans are deeply irrational when it comes to rapid change.
Egg or olive oil prices spike, humans out an entire government.
The rate of immigration spikes, humans throw them into camps and break useful treaties.
Most of the resistance I've observed amongst engineers is resistance to change generally.
And then digging in when challenged.
Most engineers I've known are enthusiastic when given the opportunity to play around with a new toy. What they don't like is anything being forced on them. There's nothing irrational about that. They've often invested a lot of time into optimizing their workflows.
I've also found that if something actually makes their work easier, you will never have to twist their arm to make them use it. They'll apply it everywhere it helps. They'll even try using it in places and in ways it was never intended for. If they're digging in, you likely haven't made a very compelling case for your changes.
> What they don't like is anything being forced on them
raises hand (n=1), i'm fine to use it when i need
it, but the derangement by management about it is a total put-off and unnecessary (and in the end counter-productive)>Here's a new editor we made
Cool, looks interesting, I'd love to use it more
>We're forcing you to use it
I hate it
Nobody ever had to force me to use keyword coloring, code formatters, source control, or a bug tracker.
Nah, software engineers were always butterflies fluttering from one language or framework to the Next Hot Thing. Change was part of the job, if you didn't keep up you fell behind and atrophied.
Resistance to AI is, I think, more because it is seen as an existential threat, or because it's something whose ultimate long-term outcome is still undefined. It's going to be either a benefit or a hazard, and we don't yet know whether we'll need Bladerunners to rein it in.
When I use AI to completely write code for me (not using it as a powerful auto complete), it's not fun. I don't learn anything. It takes everything I love about software development and makes it just like any other job.
I'm also never happy with the result and, when I go back to make it work the way I want it to, I have to learn a new code base that isn't built the way I would have. If that happens to a project I'm working on as a hobby, I find it incredibly unmotivating.
It turns my intellectual pursuit into an assembly line and I hate that.
Others will use AI, and it will make your life miserable. You need to know enough about AI to be able to fight back.
The experience: one employee, self-selected, assigned themselves to a task of configuring integration with MySQL HA deployment. They produced a mountain of code in a short month (we are talking about close to a hundred thousands lines of Python code). And they decided to go with Oracle's tools, instead of Galera...
Everything this employee produces is, quite obviously, AI-generated. Also, in the initial stages, they worked on their project completely alone: no reviews. To give some sense of size of this insanity: one of the configuration scripts I'm working with now is a 9K+ loc of Python that's supposed to run from `mysqlsh`. About half of it is module-level variables.
It will take many months to restructure this "prototype" by hand. It's a pain to read and to navigate. GitLab UI has a perceivable lag just trying to display the script, forget about diffs. I will absolutely need AI to try to make sense of it (I'm not allowed to fix it). But, and if it ever comes to fixing, I can't imagine this to be done without automation of some sort.
Unfortunately, AI generates problems that, sometimes, only AI can fix. :(
Among skeptics, I've only seen people won over by using it themselves, because when they use AI for their own work, they invest the time to review the code, understand it, and assess its quality by their own standards. That's how people learn to trust AI coding assistance.
So now introduce AI and then tell every developer that they need to be 20% more effective 20% of what?
Not just coding, but things like "here is my teams mandate, go through all my company's slack channels, linear tasks, notion pages, and recent merges in got, summarize any work other teams are doing that intersect with my team's work."
That'll burn a lot of tokens.
Set that up to run once or twice a week and give a report.