I finally did it! DasBlog Core has been officially upgraded to .NET 10! This is probably the single biggest release I’ve shipped and so a version bump was going to be warranted. The truth is that I do all this work out of a deep, stubborn love for neglected software, but if I am honest I would not have had the time or energy to take this on without Copilot.
Prior to these LLMs and Agents code was considered to be expensive. Not just in dollars, but in time, in the accretive collection of knowledge, and the cognitive load required to hold a dozen patterns in your head just in getting started. For most of my career I have also felt limited by the fundamentals of my typing, I even took deliberate steps to improve WPM. These constraint are gone. The cost of producing code has in some ways collapsed. This also means we no longer need to carry as much concern with getting it wrong the first time, because correcting has and will probably continue to get cheaper. Trying a new framework or stack is starting to become a trivial concern. The penalty for iteration is dropping precipitously.
Copilot also managed to accelerate what I consider the tedious parts of writing software, things like test coverage, non-critical bugs, and code consistency. It handled the scaffolding and the repetition of a UI framework upgrade while I could use my energy on the shape of the system, along with the philosophy and intent. That shift is not at all subtle. It changes where and for how long I need to focus, and what work I can do in parallel.
All that said, the future is fuzzy. We are going to be generating more and more code. I mean orders of magnitude more. The tools that help us generate code are improving faster than the tools that help us understand it, and the gap in understanding systems is where the real lag will be. I also found myself “writing” far more code but with much less direct connection to the detail. I relegated myself to a reviewer looking for patterns of neglect. Code was easier to produce, but also, presumably, easier for me to lose the thread of why it even exists. Code authorship has always mattered, but now it feels less central, and I find myself wondering what we lose when that connection fades.
Then with all this new code, we need new ways of managing the scale. We need new ways of understanding what we have built. We need new tools for navigating and communicating the complexity. We need a new vocabulary for the abstraction. I imagine the difference to be as stark as assembly is from say C#.
I am saying all this but I am still optimistic. Some of the best ideas never made it far enough to be validated, they stalled out for lack of expertise or because they did not fit the incentives of venture capital. I for one will be happy to see those barriers collapse.
Finally, my hope, selfishly, is that Visual Studio remains the place where we are most comfortable improving performance. That it becomes the place where you handle brownfield development, where you test code, where you understand how the system behaves under real constraints. The place where the work of making bespoke software better will still actually happens.
