Phlebsy
NixOS gives you that just by opting in to using it, and while AI also speeds up config changes and translating your existing knowledge to a new tool you're trialing in other distros as well it really shines with NixOS where you don't even have to care what it messes up while you're trying something new. You just revert and you know that nothing that was done to configure that new thing - which likely would have broken your existing configuration on other distros - has persisted.
This is my dream; have only had a team with little enough ego to actually achieve it once for an unfortunately short period of time. If it's something that there's a 99% chance the other person is going to say 'oh yeah, duh' or 'sure, whatever' then it's just wasting both of your time to not just do it.
That said, I've had people get upset over merging their changes for them after a LGTM approval when I also find letting it sit to be a meaningless waste of time.
Either way, only serves to further the point that Linux is in a pretty good place and the experience should only be better on more stable options.
Flawless experience on non-nvidia hardware though.
Or you can just learn a handful of puzzle patterns in exchange for more job opportunities that would have the potential for higher overall pay. Seems like a fair trade to me.
The fundamental point of tests should be to check that your assumptions about a system's behavior hold true over time. If your tests break that is a good thing. Your tests breaking should mean that your users will have a degraded experience at best if you try to deploy your changes. If your tests break for any other reason then what the hell are they even doing?
Hell, just make a macro to replace all the funny anachronisms and a prompt that can reference your own writing style to massage the output.
If it's something I'm going to need most of the time when I open that project type then I automate it from bash scripts using simple identifiers like whether a go.mod, package.json, *.sln, etc exist. If you want to get even fancier then you could make scripts specific to each repo with a fallback, or make it search the existing sessions and close out any competing ones that would use the same ports or images. It's one of those things that does truly save 30 seconds multiple times a day, with minimal setup time for new projects once you know how you always structure your dev environment.
Even if we assumed that there was nothing special about the capabilities of people who finish Ivy League educations, that's still a powerful effect. Add in that they are either competitive enough or have well connected enough families to get into said school, and it's a multiplying effect on top.
With how much google at least has become incentivized to push results further down for their other features I've been glad that I've had a habit of storing the links for useful/non trivially found results with the queries originally used for a while now.
That said, maybe having AI summarize the curated results to store along with them wouldn't be a bad idea as well with things seeming to fall off the internet with dead links or migrated URLs more and more.
There are certainly horizontal slices of every stack that can be written to remain stable regardless of the direction the business takes, but those are rarely the revenue drivers that the business cares about beyond how much they have the potential to cause instability.
I've come to a less pleasant way of putting a similar workflow. If something hurts(in the sense that you dread doing it, even though it needs to be done), make it hurt as much as possible and keep doing it until it doesn't. Along the way you'll find the ways to make it easier, faster, more efficient, etc but if you put it off every time until you can find the fortitude to embrace the suck then it's never going to get noticeably better.
Most of the time this is business process related, especially when inheriting legacy systems. Ideal outcome is that you understand it enough after really digging into it to cut out or replace entire swathes of the processes without losing confidence that it will continue to operate smoothly.
Say it ain't so - tariffs are now being used for political reasons instead of economic? I hope the administration gets word of this.
With how unstable the situation is and Framework being a small outfit shipping out of their processing & QA center(every unit is hand assembled and tested before shipping), it makes far more sense to just pause it all than risk tariffs being raised to 104% arbitrarily before they can process an order.
Not to say that it has as many negative side effects as vibe coding or that context switching is 0 cost, but it's interesting how similar they feel in my mind even discarding the 'embrace the exponentials' rhetoric.
I'd consider this sort of move of house maintenance to be more of a chore than a hobby project, though maybe that's just because I've already done it before and it's not interesting or satisfying to do it again.
In any case - I do agree that attempting to apply the same thinking to the hours spent in day to day tasks as work needs to be done very mindfully, or even carefully. One of the worst practices I had early in my career when I was freelancing and had a few clients that were happy to give me as many hours as I wanted to take was to use that as an excuse to replace other tasks with work. Paying someone else to do 30 minutes of grocery shopping so that I can work an extra half hour and end up with a profit, ordering lunch multiple times per week because the time it'd take me to cook and clean up would end up 'costing' me more than just continuing to work on something I enjoyed.
Before you know it you start thinking of chores as complete wastes of time rather than normal things that are good for your character to be able to do consistently. Ended up with a significantly better financial outlook than I'd have had otherwise since I had the work ethic/life balance to take advantage of that situation and not completely tank other aspects of my life, but looking back I'd rather have kept the more mundane discipline.
I had a similar conversation with a blind classical guitarist before I ever played, which was echoed by my instructor when I started to learn a few years later. Something along the lines of "If you don't know a piece of music to play it with your eyes closed then you haven't practiced it enough for a performance."
I'm not sure I follow the same idea with not utilizing available tooling in software development, but I do believe that most developers would benefit from intentionally going 'back to basics' and limiting their use every so often and shining a light on what you might think you have a solid grasp of but are actually at the limit of your unassisted capabilities.
1. Differentiate critical comments vs opinions/nice to haves. Not every comment needs to be resolved as part of that specific PR, they can be addressed in a follow up after it is merged in a disciplined team.
2. Be okay with reviewers contributing to the PR themselves. Some developers just get too caught up on 'ownership' of code that makes it in, when the team is responsible for it in the end(when you have a blameless/improvement focused culture at least). I don't need the original branch owner to fix a typo or nitpicks when it will take me less time to fix it. I haven't found any code suggestion features that are amazing for this, so sometimes you'll end up with back/forth disagreement and have to rebase a commit out, but most of the time it's fine and overall improves velocity. Basically turning the PR into async pair programming.
Releases? Sure, you want those to happen early in the week so that you can monitor the rollout and how users interact with it. Deployments? Ideally, deployments change absolutely nothing about the performance characteristics of the system until a feature flag is enabled. There is some cruft in that and it requires cleaning up after yourselves, but when used right it's no different from standing up a new deployable that nobody interacts with yet as far as risk goes.
All in all, if you have a healthy CI/CD setup, use risk mitigating strategies such as feature flags/automated rollbacks, good monitoring/alerting on performance and SLOs, and you're not introducing something like 200+ novel lines of code to an existing workload running in production then I don't see the point in waiting to deploy.
Maybe I'm just too much of a fan of finding things that hurt and making them hurt as much as possible so that we are incentivized to improve them though. If something goes wrong on a deployment/release on Friday, it would go wrong on Monday too. Find what was broken about your process that let it slip through and fix that.