Back to the salt mines
by anne-decusatis
Trying to understand AI-first software development, and an update on my personal situation
First off: Salt mines?
I had a software manager for several years who would sometimes, on wrapping up company-provided lunch in our lower Manhattan skyscraper, jokingly say “back to the salt mines” before returning to his desk to do white-collar work with a window view of the Statue of Liberty. I am pretty sure that it was a Swedish joke that my American sense of humor just didn’t fully understand; I didn’t ask. But when he did it I often thought to myself, seems kind of dismissive of the dangerous and difficult work of mining, which real people actually do, and which I am fortunate to not have to do myself.
I chose this title despite/because of its implicit equation of salt mine work with software development work. I still think that manager was bad at times, absolutely including the salt mine joke times; but people contain multitudes. It is a colorful way to describe the daily grind of LLMs turning my work of creation into work of management, and perhaps sheds some light on the psyche of people who develop AI (I believe he currently works at Meta). And it’s a confession: I am more like him than I am not.
Walls closing in
This is the personal update section of this post.
It is my current belief that the walls started closing in on my preferred way of life a few years ago, and the pace of this has accelerated significantly recently.
At this point our best chance at becoming Canadian permanent residents is for one of us to obtain proficiency in French (CLB score 7 / DELF high B2 ish) before one of us turns 40 or is diagnosed with a disqualifying health condition. A Canadian Experience Class score in the 490s, like we would currently have, that would’ve been sufficent for a 2023 STEM draw, is no longer viable as software development isn’t considered a STEM NOC anymore by the federal government and Canada isn’t prioritizing STEM draws anymore. The anglophone Canadian Experience Class draws are currently coming in in the mid-530s, and the francophone draws are drawing in the 430s. The way points are assigned, I believe that I will be at 507 points in May, and it is extremely unlikely that I will ever be able to reach over 525 points without French proficiency of CLB 5+. If I can learn enough French to reach CLB7 on the TCF or TEF exam, I get a 50 point bonus for knowing French as well as points based on my score in each of the four subcategories of the exam. I am currently somewhere in the high A1 / low A2 range, after about six months, about five hours a week of studying after work. Provincial nominations have been cut in half by the federal government for 2025 onwards - my wife might get drawn that way sooner than one of us can attain French proficiency, but Ontario draws haven’t focused on STEM or on our (non-rural) region of Ontario either.
So I expect to study French continuously after work for the next two years or so. I have started going to the weekly French Conversation Circle at the library too. I miss having more time for my hobbies. I am not confident that the US will be somewhere I can return in the near future and I’m worried that if one of us does have a disqualifying health condition, having the gap in US insurance when we lived in Canada and returning with a preexisting condtion could make us uninsurable. So hopefully whatever it might be, if it happens, is something more terminal than chronic.
An update on my use of LLMs
I turned on the sparkling autocomplete shortly after posting https://precise.space/@anne/115219988645160137 - turns out my boss has access to our Copilot usage stats, which I sort of knew, and actually looks at them, which I only vaguely considered might be true, but which I found out definitively when he told me. He framed it as professional development - he doesn’t require me to use it but in his opinion, I am only hurting myself by moving slower by not using it / not understanding how to effectively use it. So I’m learning how others use it / how I can effectively use it.
Additional tasks I use LLMs for, October 2025
It’s actually pretty good at reducing the boilerplate I personally write in semi-semantic code autocomplete tasks. Tab-autocomplete writing for stuff like, I have just copied this definition of a data model and now I want to tweak my copy to be about a different type of entity with the same fields, updated for that field name; or, I have descriptive comments and I would instead like them to be field descriptions embedded in code.
Maybe it makes me feel 10% faster, it’s not a game changer, it does not check its results against what is actually runnable which makes it strictly worse than the non-AI language server that is also in VSCode.
I have tried once or twice to ask it to make small-to-medium sized refactors for me, it was very impressive how it listed out the steps and made changes accordingly, unfortunately the changes it made were more verbose than I wanted and did not capture the correct unit of work (e.g. it wrote a model with a cursor for pagination, I wanted an offset param). So I redid it by hand.
Tasks I hate that my coworkers use LLMs for (but will probably just have to accept)
- Code authoring, when they don’t self-review it before requesting my review
- Code review
- Unit testing
- Other forms of manual acceptance testing
- Product requirement documents