Turned Out to Be Easier Than We Expected
During a conversation about conference talks, a friend and I identified a favorite category: "you know that thing that used to be super hard? Turns out it's much easier now, and maybe you can do it." Curious about what others had noticed, I put the question out on Twitter.
The answers came back in a flood. Not everything on the list is equally simple, but reading them together is a refreshing reminder of how much has changed. Here are the highlights, grouped by what they make possible.
The Infrastructure Shifts
A recurring theme is that operations and deployment tasks once reserved for specialists are now approachable by a single developer:
- SSL certificates, with Let's Encrypt
- VPNs, with Wireguard
- Configuring cloud infrastructure, with Terraform
- Setting up a dev environment, with Docker
- Running your own code inside the Linux kernel, with eBPF
- Cross-compilation, as Go and Rust ship with it out of the box
- Building fast programs, with Go
- Sharing memory safely with threads, with Rust
The rise of hosted services has a similar effect on the operational side of software:
- CI/CD, with GitHub Actions, CircleCI, GitLab, and similar
- Deploying a website to a server, with Netlify or Heroku
- Running a database, with managed services like RDS
- Training neural networks, with Colab
- Making useful websites by only writing frontend code, using a variety of "serverless" backend services
- Realtime web applications, with Firebase
The Once-Escoteric, Now-Beginner
A handful of topics that used to have daunting learning curves now have a gentler on-ramp. I haven't tried these myself, but they sound genuinely exciting:
- Cryptography, with opinionated primitives like libsodium
- Live updates to web pages pushed by the server, with LiveView or Hotwire
- Embedded programming, with MicroPython
- Writing code that runs on the GPU in the browser, maybe with Unity
- Interactive theorem provers
- NLP, with Hugging Face
- Parsing, with PEG or parser combinator libraries
- Batch data processing, with Spark
- Building IDE tooling with the Language Server Protocol (LSP)
Some specific improvements are so natural that they're easy to overlook. Non-lexical lifetimes have made Rust's borrow checker considerably more ergonomic. And the slow death of Internet Explorer support means CSS and JavaScript can finally rely on modern features. In the world of machine learning, transfer learning took the punchline away from an old XKCD about image recognition—it's no longer a joke to do it yourself. Building cross-platform GUIs with Electron, or videogames with Roblox or Unity, has dropped the barrier to entry for a generation of creators.
These answers are more than a nostalgia trip; they're a working list of skills that suddenly have a much lower cost of entry.



