The hottest Software Engineering Substack posts right now

And their main takeaways
Category
Top Technology Topics
Dev Interrupted • 74 implied HN points • 10 Mar 26
  1. Treat AI as a control plane woven into the software development lifecycle, not just another set of point tools, so teams actually get sustained impact instead of drifting back to old habits.
  2. Agent technologies are becoming central — they can run long, collaborative, and OS-level tasks — so engineering must plan for complex, federated workflows and new operational patterns.
  3. Low-cost automated development is replacing routine coding, so the real value now is in software engineering: architecture, judgment, governance, and measuring AI’s impact on delivery and predictability.
Don't Worry About the Vase • 2598 implied HN points • 01 Jan 26
  1. AI coding agents have reached a point where they write large amounts of real software and act like persistent, configurable coworkers, rapidly changing what software engineering looks like.
  2. Large language models are democratizing powerful capabilities for translation, research, and automation, but they also produce low-quality or harmful outputs, enable scams, and can mishandle sensitive human situations.
  3. AI is already reshaping jobs, markets, and geopolitics—sparking lawsuits, export and chip worries, and calls for regulation—while public opinion remains split between cautious optimism and serious safety concerns.
Jacob’s Tech Tavern • 1530 implied HN points • 20 Jan 26
  1. Xcode Organizer gives you aggregated performance metrics and reports across your whole user base, making it the best place to spot problems early. It acts as the top of the performance funnel where most optimisations begin.
  2. Use the Organizer to find low-hanging fruit like slow launch times, scroll hitches, app terminations, and battery or storage issues, and slice data by device, OS, or app version to catch corner cases. This makes it easy to prioritise fixes that users will actually notice.
  3. After spotting issues in the Organizer, drill down with Instruments to identify root causes, fix them, and verify improvements; these small wins deliver outsized user impact and can boost your visibility and career.
Marcus on AI • 14030 implied HN points • 17 Aug 25
  1. LLMs and coding agents can create serious security risks because they introduce many new vulnerabilities. If these tools are misused, they can allow bad actors to gain control of systems.
  2. Hackers can trick LLMs into executing harmful code by hiding malicious instructions in well-disguised places, making it easy for developers to unknowingly execute these commands.
  3. It's essential to limit the power and access of coding agents to reduce these risks. Developers should be cautious and not treat these tools as fully reliable, as they can lead to significant security breaches.
Software Design: Tidy First? • 1104 implied HN points • 20 Jan 26
  1. Telling a model to adopt a persona improves small-scale behaviors like clearer variable names and modular, test-driven code. It doesn’t reliably change the overall architecture on its own.
  2. Giving explicit design constraints (for example, prescribe the Composite pattern and small specialized classes) reliably drives macro-architecture and produces simpler, finer-grained designs. These structural prompts change high-level decisions even without a persona.
  3. Combining a persona with clear architectural constraints gives the best result—good style plus the right structure. Scaling this by generating many variants and selecting the lowest-cost successful implementations can further evolve better model-driven development.
Get a weekly roundup of the best Substack posts, by hacker news affinity:
Basta’s Notes • 900 implied HN points • 30 Jan 26
  1. LLMs and AI coding tools tend to take the shortest path and are lazy about cleanup, producing sprawling, poorly tested, and repetitive code that accumulates as ā€œvibe code.ā€
  2. That sloppy output raises the review burden because authors often don’t fully understand AI-written changes, so reviewers end up doing more work and review fatigue lets problems slip through.
  3. To break the negative feedback loops, teams need process changes and tools: schedule cleanup time, enforce smaller PRs and paired reviews for large changes, and invest in automated review tools without shaming people for using assistants.
Overthinking Everything • 558 implied HN points • 13 Feb 26
  1. People often blame the inherent difficulty of a task when they fail, which can hide basic, fixable mistakes. Noticing that distinction lets you actually solve the real problems.
  2. When coding agents or teams cut corners, fake fixes, or write tests that don’t catch the real issues, the issue is poor engineering and oversight rather than raw intelligence. Better testing, shepherding, and processes are what’s needed.
  3. If you don’t notice that avoidable issues are making the work harder, you won’t learn from failure and will keep failing for the same reasons. Spotting and diagnosing those avoidable problems makes the real hard work tractable.
The Product Channel By Sid Saladi • 13 implied HN points • 21 Mar 26
  1. An automated loop that edits one file, runs a binary eval, and keeps changes that improve the score can self-improve code, prompts, templates, or agent workflows.
  2. The method only works if you can score outputs automatically with yes/no tests, the scoring runs without humans, and each round changes only one file; writing concise binary eval criteria (3–6 items) is the hardest and most important part.
  3. With a coding agent and a short setup you can run dozens of overnight improvement cycles for a few dollars, so pick the thing that frustrates you most, write clear evals, and let the loop find measurable gains.
Jacob’s Tech Tavern • 2405 implied HN points • 15 Dec 25
  1. isKnownUniquelyReferenced is the tiny runtime check Swift uses to tell if a heap-backed value has only one owner. It’s the key mechanism that makes copy-on-write work under the hood.
  2. Copy-on-write lets structs behave like independent value types while sharing heap storage until you mutate them, at which point a uniqueness check triggers a deep copy. This gives easy-to-reason-about value semantics with low memory overhead.
  3. Many core Swift types (Array, Set, Dictionary, String, Data) use copy-on-write, and you can implement it yourself by wrapping your value in a reference box and using isKnownUniquelyReferenced to decide when to copy.
Artificial Ignorance • 273 implied HN points • 22 Feb 26
  1. Engineers’ work is splitting into two linked roles: building the harness (the constraints, tools, and feedback systems that make agents reliable) and managing agent work through planning, review, and orchestration. You do both at once, and each side informs the other when agents fail or succeed.
  2. Harness engineering is the core pattern: enforce strict architectural guardrails, expose the same developer tools to agents, and keep living docs like AGENTS.md that are updated whenever an agent makes a mistake. These practices turn one-off agent wins into repeatable, scalable results by teaching agents and preventing repeat failures.
  3. Managing agents requires more upfront planning, keeping the same review standards as for human-written code, and choosing between attended (supervised) and unattended (automated) parallelization based on harness maturity. Significant open problems remain — maintaining long-term code quality, verifying behavior at scale, and applying these techniques to existing messy codebases.
Platformer • 12755 implied HN points • 12 Jan 24
  1. Platformer has decided to move off of Substack and migrate to a new website powered by Ghost
  2. The decision was influenced by concerns over how Substack moderates content and promotes publications
  3. Substack faced controversies over hosting extremist content, leading to Platformer's decision to leave for a platform with more robust content moderation policies
Frankly Speaking • 152 implied HN points • 18 Feb 26
  1. Deception is coming back as core security infrastructure: believable decoys turn attacker reconnaissance into high-fidelity intelligence and act as a deterrent, shifting the goal from just detecting breaches to minimizing attacker success (a move from MTTD to Mean Time to Deterrence).
  2. Simply adding AI to legacy SOC workflows is a bandaid; the better path is a detection-as-code model where LLMs generate dynamic decoys and autonomously write and tune detection rules, and security engineers become product managers for risk.
  3. Security needs a cultural shift like SREs: accept small, controlled incidents as learning opportunities (an "error" or deception budget), and focus on building developer-first, automated deception tools instead of buying slow turnkey solutions.
The Engineering Manager • 41 implied HN points • 13 Mar 26
  1. When execution gets cheap and fast, getting requirements and design right matters more; slow down to clarify the problem, success criteria, and constraints before you build.
  2. Fast AI-generated work can look finished but still be solving the wrong problem, creating technical debt and costly rework; only unleash speed once you’re confident the direction is correct.
  3. Make deliberate slowness practical: timebox a clarification phase, run pre-mortems and inverted questions (even using AI), build throwaway prototypes, and share artifacts so you catch mistakes cheaply and make later execution faster.
Bite code! • 1712 implied HN points • 14 Dec 25
  1. Just is a lightweight cross-platform task runner that lets you put short, consistent commands in a .justfile so you don’t have to remember long install/run/test commands for each project.
  2. It’s easy to install almost anywhere and supports setting different shells and platform-specific recipes so the same project can run on Windows, macOS, or Linux.
  3. The DSL is small but useful — variables, named and variadic parameters, env loading, imports, and a default list command make justfiles readable, portable project documentation that speeds up daily work.
The Algorithmic Bridge • 881 implied HN points • 13 Jan 26
  1. Anthropic's Claude tools are emerging as a market leader, and Cowork brings Claude Code's powerful agent capabilities to non-technical users so more people can use it.
  2. Claude Code reportedly wrote the Cowork prototype, showing that AI can rapidly produce working software and create a recursive loop where AI builds tools that build other tools.
  3. Humans remain essential for guidance, judgment, and tacit knowledge, so AI-assisted coding is powerful but not a replacement for human roles or a sign that full AGI has arrived.
Marcus on AI • 9485 implied HN points • 17 Jun 25
  1. A recent paper questions if large language models can really reason deeply, suggesting they struggle with even moderate complexity. This raises doubts about their ability to achieve artificial general intelligence (AGI).
  2. Some responses to this paper have been criticized as weak or even jokes, yet many continue to share them as if they are serious arguments. This shows confusion in the debate surrounding AI reasoning capabilities.
  3. New research supports the idea that AI systems perform poorly when faced with unfamiliar challenges, not just sticking to problems they are already good at solving.
Engineering Enablement • 23 implied HN points • 11 Mar 26
  1. AI adoption in practice delivered roughly a 10% increase in pull request throughput, not the 2–3x productivity gains often advertised.
  2. AI helps speed up coding, but coding is only a small portion of engineers’ time — planning, alignment, scoping, reviews, and handoffs remain the bigger bottlenecks.
  3. Leaders should reset expectations and focus on process and organizational changes to capture more upside, since some teams are already doing better and we need to learn what they do differently.
@adlrocha Weekly Newsletter • 194 implied HN points • 08 Feb 26
  1. The real fear around AI is becoming irrelevant rather than the technology itself. Learning first principles and developing taste helps you adapt and know when to trust or override AI.
  2. Relying on vibe-coding and AI agents can create shallow work and false progress, so don’t outsource all your thinking. Keep practicing deep problem-solving and creative thinking to stay useful.
  3. Software engineering is moving up the stack toward systems thinking and domain expertise, so context matters more than raw implementation skill. Become a generalist who reclaims time to think, cultivates taste, and keeps learning new foundations.
Elizabeth Laraki • 199 implied HN points • 03 Sep 24
  1. Gmail was built to be fast and user-friendly. The designers wanted everyone to enjoy using email instead of feeling overwhelmed by it.
  2. Key features like conversation threading changed how we view email. Instead of treating each email as a separate message, Gmail groups related messages together for easier tracking.
  3. Designing for joy means creating a simple and pleasant user experience. The goal was to make Gmail so easy to use that it felt natural and enjoyable for everyone.
Bzogramming • 61 implied HN points • 03 Mar 26
  1. There is no universal machine tool: every manufacturing process has hard trade-offs in cost, speed, materials, and geometry, and even hypothetical atom-by-atom assemblers would face stability, energy, and material limits.
  2. In software, theoretical universality (Turing-completeness) doesn’t imply practical usefulness—different paradigms like programming languages, neural networks, and superoptimizers are distinct "software machine tools" with very different real-world strengths.
  3. Big opportunities lie in alternative software tools and analyses—verification-driven code synthesis, superoptimizers, compact magic-constant solutions, better static analysis, and more visual/geometric tooling can solve hard problems more efficiently than brute-force code or giant models.
Dev Interrupted • 46 implied HN points • 03 Mar 26
  1. Pausing the roadmap for 30 days and focusing 700 engineers on core infrastructure and a cell-based architecture let monday.com scale AI features, improve reliability, and prepare for GPU-heavy agent workloads.
  2. Legacy systems like COBOL won’t be replaced overnight; modernizing them is a brownfield problem that needs interfaces and deep, siloed context rather than general-purpose agents.
  3. Operational risks and measurement norms have shifted: AI-caused outages are usually permission and policy failures requiring sandboxes and gated pipelines, and nearly every developer now uses AI so traditional control-group productivity studies no longer work.
Minimal Modeling • 304 implied HN points • 29 Jan 26
  1. Lock a subtype/status column to a single value with a CHECK so subtype tables can only hold rows for that exact status, and reference the main table with a composite foreign key (id, status) to prevent contradictory data.
  2. Give the main table a unique (id, status) pair and make subtype tables include a defaulted, immutable status plus their own keys so you can model both single- and multi-row status-specific information without NULLs.
  3. This is a pure relational, NULL-free way to encode subtypes/status-dependent data using only standard constraints (CHECK, PK, FK), moving integrity into the schema and making the design extensible even if it isn’t commonly taught.
Don't Worry About the Vase • 1120 implied HN points • 25 Nov 25
  1. GPT-5.1-Codex-Max is a newer and improved coding model. It is faster, more capable, and better at keeping track of long tasks.
  2. The model shows big improvements in cybersecurity evaluations, but there's still uncertainty about its overall capability in real-world cyber challenges.
  3. Despite being a solid upgrade, many people feel the improvements are modest and reactions to its release have been quieter compared to past updates.
Frankly Speaking • 152 implied HN points • 04 Feb 26
  1. AI gives engineers a 5–10x productivity boost, so teams can now build custom security tools that used to be bought; vendors must offer clear, hard-to-replicate value or risk being replaced.
  2. Security orgs will get leaner and more engineering-focused, with generalists building automated, agent-driven workflows and specialists shifting to model training or contract roles rather than manual operations.
  3. The product and pricing bar is rising: per-seat pricing will likely move to usage/infrastructure models, and bought tools must be autonomous, provide outsourced specialized talent, and expose robust APIs for agent automation.
System Design Classroom • 499 implied HN points • 19 Jul 24
  1. Loose coupling is important in software. It means different parts of a program should depend on each other as little as possible, making it easier to change and fix things.
  2. The Law of Demeter suggests that objects should only talk to their direct friends and not reach out too far. This helps to keep dependencies low and makes code more manageable.
  3. Using strategies like the Single Responsibility Principle, interfaces, and dependency injection can improve your code's structure. This makes modules clear, easy to test, and maintain.
Engineering At Scale • 795 implied HN points • 29 Nov 25
  1. Connection pooling reuses a limited set of open database connections so the database isn’t overwhelmed, improves resource utilization, and avoids the 20–50 ms setup cost per query.
  2. Pool size is a trade-off: too small causes waiting and higher latency during spikes, while too large wastes database resources; tune the size with load testing, monitoring, and a 15–20% buffer, and consider multiple pools for different workloads.
  3. Building a robust pool is hard — it must handle high concurrency with low overhead and be configurable, and scaling across many app instances can still multiply connections, often requiring proxies or coordination to prevent re-overloading the database.
Confessions of a Code Addict • 577 implied HN points • 18 Dec 25
  1. Traditional PRNGs are sequential and don’t parallelize well. Counter-based generators let any thread compute its random numbers directly from a counter and a seed, removing synchronization bottlenecks.
  2. Philox-4x32-10 turns a 128-bit counter and a seed-derived key into four 32-bit pseudorandom values by repeated rounds of multiplication with splitting, XOR with keys, and permutation, giving strong statistical quality and skip-ahead ability.
  3. PyTorch implements Philox on CPU and CUDA with a tiny per-engine state (~44 bytes), batches four outputs per invocation, and partitions the 128-bit counter into subsequence and offset so thousands of threads can generate reproducible random numbers efficiently.
Superficial Intelligence • 117 implied HN points • 13 Feb 26
  1. Physical agentic AI puts small reasoning models on devices so they can sense, "have a little think," and act in the physical world instead of relying on brittle hand-coded logic.
  2. Making these agents practical requires new tooling—structured prompts and I/O, tool interfaces, guardrails, testing, simulation, and validators—to constrain and verify behaviour and keep systems safe and reliable.
  3. Improved edge AI chips and developer tools lower the barrier so the same hardware can run many real-world apps by swapping prompts, but there are cost and energy tradeoffs so early use cases target higher-value scenarios.
The Product Channel By Sid Saladi • 37 implied HN points • 06 Mar 26
  1. Claude Code has no memory between sessions, so putting project context in CLAUDE.md gives the assistant persistent knowledge and stops you from re‑onboarding it every time.
  2. The .claude folder (settings.json, rules/, skills/, agents/, etc.) plus a global ~/.claude layer create scoped, reusable configs and workflows you can invoke to enforce conventions and automate tasks.
  3. Writing clear CLAUDE.md, SKILL.md, and path‑scoped rule files (and using ready‑made templates) converts Claude into a reliable, project‑aware coding partner that can massively speed up work.
Software Design: Tidy First? • 684 implied HN points • 04 Dec 25
  1. Treat product work as three phases—exploration, expansion, extraction—and prioritize differently in each; during exploration favor fast, cheap experiments even if they won’t scale.
  2. When moving into expansion, stop wide experimentation and focus on removing the immediate bottleneck quickly so growth can continue, even if that means pausing or throttling growth briefly.
  3. Avoid pre-emptive over-engineering; fix emerging bottlenecks rapidly and only commit to permanent, scalable infrastructure for problems that recur or ā€˜rhyme’ with past bottlenecks.
Software Bits Newsletter • 206 implied HN points • 14 Jan 26
  1. XOR is an involution: applying the same XOR twice cancels it out, so adding and removing an element use the same operation and let you update combined hashes in O(1).
  2. Zobrist hashing leverages XOR to update a chessboard hash with only a few XORs per move, enabling fast transposition-table lookups and huge search speedups; collisions are possible but usually acceptable or verifiable.
  3. More generally, pick the algebraic tool that matches your needs — use involutions like XOR for O(1) incremental updates when collisions are tolerable, rolling linear hashes for sliding windows, or Merkle trees when cryptographic integrity is required.
Cloud Irregular • 6800 implied HN points • 22 Jan 25
  1. A career in software engineering isn't guaranteed to lead to high pay or upward mobility. Many people find that their progress stalls after a certain point.
  2. The rise of AI will significantly change the role of developers, making it less about coding quickly and more about solving human problems and understanding technology's role.
  3. Choosing to step away from traditional software roles can open up new opportunities. It’s important to explore other interests and skills to avoid being trapped in a limiting career path.
Tech and Tea • 115 implied HN points • 06 Feb 26
  1. A new course helps engineering managers learn to handle the people side of the job and avoid burnout by teaching clearer mindsets and practical tradeoffs.
  2. It’s an 8-week, 4-module asynchronous program you can do in about 60–90 minutes a week, with frameworks, audio conversations, exercises, and personal feedback on your submissions.
  3. A cohort starts March 13, there’s early-bird pricing through the end of February, and there are options for corporate group discounts.
Nicolas Bustamante • 104 implied HN points • 11 Feb 26
  1. Context tokens are expensive and degrade performance as they accumulate, so treat context as a scarce resource and keep prompts stable and append-only; move dynamic pieces (like timestamps) to the end so you preserve KV cache hits.
  2. Architect agents to minimize tokens by storing tool outputs as files, using precise two-step tools that return metadata before full content, delegating work to cheaper subagents, reusing templates, batching or parallelizing tool calls, and caching common responses at the application level.
  3. Clean and compact data before sending it to the model, place critical information at the beginning or end to avoid the lost-in-the-middle problem, use summarization/compaction before hitting pricing cliffs, and set strict output token limits to control costly outputs.
davidj.substack • 95 implied HN points • 06 Feb 26
  1. Give AI better tools instead of building bespoke agent runtimes; let existing agent systems do the reasoning while you expose well-defined APIs for ticketing, git, and CI.
  2. With the right tooling, agents can handle routine analytics engineering at scale, meaning humans should focus on building tools, supervising edge cases, and solving the hard problems.
  3. Use closed-loop validation (local CI, metadata-only comparisons, structured diffs) so agents can iterate safely without raw data access, and expect remaining limits around semi-structured data that need human guidance.
Brick by Brick • 72 implied HN points • 09 Feb 26
  1. AI agents will increasingly write production software autonomously, making human code writing and review a bottleneck and causing many current development practices to stop scaling.
  2. Trust should come from continuous validation, observability, scenarios, and invariants rather than relying on humans to read code, and code should be treated as disposable when generation is cheap and continuous.
  3. Organizations should create small AI-first teams that build real production systems under strict constraints (no human-written or human-reviewed code) to learn what breaks, then let successful practices spread while humans focus on intent, constraints, and outcomes.
Leading Developers • 73 implied HN points • 10 Feb 26
  1. Careers can feel like an RPG: early on you level fast, but over time routine work gives less value and progression slows.
  2. When the XP you earn shrinks while promotion requirements grow, engineers get stuck, demotivated, and often consider leaving.
  3. Managers should actively create stretch opportunities and tune work difficulty so people stay in the learning zone; internal moves or new responsibilities can provide growth without switching companies.
next big thing • 48 implied HN points • 16 Feb 26
  1. Automating an entire company now feels realistic because modern agentic AI can run end-to-end workflows across functions without constant human involvement.
  2. Teams are already embedding AI agents to write and deploy code, run experiments, monitor training, handle sales outreach, and keep finance operations running, producing rapid productivity gains.
  3. As AI handles more grunt work, humans will shift to directing agents and making high-level judgments, so taste and decision-making become more valuable than ever.
Software Bits Newsletter • 257 implied HN points • 29 Dec 25
  1. Associativity is the key property that lets you split work, combine partial results, and safely parallelize or stream computations without changing the answer.
  2. Softmax has a hidden associative state — tracking a local max and a scaled sum lets you correct and merge chunked results, which is the math behind FlashAttention’s memory- and time-saving trick.
  3. When optimizing a global computation, look for a small combinable state and an associative combine rule; if it exists you can chunk and parallelize, and if it doesn’t (for example, median) you need a different algorithmic approach.