惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
P
Proofpoint News Feed
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
博客园 - Franky
V
V2EX
爱范儿
爱范儿
J
Java Code Geeks
小众软件
小众软件
Last Week in AI
Last Week in AI
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
酷 壳 – CoolShell
酷 壳 – CoolShell
The Register - Security
The Register - Security
GbyAI
GbyAI
Vercel News
Vercel News
Y
Y Combinator Blog
腾讯CDC
F
Fortinet All Blogs
I
InfoQ
N
Netflix TechBlog - Medium
B
Blog RSS Feed
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
Scott Helme
Scott Helme
T
Tor Project blog
U
Unit 42
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
NISL@THU
NISL@THU
D
Darknet – Hacking Tools, Hacker News & Cyber Security
aimingoo的专栏
aimingoo的专栏
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
Security Archives - TechRepublic
Security Archives - TechRepublic

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Software Engineering in the Age of AI
Andrew Diamond · 2026-06-29 · via Hacker News

For those of you who don’t know, when I’m not writing novels, I spend my days as a software engineer, writing code. The software industry these days relies heavily on artificial intelligence. Because it has studied trillions of lines of publicly accessible source code, because code solves problems with testable right and wrong solutions, and because code is structured specifically to be understood by computers, AI has gotten very good at writing code.

Before programmers started using AI, a typical workflow looked like this:

  1. Someone asks you to add a feature to an existing program.
  2. You write up a formal definition of that feature describing what it should (and should not) do, how users can access it and how to test that it’s working correctly.
  3. You spend time researching which data structures, algorithms, code libraries and external services might serve best to implement this feature.
  4. You write the code to build the new feature, the tests to make sure it works as expected, and the documentation telling users how to use it and telling other engineers what they’ll need to know to maintain and debug it.
  5. You create a “pull request,” asking other engineers in your organization to review and comment on your new code, and ultimately to approve it for use in the product.

Now that AI can consistently produce pretty good code, the software developer’s workflow looks like this:

  1. You write a prompt asking AI to create the new feature.
  2. You review what the AI wrote, making changes as you see fit or asking the AI agent to make those changes for you.
  3. You either merge the new code into the existing codebase yourself, or you create a pull request for someone else to review and merge it.

In the old workflow, the creative process happened mostly in your mind. In the new process, you supervise the creative process that unfolds inside the AI’s internal machinations. You’ve put some effort into creating a concise, thoughtful, accurate prompt to get the AI started on its work, but you haven’t done any of the hard thinking you would normally do in writing the code yourself. When you get code back from the AI, you’re essentially acting as an editor because, while AI can write code, it cannot always see the big picture of your project the way you can, and you need to make sure this new code won’t cause problems.

AI does not know whether the code it just added violates some legal requirement to which your product is subject. It does not know if the request it makes to an external system is going to take ten milliseconds or ten minutes to fulfill. It does not know whether the actions of its code will conflict with some new feature that you know your teammates will be adding three weeks from now. It does not know whether the function it just wrote might introduce a new security problem when interacting with another function you wrote last month that handles sensitive information.

A senior developer does know these things, and this is why he or she needs to vet and often correct the AI code that appears to “just work.” To a senior developer, AI is a competent, fast-working junior or mid-level developer that, when properly directed, produces mostly solid work but lacks the institutional knowledge and the deep and broad systems-level knowledge that you have developed over the past twenty years.

Now, let’s back up for a second and make an analogy. Let’s say you’re a writer of historical novels. What does your workflow look like? Probably something like this:

  1. You picture a scene in which two statesmen are arguing outside St. Paul’s Cathedral in London in 1760. You consider what you need to know to write this scene accurately, including clothing, the atmosphere on the street and the political situation.
  2. You crack open a number of books and start taking notes on the following, among other things:
    1. Based on their socioeconomic positions and their roles in society, what would your characters be wearing?
    2. Who else is on the street with them? Vendors? Cabbies in horse-drawn carriages? What did those look like? Were the chimney sweeps out at that time of day? What about prostitutes and law officers?
    3. Who are the primary political figures about whom your characters argue, and what are their positions at the moment?
    4. What historical events from recent weeks or months are relevant, and how will they influence your characters’ argument?
  3. You go back to your writing, weaving the historical facts into a scene that you spin from imagination.

The novelist and the software developer have a lot in common here. In reality, the novelist will have done much of her historical research before she begins writing, just as the software developer already knows from years of prior work which data structures and algorithms and which types of caches and databases will be suitable for the new feature he’s about to write.

What both workers have in common is a deep feeling of engagement with the material they’re creating. They are entirely immersed in their work, to the point where they often lose track of time. In both novel writing and software development, it’s common for me and many of my peers to check the clock, dive into a problem, and then look at the clock ten minutes later to discover that four hours have passed.

This is the state of “optimal experience” that psychologist Mihaly Csikszentmihalyi described in his bestselling 1990 book, Flow. Writers, software developers, painters, musicians and all other creative types enter this state when time and circumstances permit. Many software engineers work after hours at home precisely because the lack of meetings and other interruptions outside normal business hours permit them to enter this state.

Now, let’s put the historical novelist in the position of the software developer. She gets a call from her publisher saying they’ve found a way for her to bring four books to market each year instead of one book every two years. They’ve recruited a bunch of top-notch high school and college students who can each crank out five pages a day of competent writing for dirt cheap. The publisher wants the historical novels to maintain the original writer’s level of excellence, or to at least be close, so they’re retaining her services as an editor.

The novelist’s job is now to edit the work of the students, each of whom has been carefully prompted to write pages that should, with a little work, be stitched together into coherent chapters.

Anyone who has ever graded the work of high school and college kids knows that this is generally not rewarding work. If you’ve ever had to grade a hundred papers in a week, you know what a grind that is.

The novelist, like the software engineer, is no longer deeply engaged in her work. Editing is not creating. You do not give yourself over to your imagination. You do not immerse your mind and feelings in the process of invention. Instead, you’re rooting out problems, trying to clean up clumsy wording and redundant descriptions instead. The flow state is gone. You are now a cog in a larger process that doesn’t really value your creativity or your need to exercise it.

Worse still–and I have felt this personally after months of reviewing AI-generated code–your skills drop off sharply. When a new issue arises–a feature to be implemented, or a tricky bug to fix–the idea of wasting several hours on it feels insulting. Why should I dig through all that code when Claude can locate the bug in five minutes and start drafting a fix?

Why indeed? Why should you or I invest mental energy in something we used to actually like doing, something that now feels like a chore, when the bot can do it for us?

Months of working with AI have made me noticeably lazier and stupider, at least when it comes to coding. (I don’t use AI when I write, for the very reason that writing itself is the act of organizing and clarifying my own thought. Letting the bot write for me would be like paying someone else to exercise for me and hoping that gets me in shape.)

I’ve also become more impatient at work, particularly when I get emails from coworkers that are clearly AI-written. The emails often ask me to review longer documents that were also written by AI. That always leaves me thinking, “If you couldn’t be bothered to write this, why should I bother reading it?”

I do use AI to answer basic questions. Want to know how Amazon’s managed databases compare to the offerings from Microsoft and Digital Ocean? Claude’s chatbot is a good place to get a high-level overview. From there, you can go to the sources to get more detail.

But I think that creative people choosing to hand over their most imaginative, flow-state thinking to an army of bots will be a mistake in the long run. Those AI bots got all their knowledge from us–from our code, our white papers, our poems and novels and news stories, our biographies and all the Stack Overflow answers that thousands of people spent decades writing from hard-won knowledge.

The bots ate up all the data, which used to be free, and now they sell it back to us. No one answers questions on Stack Overflow anymore because people take their questions to Claude and ChatGPT. The publicly available knowledge that used to accumulate in free-to-use services like Stack Overflow is drying up, leaving the AI bots less to feed on for answers to future technical questions.

The software companies fired all their junior developers because the AI bots are cheaper, as long as you have skilled senior developers to manage them. But with no junior developers in the pipeline, learning the hard way how to solve the truly complex, broad and deep problems–problems whose scope is simply too large for AI to handle–where will tomorrow’s senior developers come from? Who will be qualified to manage the bots in five years?

The complex, broad and deep problems I speak of are too big to fit into AI’s “context windows” which describe the full scope of questions to be answered. You cannot now and may never be able to feed into AI a full understanding of every law that governs your product across a hundred different countries, every nuance of every related codebase with which your product must interact, every business rule embedded in the millions of lines of code that make up your product. A team of developers and managers can understand and apply this legal and institutional knowledge. It takes work, naturally, and is expensive. Complexity always is.

But what happens when we resign all this work to the bots? What person anywhere will have the knowledge to verify that the work the bots are producing is correct?

A few years ago, I read an article, which I can no longer locate [1], about how the US Navy convinced Congress to fund the construction of an aircraft carrier that the Navy didn’t immediately need. “Why should we pay for that?” asked the senators and representatives.

The Navy replied, “Because the skills required to build an aircraft carrier were so hard won over so many decades that if we don’t build one now, we’ll forget how to do it in ten years.”

The Navy wanted the old hands, the engineers and craftsmen who had built the world-class ships no other country could match, to pass down to the younger generation the skills they would need to build what no one else on earth could build. The only way to do that was by actually doing it, to actually put the team through every step of designing and assembling the ship.

Congress funded the project because, despite all our complaints about their inefficiency, partisan bickering, and general ineffectiveness, they had more foresight than most of our corporations. Instead of looking at the next earnings report, they were looking decades into the future.

Companies in the software industry, from the largest corporations to the smallest start-ups, are off-loading creative work to bots because the short-term payoff is immense. Why pay ten developers to crank out one product per year when you can pay four people to crank out ten products with the help of Claude or Codex?

For managers and investors, this looks like an obvious win. But the bill will come due soon enough. The cost of maintaining millions of lines of code is enormous, especially when no one fully understands the code because no one actually wrote it. Fixing bugs, adding features, and integrating new technologies into existing code is hard work. That work also will go to the bots, and in the long run, society will come to rely on systems that people did not create and people do not understand.

As for me, a once-creative developer who worked hard to block out uninterrupted time each day so I could get deep into that creative flow state, the process of software development is no longer so rewarding. I am no longer so deeply immersed in my work. I don’t learn on the job the way I once did. I respond to the bot’s code suggestions and pull requests the same way most people answer their email and Slack queues. My job is to react, not to create.

As I wind down my career in software engineering, I think of the artisans of the mid-twentieth century, the woodworkers and metal craftsman who watched as the advent of plastic manufacturing undercut their work in ways from which they could not and would not recover. Sure, the toys and tools and instruments the craftsmen made showed a level of dedication that the factory-produced plastic models couldn’t match. But so what? To the public, a good-enough plastic toy was good enough. And if it broke in six months, it was so cheap they could buy another.

Those millions of plastic products now pollute our oceans. The Great Pacific Garbage Patch is now three times the size of France.[2]

This is where our internet is going now as AI, in the process of doing other useful work, cranks out the digital equivalent of a million tons of plastic debris each day.

And while computer programming, once a creative endeavor, has now been reduced to the task of minding the bots, remember that in your free time, your mind is still free and you may turn its energies to whatever you please. I still write as often as possible, and every time I emerge from that flow state, I feel like I’ve come back with something new from the depths of my own mind. Ideas that were once only vaguely felt are now more clearly articulated, and each becomes a step toward something higher, toward thoughts I could not have articulated at all, or even begun to think, without the practice of writing.

When choosing what to do with your time, choose wisely. Your library has more books than you could ever read. Your friends and family have hearts and desires the bots can never fathom. You mind, once you remove the noise of the world at large, is still capable of imagination, creativity and flow.

Find it!


[1] The Rand corporation has published papers in the issue of the Navy losing critical engineering skills through atrophy and Defense News wrote a related summary of the problem at https://www.defensenews.com/opinion/2024/11/08/the-us-navy-is-at-risk-of-losing-vital-shipbuilding-skills/

[2] https://en.wikipedia.org/wiki/Great_Pacific_Garbage_Patch