Best of daily.devJune 2026

  1. 1
    Article
    Avatar of aisnakeoilAI Snake Oil·13w

    Why AI hasn’t replaced software engineers, and won’t

    Drawing on economic data, surveys, and software engineering research, the authors argue that AI-driven mass layoffs in software engineering are largely a myth driven by 'AI washing.' Most high-profile layoffs attributed to AI were actually caused by financial pressures or investor demands. The core argument is the 'decide-execute-deliver sandwich': AI compresses the execution layer (writing code), but the decision-making and delivery/accountability layers resist automation for structural reasons, not just capability limitations. Evidence shows AI caused an 8x increase in lines of code but only 30% more releases. The distinction between 'vibe coding' (unsupervised, low-accountability) and 'agentic engineering' (human-supervised, accountable) is critical — companies cannot ship production software by replacing engineers with vibe coders. The authors are cautiously optimistic that demand for software engineers will remain strong or even grow, as cheaper software creation drives more software consumption (price elasticity), though individual career trajectories may still be rocky.

  2. 2
    Article
    Avatar of zerotomasteryZero To Mastery·12w

  3. 3
    Video
    Avatar of savvynikSavvyNik·12w

    Linus Torvalds: AI Won’t Replace Understanding Code

    Linus Torvalds shares his perspective on AI in software development, particularly its impact on the Linux kernel and open source projects. He acknowledges AI as a useful tool — comparable to compilers or assemblers — but warns it doesn't replace the need to understand code. He highlights a growing burnout problem among open source maintainers caused by low-quality, AI-generated bug reports and drive-by contributions. Torvalds advocates for local AI tools to avoid dependency on big tech, and stresses that developers who truly understand systems will use AI effectively, while those who don't will produce failing code. He distinguishes between throwaway 'vibe coding' projects and serious long-term software that requires deep understanding beyond just writing prompts.

  4. 4
    Article
    Avatar of zaidesantonManager.dev·12w

    The "I don't know, Claude wrote this" pandemic

    Engineers increasingly submit AI-generated code they don't understand, responding to architecture questions with 'I don't know, Claude wrote this.' This reflects what Google's Addy Osmani calls 'cognitive surrender' — when AI output quietly becomes your output with no verification. The post distinguishes cognitive offloading (delegating to AI while owning the answer) from cognitive surrender (fully abdicating understanding). It argues engineers must still read and understand every code change before opening a PR, and that engineering managers need to decide which skills they're willing to lose to AI versus which ones — like analyzing tradeoffs and reading code — must be preserved.

  5. 5
    Article
    Avatar of sergiolema-devSergio Lema·12w

    Why AI is Replacing Junior Developers and How Mid-Level Engineers Can Survive

    AI tools like Claude Code are displacing junior developers by handling boilerplate and basic tasks, while simultaneously flooding codebases with unoptimized, context-unaware code. Companies now seek senior engineers to clean up AI-generated messes. Using a real-world AWS SQS event ordering problem as a case study, the author demonstrates how a mid-level developer blindly accepted an AI-suggested Postgres advisory lock solution — ignoring architecture guidelines and a better alternative (SQS FIFO queues with deduplication IDs). The core advice: use AI to explore problem space and architectural alternatives, not to generate final code. Developers who own the decision-making and can explain every line of code will remain valuable; those who copy-paste AI output without understanding it will not.

  6. 6
    Article
    Avatar of css_tricksCSS-Tricks·12w

    Prop For That

    Prop For That is a new library by Adam Argyle that bridges the gap between JavaScript and CSS by exposing live CSS custom properties for things CSS can't normally access — like cursor position, scroll velocity, form states, and current time. Developers add data attributes to HTML elements to activate the underlying scripts, then use the resulting CSS variables directly in their stylesheets without writing any JavaScript themselves.

  7. 7
    Article
    Avatar of seangoedeckesean goedecke·13w

    Doing nothing at work

    Engineers should deliberately operate at 80% utilization rather than staying perpetually busy. High-impact opportunities in tech are time-dependent and require both awareness and available capacity to act on them. Constantly grinding tickets means missing chances to unblock big deals, mitigate incidents, or accelerate high-profile features. Doing nothing has real value: it reduces stress-induced mistakes, enables clearer thinking, and keeps you available for outlier events that drive outsized career impact. The post also advises avoiding glue work that the organization doesn't formally prioritize, resisting requests for uncompensated backchannel work, and delaying effort on unstable or politically weak projects until they stabilize or get cancelled.

  8. 8
    Article
    Avatar of 9adj6fgmyBobby Iliev·14w

  9. 9
    Article
    Avatar of nerdydevAdam Argyle·12w

    Prop For That · June 13, 2026

    Prop For That is a new JS library that bridges the gap between JavaScript's runtime knowledge and CSS by exposing live CSS custom properties declaratively. Instead of writing boilerplate JS to pass values like pointer position, input values, viewport size, scrollbar dimensions, battery level, or image colors into CSS, developers add a data attribute to any element and the library handles the rest. It's plugin-based so only needed features are loaded. The library also pairs well with CSS Style Queries, now supported in all major browsers, enabling powerful dynamic styling without manual JS wiring.

  10. 10
    Article
    Avatar of shiftmagShiftMag - Insightful Engineering Content·14w

  11. 11
    Video
    Avatar of fireshipFireship·12w

    One man just liberated Fable... and now it’s illegal

    Claude Fable 5, Anthropic's latest AI model with advanced coding capabilities, was pulled from public access just three days after launch following a US government export control directive signed by Commerce Secretary Howard Lutnik. The directive barred all foreign nationals from accessing Fable 5 and Mythos 5, prompting Anthropic to take both models offline entirely. The shutdown was triggered after a jailbreaker known as 'Plenty the Liberator' bypassed Fable's safety classifiers using techniques like unicode obfuscation, roleplay framing, and large-context confusion. Anthropic initially refused a takedown request but complied after the government order. The incident marks the first time a major AI company has pulled a live public model at federal direction, sparking developer backlash and speculation about whether it was a calculated pre-IPO publicity move.

  12. 12
    Article
    Avatar of astro_sourceAstro·11w

    Astro 7.0

    Astro 7.0 is a major performance-focused release delivering 15–61% faster build times. Key changes include: a new Rust-based .astro compiler replacing the previous Go compiler, a Rust-powered Markdown/MDX pipeline via the new Sätteri processor, queued rendering now stable as the default engine, and an upgrade to Vite 8 with the Rolldown bundler (10–30x faster than Rollup). Advanced Routing introduces a src/fetch.ts entrypoint for full control over the request pipeline, compatible with Hono middleware. Route caching graduates from experimental to stable, with new CDN cache providers for Netlify, Vercel, and Cloudflare. AI agent support is improved with background dev server mode (astro dev --background), automatic agent detection, and structured JSON logging for machine-readable output.

  13. 13
    Article
    Avatar of iac4jsbu0lv8wbsc85fshJoud Awad·13w

    33/60 Days System Design Questions

    A practical system design scenario where an order service using Postgres with mutable state loses the ability to reconstruct order history, leading to a billing dispute. The post presents four architectural approaches to solve the problem: Event Sourcing (append-only log as source of truth), Change Data Capture via Kafka, trigger-based audit log tables, and dual-write patterns. Readers are prompted to choose the best approach and explain their reasoning.

  14. 14
    Article
    Avatar of iac4jsbu0lv8wbsc85fshJoud Awad·11w

    47/60 Days System Design Questions

    A system design scenario presents a 6-year-old monolith with 500k lines of code and asks how to extract a Returns service without a big-bang rewrite. Four migration strategies are offered: Strangler Fig (proxy-based traffic routing), Branch by Abstraction (interface-driven internal swap), Big Bang Rewrite (parallel rebuild), and Database-First Migration (schema extraction first). The post frames the Strangler Fig pattern as the approach enabling live migration with zero freeze periods and rollback at every step.

  15. 15
    Article
    Avatar of muratbuffaloMetadata·11w

    5 Lessons at 50

    A software engineer and professor reflects on turning 50, sharing five life lessons: balancing caution without becoming overly risk-averse, understanding the world through incentives rather than stated intentions, recognizing how rare genuine competence is, pursuing work you genuinely enjoy, and maintaining a constructive attitude and cautious optimism to sustain long-term momentum.

  16. 16
    Article
    Avatar of iac4jsbu0lv8wbsc85fshJoud Awad·14w

    30/60 Days System Design Questions!

    A system design scenario presents a file upload service growing from 10TB to 100TB on AWS, where four team members advocate for different storage solutions: S3, EBS, EFS, and self-hosted MinIO. Readers are challenged to pick the right option given requirements including multi-service read access (ML pipeline, audit service), mixed file sizes (5KB to 2GB), and cost considerations at scale.

  17. 17
    Article
    Avatar of 5zahwgrigj4y3vq3jilbsDebajyati Dey·11w

  18. 18
    Article
    Avatar of vercelVercel·12w

    Introducing eve, an open-source agent framework

    Vercel has released eve in public preview — an open-source, filesystem-first TypeScript framework for building, running, and scaling AI agents. An agent is structured as a directory of files covering model config, instructions, tools, skills, subagents, channels, and schedules. Key built-in features include durable execution, sandboxed compute, human-in-the-loop approvals, subagents, and evals. Scaffolding a new agent takes a single CLI command (`npx eve@latest init`), and deploying to production is done via `vercel deploy`. The framework works with any model, any MCP server, and integrates with channels like Slack, Discord, and GitHub.

  19. 19
    Article
    Avatar of wxcnvdxbqljwuhjcbcviwDivyesh Vekariya·12w

    I Used Claude to Predict the 2026 FIFA World Cup

    An experiment using Claude to simulate the 2026 FIFA World Cup thousands of times, analyzing championship probabilities, dark horse teams, and knockout-stage outcomes. The key takeaway is that thinking in probabilities rather than single predictions reveals a richer picture of tournament possibilities.

  20. 20
    Article
    Avatar of logrocketLogRocket·13w

    The 5 Claude skills for React I can’t live without

    Claude Code skills are reusable SKILL.md instruction files that encode team conventions and workflows, preventing repeated prompting. Five practical skills for React development are covered: a planning skill that forces Claude to interview you before writing code, a project memory skill that maintains a live PROJECT-STATE.md index, a component scaffolding skill that enforces folder structure, prop typing, and Server Component defaults, a PR review skill that checks diffs against project conventions with severity-ranked findings, and a CSS-first skill that defaults to native CSS solutions before reaching for JavaScript. The post also covers which skills were removed (prop docs, Storybook generation, accessibility audits, bundle analysis, class-to-hooks migration) and why, with the key lesson being that skills should encode repeatable judgment rather than tasks requiring too much contextual discretion.

  21. 21
    Article
    Avatar of dailydevworlddaily.dev World·13w

  22. 22
    Article
    Avatar of iac4jsbu0lv8wbsc85fshJoud Awad·10w

    53/60 Days System Design Questions

    A practical system design challenge about safely migrating a PostgreSQL users table with 40 million rows and 8 active writing services — splitting a full_name column into first_name and last_name without downtime. Four strategies are presented: a risky single ALTER TABLE, a phased expand-contract migration, a dual-write table swap, or a DB view abstraction. Readers are asked to pick and justify their approach.

  23. 23
    Article
    Avatar of daily_updatesdaily.dev Changelog·11w

    Just add daily.dev/ in front of any link

    daily.dev now supports a URL shortcut feature: prepend 'daily.dev/' to any article URL in your browser's address bar to instantly navigate to its daily.dev page. If the post already exists on the platform, you land on it directly; if not, you can submit it as a shared post in one step. No browser extension required — works in any browser.

  24. 24
    Article
    Avatar of thetshaped-devThe T-Shaped Dev·12w

    You're Using React Compound Components Wrong

    Most React compound component tutorials use a `<Select>/<Option>` example that is actually the wrong use case for the pattern. Compound components are designed for layout flexibility with heterogeneous, mostly-static content (tabs, cards, toolbars), not for rendering data-driven lists. When options come from data, a plain props API is simpler, more type-safe, and easier to sort/filter/virtualize. The post also addresses the TypeScript trap of trying to restrict children via `ReactElement` types — which is leaky and unreliable — and instead advocates putting type safety in shared context, optionally using a generic factory function like `createTabs<T extends string>()` to enforce valid tab values at compile time. A quick decision rule is offered: layout → compound components; data → props; need internal state exposed → render props or hooks.

  25. 25
    Article
    Avatar of iac4jsbu0lv8wbsc85fshJoud Awad·13w

    36/60 Days System Design Questions

    A system design question exploring CDN protocol configuration for reducing tail latency in high packet-loss environments. The scenario presents a mobile app architecture where p99 latency spikes to 800ms+ on lossy networks (4G/5G transitions, flaky WiFi). Readers must choose between HTTP/2-only, HTTP/3-only, or a split HTTP/3-to-clients with HTTP/2-to-origin approach — the strategy used by Netflix and Cloudflare in production.