Updated April 11, 2023
So much has changed in the past year, it can feel like everything is ripe for disruption, but in spite of the most disruptive year in tech I have ever seen, the biggest surprise for me on this year’s list is how little the framework ecosystem has changed.
There are lots of new players on the board (shout out to SolidJS) but the big winners from last year still dominate this year and don’t seem to be giving up much if any ground in the job market, yet (see below for data-backed evidence).
So what did change?
AI is Speeding up Developers
When I conducted my first video interview with GPT-3 in 2020, few people believed that it actually understood anything, let alone that it could produce useful code.
Fast forward to today — every developer is already at a huge disadvantage if they’re not using an AI tool like Copilot or reviewing their code for issues, bugs, and suggestions with ChatGPT.
GitHub ran a test to discover the impact of AI development tools on developer productivity (specifically, GitHub Copilot), and what they found was very interesting. In a test of 95 developers where 45 used Copilot, the Copilot users finished in 55% less time than the developers who did not use Copilot.
ChatGPT Changed the Game
In November, 2022, OpenAI dropped a bomb with ChatGPT, which became one of the fastest growing apps in history. Within a week, it had over 1 million users, and by January, it had 100 million.
I was tech lead on a natural language AI project about a decade ago and even then, I recognized the potential to disrupt every industry. I’ve been writing about it on this blog every year since 2015, trumpeting the approaching tidal wave that got going in 2020, and is now flooding into every aspect of technology. Today, that sea-change of disruption is a global reality. AI-first tools are proving their value at scale, and they’re no longer only in the hands of the super-rich.
In 2023, more AI-first tools will launch. The power of embedding models will quietly brew a revolution in things like smart chat bots with huge memory and code assistance tools that deliver insight from your entire code base.
Language models and SudoLang are transforming how developers write applications. It’s now possible to write whole functions or whole projects in pseudocode and watch an AI agents create applications for you to spec.
SudoLang: A Powerful Pseudocode Programming Language for LLMs
Pseudocode is a fantastic way to sketch programs using informal, natural language, without worrying about specific…
Agents leveraging projects like LangChain are pushing the boundaries of what language models are capable of, connecting them with things like API access, search, application frameworks, etc.
If you thought ChatGPT and Codex were cool, trust me: you ain’t seen nothin’ yet.
Front End Frameworks
TL;DR: React dominates. Angular holds a respectable second-place in job demand, but poor placement in developer satisfaction. Nothing else is close.
This year, we have some new front-end frameworks on the scene. I’m not going to attempt to tell you which one is best — only which one is in strong demand and use in the job market in 2023. I tried to gather data for the following frameworks:
According to Indeed.com, in the job market, React is mentioned in over 57% of all job listings that mention any front-end framework. Angular comes in second place at 32.5%.
TL;DR: Redux still dominates front-end state management by a landslide. Nothing else is close.
For systems where state is managed primarily on the server, tools like React Query and RTK Query have gained some momentum, and GraphQL is still a great way to flexibly query your back-end data services.
For client-side state, Redux still leads the pack by an order-of-magnitude, holding both of the top 2 positions. For good reason: Redux provides deterministic, transactional state management and still has the best middleware ecosystem available. Don’t like the boilerplate? Check out tools like Autodux, Redux Toolkit, etc. Alternatives like Zustand and Jotai may be worth a look for some use-cases, and recoil may be a good option if your UI has thousands or hundreds of thousands of elements that need atomic updates.
Full Stack Frameworks
These frameworks span both the server and the client, and often have great deployment automation features. TL;DR: Next.js enjoys a comfortable lead, but Nest.js has a respectable grip on second place. If you enjoy a more functional approach, and a focus on magical developer experience and deployment automation, Next.js is a safe bet.
I like to tell people that using Next.js with Vercel is like hiring the best DevOps team in the world, except instead of paying them salaries, they save you money. Still true, and still the best, in my opinion.
TL;DR: Web3 and cryptocurrency growth and adoption is still strong. Ethereum and EVM L2s and side-chains dominate developer traction and transaction volume by 10x.
In spite of the bear market, crypto funds still plan to invest many billions of dollars in Web3 in 2023. For example, a16z doubled down on their crypto investments, with the announcement of their $4.5B fund 4 in 2022.
In 2020, DeFi was the big story and driver of usage in Web3, but since 2021, its place has been usurped by digital assets called NFTs, representing provable scarcity and ownership for everything from video game items, to art, to music. Here’s how the blockchains are doing in terms of NFT volume over the past 30 days:
Secure by Default
In 2018, Chrome announced that it would start marking http sites as “not secure”. Since then, secure-by-default has only become more important.
But we’re in the habit of leaking information in the ids we generate for our applications. That can lead to a variety of security problems and user privacy violations. Over 10 years ago, I was concerned about identifier collisions, and I created an id standard to prevent them, which has since helped inspire UUID V6-V8.
But the first version of Cuid was not opaque. It leaks information including exact id creation time, host fingerprint, and a session counter. To solve that problem, I recently announced Cuid2. Today, app developers should be using opaque ids instead of k-sortable ids.
Today’s modern tech stack is much like last year’s. Here’s a typical example:
- React + Redux on Next.js. Deploy serverless on Vercel.
- Unit Testing with Jest and Testing Library is popular, but I have a strong preference for the simplicity of Riteway.
- Web3 with Ethereum, with high-frequency transactions on Polygon.
- Passwords are obsolete and insecure. Prefer Web3 authentication with Magic Connect or Passkeys.
- Use a secure, opaque id generator, like Cuid2.
For 1:1 mentorship, check out DevAnywhere.io.
Eric Elliott is a tech product and platform advisor, author of “Composing Software”, cofounder of EricElliottJS.com and DevAnywhere.io, and dev team mentor. He has contributed to software experiences for Adobe Systems, Zumba Fitness, The Wall Street Journal, ESPN, BBC, and top recording artists including Usher, Frank Ocean, Metallica, and many more.
He enjoys a remote lifestyle with the most beautiful woman in the world.