More than one million readers
A massive milestone hit, which seemed barely possible when I launched The Pragmatic Engineer Newsletter a little over 3 years ago...
Late last week, The Pragmatic Engineer passed 1 million subscribers. It’s a number that far exceeds what I ever even secretly hoped the newsletter could achieve, but it has happened in the three and a half years since launching this newsletter on Substack.
I want to say a very special thank you to all readers and in particular to paid subscribers – this newsletter is possible thanks entirely to your support.
Below is the growth, visualized:
One surprising thing about this journey to a million is that it has involved no advertising or targeted “growth” activity: The Pragmatic Engineer relies exclusively upon organic growth in the form of word-of mouth recommendations, and Substack’s recommendations feature, with which publications recommend each other (the Pragmatic Engineer also recommends newsletters I read.)
Paid subscribers get four times as much in-depth content in their inboxes, and also The Pulse column every Thursday, too. We offer reduced, local rates for readers outside of the US and western Europe, as well as student discounts, and group subscription options for teams and companies. Many subscribers expense this newsletter to their employer’s learning and development budget. If your workplace has a budget for this, here’s an email template to send to your manager.
Today, we cover:
Who reads The Pragmatic Engineer? What I’ve learned about readers – you! Unsurprisingly, most subscribers work in software engineering or engineering leadership roles at startups, scaleups and larger tech companies.
History of the newsletter. What may look like an overnight success was actually a decade in the making. And if the pandemic of 2020-2022 hadn’t happened, the newsletter might not even exist.
Why the popularity? It’s rare for a – mostly – one-person publication to attract a very large readership. I asked media experts for their analysis, and summarize what readers say.
What’s next? Staying the same while being even more ambitious, and covering practical, timely, and under-discussed topics from across tech.
Programming note: this week there will be no The Pulse on Thursday as I’m on spring break in Florida, USA, visiting family and making the most of the superb weather.
1. Who reads The Pragmatic Engineer?
In 2024, we carried out the first survey of this newsletter’s reader base. Here’s what we learned from 2,395 responses:
85% of readers are software engineers or engineering managers, 5% are product managers, and the remaining 10% include everyone from ML/data engineers, through data scientists, tech recruiters, students, tech enthusiasts, and retired folks who like keeping up to date with the sector:
72% of readers work at scaleups, startups, or large/medium tech companies. The remaining 28% are ranked by number of mentions, below:
Traditional but tech heavy companies
Developer agencies or consultancies
Traditional, non-tech companies
Bootstrapped businesses
Academia and research labs
Public sector
Nonprofits
Other self employed folks, startup founders, and readers in between jobs
Location: US, UK+EU and tech hubs. The split:
Regional split:
US and Canada: 33%
Europe: 24%
India: 15%
Rest of Asia: 12%
Latin America: 6%
Africa: 5%
Australia and New Zealand: 3%
Middle East: 2%
Looking closer at the US, California is the state with most readers, with New York, Texas, and Washington, next:
Education: 95% of readers hold the equivalent of bachelor's degrees or above:
Age: overwhelmingly between 25-44 years old:
2. History of the newsletter
The Pragmatic Engineer was launched three and a half years ago, but the story dates back well over a decade.
2007: starting a blog about software development
Since I’ve been a professional software engineer, I’ve been blogging about things I learn on the job. I started my personal blog more than 15 years ago: in 2007, I set up a WordPress site, and published whenever I learned something new that someone else might benefit from. I published articles like Monitoring website load on an ASP.NET server, Code to resize images in .NET and PHP, or 10 things developers love about Silverlight (a now-retired Microsoft web technology). I started my blog because I observed that lots of developers whom I looked up to, ran their own blogs. I also liked the idea of sharing what I learned, and back then I measured success by the number of comments on posts. Of course, most got zero comments, but a few did generate feedback.
My most “lively” post was a performance comparison between two Object Relational Mapper tools (ORMs): the open source NHibernate, and the Microsoft-developed Entity framework. It achieved a whopping 36 comments and made me realize that performance benchmarking was harder and more nuanced than I’d assumed.
2015: starting The Pragmatic Engineer blog
By 2015, I was tired of my blog: it was a mish-mash of posts about side projects, and there was a persistent malware I was unable to get rid of from my WordPress system. So I decided to start a new blog and move to a new blogging engine. I registered the domain PragmaticEngineer.com, chose Ghost as my blog engine, and decided to only publish content on topics related to software development. At the time, I got fired up from reading the article How to achieve ultimate blog success in one easy step by Jeff Atwood (author of Coding Horror, the blog that was probably the single most-widely read at the time). He wrote:
“As near as I can tell, between RSS stats and log stats, around 100,000 people read this blog every day. Ad revenues that I’ve only reluctantly taken are significant enough now that I’ve actually entertained the idea, in my weaker moments, of becoming a full-time blogger. That is how crazy it’s gotten. I would never have predicted this outcome in a million years, and writing it all down like this actually freaks me out a little bit.
If anything, what I’ve learned is this: if I can achieve this kind of success with my blog, so can you. So if you’re wondering why the first thing I ask you when I meet you is “do you have a blog?” or “why don’t you post to your blog more regularly?,” or “could you turn that into a blog post?,” now you know why. It’s not just because I’m that annoying blog guy; it’s because I’d like to wish the kind of amazing success I’ve had on everyone I meet.
I’m just trying to share my easy one step plan to achieve Ultimate Blog Success: find a posting schedule you can live with, and stick to it for a year. Probably several years. Okay, so maybe that one step is really not quite so easy as I made it out to be. But everyone has to start somewhere, and the sooner the better.”
So I started writing – as before – about things I observed and learned while working at Microsoft, then at Skyscanner, and then Uber. Years one and two of the new blog saw around the same number of visitors as before; comfortably below 1,000 per month. Over time, a few articles achieved more traction:
My first two articles that got more than 20,000 views were:
Things I've learned transitioning from engineer to engineering manager
Distributed architecture concepts I learned while building a large payments system
For comparison, each article attracted more views than my blog had done in years! It was nice validation that my writing might have grown more interesting / relatable.
2019: starting The Pragmatic Engineer email digest
WIth the blog getting tens of thousands of visitors per month, I figured I could start inviting readers to subscribe to a monthly summary. And in July 2019, a barebones version of The Pragmatic Engineer Newsletter was born. I added this form to the bottom of all posts to invite readers to sign up:

From then on, I sent an email every 1-3 months using Mailchimp. It was a summary of articles published since the last email, and things I’d observed in the tech industry. Here’s the November 2019 issue, and the March 2020 one.
With this new barebones newsletter, blog traffic started to increase:
The email digest started to grow by around 300 emails per month, and in the first two years had 9,000 readers signing for monthly updates in their inboxes.
2020: 6-month employment break
In March 2020, the Covid-19 pandemic broke out, and with it global lockdowns. My employer’s (Uber) ridesharing business collapsed almost overnight, and within months, Uber laid off around 15% of staff. About a quarter of the team I managed was let go, which was the trigger for me to hand in my resignation and leave the company in October 2020. Here’s my last email sent from my uber.com address. When leaving, my plan – which I shared openly – was this:
Take six months to finish The Software Engineer’s Guidebook. This was a book I started to write a year back. I was making slow progress at it while working fulltime, and when I quit Uber, I had the idea of taking a “half gap year” to finish the book, and then rejoin the workforce afterwards.
Consider then launching or joining a startup in the platform engineering space by the middle of 2021 – explore ideas on things like monorepos, mobile tooling, service discoverability/ownership and others, and see if I find an idea I get excited enough about
At this time, I had a newfound financial cushion: when I joined Uber I was awarded shares, and thanks to Uber’s 2019 IPO, those shares turned into a few years’ worth of salary. Suddenly, I could afford to not need a fulltime job right away – which was an entirely new state of affairs for me. My brother, Balint, offered encouragement because he had recently taken 6 months off between jobs, after leaving his Head of Mobile Apps position at Skyscanner. He told me that by spending six months not focused on a day job, he’d learnt more about himself and found the spark to launch his own startup, Craft Docs. Check out a podcast episode with Balint on design-first engineering and Craft.
When my parents heard I intended to trade my respectable engineering manager job for life as a writer, they both gently warned me that being an author is not really a viable career. I assuaged their concerns by assuring them that it was temporary – just until I finished my book.
2021: launching The Pragmatic Engineer
Six months into writing The Software Engineer’s Guidebook, my ETA for finishing the book was still six months away. Funny how this book project was like one of those greenfield engineering projects that keeps being delayed while you keep finding out how difficult it is to get done.
At that point, I had to choose:
do I abandon the book and return to the tech industry by founding a startup, or joining one?
do I spend another 6 months working on the book, and maybe finishing it?
However, I found another option: start a paid newsletter about software engineering. At the time, Substack was rising in popularity as a platform that made starting paid publications easy, and I saw no in-depth publication focused on software engineering, startups, and Big Tech, from the point of view of us who worked at these companies.
Back when I first became an engineering manager at Uber, my then-manager advised me to buy resources to become a better manager and tech professional, and expense up to ~$500/year. I looked everywhere, but the best I found was the Harvard Business Review. Even after subscribing and reading this magazine for months, I saw no practical advice about engineering management, so I offered to write an article for them. Unsurprisingly, I received no reply, but did learn that I’d happily pay for an in-depth resource about navigating large tech workplaces as an engineer or engineering manager – if only there was one! But surely I wasn’t the only tech worker looking for an educational resource like that? So I decided to give it a go by writing it myself:

Rapid product-market fit
I launched the newsletter by creating a new Substack publication, using my own domain (pragmaticengineer.com). I chose Substack because it was the only major service supporting paid newsletters at the time, and is built to avoid lock-in: I own my domain, my email list, and all subscribers are billed directly to my business via Stripe, meaning that migrating off Substack to another service is straightforward.
I imported 9,000 email subscribers from my existing newsletter digest and those who opted to pay got weekly articles. Everyone else got the same, monthly articles as before, in extended form.
I tried to appear confident upon launching the Pragmatic Engineer, but my wife knew the real plan: set aside any and all revenue from any subscriptions, and then tackle two questions in 6 months’ time:
is there enough demand to work full-time on the newsletter?
do I enjoy doing it, given writing was only ever a side project?
If the answer was “no” to either question, I’d stop the newsletter business and refund all subscribers. Truth be told, at launch I gave myself around a 50% chance that this would be the outcome.
The first question answered itself surprisingly quickly: 1,000 people were paying for the newsletter within six weeks. Three months after launch, the newsletter became the #1 technology newsletter on Substack, and it’s remained there ever since, which I certainly never expected.
As for the second question, it has turned out that I enjoy writing about software engineering, especially because I get to talk with a lot more engineers and tech professionals doing fascinating work – far more than what I had time for when being employed at a tech company.
2022: The Pulse as an extra article
The publication started off with one deepdive per week, every Tuesday, and in the second year, I added a Thursday column called The Pulse (formerly The Scoop). Tuesday deepdives are in-depth and less time sensitive, whereas The Pulse is very much focused on the rolling news cycle as it affects tech professionals, with extra analysis.
One surprising byproduct of The Pulse has been trends I identify and analyze in weekly articles being picked up by mainstream publications like Bloomberg, The New York Times (NYT), and Business Insider – sometimes months after in The Pragmatic Engineer. A good example was NYT covering the very hot tech job market of 2021 a full 6 months after The Pragmatic Engineer, right around when that historic tech job market started cooling down.
2024: tech industry research and the Pragmatic Engineer podcast
From around year two of the newsletter, most deepdives were sourced from research and conversations with software engineers and engineering managers, such as in-depth articles on code freezes, QA engineering at Big Tech, and Lessons from bootstrapped companies founded by software engineers.
A year ago, Elin joined The Pragmatic Engineer as a tech industry researcher, and we doubled down on fresh, detail-heavy deepdives. Before joining The Pragmatic Engineer, Elin worked for 7 years at Spotify, and also interned at Google. Since arriving, Elin has led research on deepdives including:
To bring in more industry experts in software engineering/design, AI engineering and engineering management in a more personal format, I started The Pragmatic Engineer Podcast. Some of my favorite interviews include:
Software design with John Ousterhout, author of A Philosophy of Software Design
AI engineering with Chip Huyen, author of the O’Reilly new debut book “AI Engineering”
Software architecture with Grady Booch, co-inventor of UML
Developer productivity with Nicole Forsgren. creator of DORA, SPACE, lead author of Accelerate
… and many others
The newsletter also welcomes deepdives from expert software professionals in the form of guest posts. We’re always interested in hearing from readers with something to say! Published examples of these include:
How to become a more effective engineer by software engineer Cindy Sridharan
Paying down tech debt by Lou Franco, formerly Principal Software Engineer at Atlassian
Security Engineering by Nielet D'Mello, Security Engineer at Datadog
The past and future of modern backend practices by Joshua Burgin, formerly an ealy Amazon engineer
… and others
If you have in-depth expertise on a software engineering-related topic, get in touch about potentially writing a guest article. Your ideas are welcome.
3. Why the popularity?
When I launched The Pragmatic Engineer, conventional wisdom stated that it would remain permanently obscure, with zero chance of any “mainstream” visibility. In 2022, former tech journalist at The Verge, Casey Newton – author of Platformer – discussed the publication’s role in helping debunk such majority beliefs on the Dead Cat Bounce podcast:
“Let’s talk about the long tail of Substack publications. The #1 technology publication is a guy who writes about how to manage your career as an engineer. If you were to pitch this [The Pragmatic Engineer] column to any mainstream publication, they’d say:
[The Pragmatic Engineer as a concept is] way too niche. Get out of here! Our readers would hate it.’”
The New York Times reporter Katie Benner pitched in:
“One thing that I really like about this is that it shows that you can be really successful in an online platform where you have a broad audience and anybody can access you – without being sensationalist, an insane person, fighting with people, and just being generally wretched – and you can just nerd out with a bunch of people with a similar general interest.”
“New media” vanguard?
The editor of the publication is Dominic, who worked as a journalist for a decade, including at news startups. I asked him about the experience of hitting the 1 million mark at his previous workplaces. He shares:
“I worked at a general news startup called London24 in around 2011, where the target was to hit 1 million unique views (UV) per month. This took a lot of effort because the site started from zero: London24 was owned by a legacy print publisher which was in a hurry to adapt to the rapid rise of digital news consumption in a fast-changing media landscape.
To hit 1 million UVs involved publishing 10-20 news, sport, and entertainment stories per day, with an editorial team of 4, and a 3-person marketing team, plus freelancers. This took a lot of effort and involved no little stress!
One difference between The Pragmatic Engineer and that site is that The Pragmatic Engineer launched with its niche already well defined, whereas London24 was a general news website about London, which depended almost entirely on its Google results page ranking for success.
Unfortunately, London24 eventually ran out of steam. Back then, the internet was a different place: there was no Substack, so various forms of advertising were the only viable business model for publishers.”
Dominic sees The Pragmatic Engineer is an embodiment of the new media ecosystem:
“Mainstream media seems in a state of long-term disruption and decline, and the Pragmatic Engineer and other newsletters and podcasts which serve committed, niche audiences, are part of a vanguard of‘new media’ outlets which people use to get information that’s truly relevant to them.
The information ecosystem is more fragmented today, and new, authentic, and informative publications run by individuals can build loyal audiences that previously required teams of professionals and significant financial resources to attempt – with uncertain outcomes.”
A ‘peer’, not just a commentator?’
If I had to name one expert on ‘new media,’ it would be Lulu Cheng Meservey, who has been VP of comms at Substack, chief communications officer at Activision Blizzard during Microsoft’s acquisition of it, and now runs her own new media PR agency, Rostra. She helps startups to communicate clearly, advocates for founders to “go direct, or go home” and to ditch traditional PR approaches that are irrelevant today.
This is Lulu’s analysis of this publication’s journey to date:
“I think Pragmatic Engineer has grown so fast because it:
serves a clear niche, without suffering mission drift or audience capture
is staunchly independent, can’t be pressured or bought or flattered
reports from inside the arena as a peer, not just a commentator
contains no fluff, and has high signal to noise ratio
is focused much more on giving (“here are resources”) than asking (“please subscribe!”)
makes its best posts free”
Independent voice in a uniform world?
The concept of editorial independence is something I’ve designed my personal incentives to align with. When starting the newsletter, I was an angel investor in a few startups. Back then, my theory was that being an investor would help me stay closer to startups. To learn more about investing, a friend introduced me to a VC who was a partner at a large firm. We met at their London office, where I mentioned that I’d been offered the opportunity to join some VC “scouting programs” – where you get to invest on behalf of a VC firm. This VC partner said something interesting:
“Do not underrate the importance of being independent in a world where barely anyone is. In investing, almost everyone works for a VC. And if you join a VC scouting program, you’ll be associated with that specific VC and their portfolio.
However, being independent is like being ‘Switzerland:’ all parties trust you more – both startups and VCs!”
After investing in a few startups, I encountered a dilemma. When writing about a topic where one of my “investments” was relevant: would I mention this investment because it was an exciting product or service, or because I wanted to “push” it a bit? I liked to think I made such judgements based on the merits of each startup, but as The Pragmatic Engineer grew, it naturally became beneficial for companies to be mentioned in articles. I saw this as a clear source of potential conflicts of interest: it could put commercial concerns ahead of what subscribers want to read.
I resolved that this was an unacceptable risk, and so to be more independent, I ceased investing in startups three years ago. Today, I disclose whenever I mention a startup which I still have an interest in. I also have no stock in any publicly traded companies and maintain an ethics statement.
Saying no to clickbait
Not offering newsletter sponsorships and ads has been a conscious choice in favor of prioritizing depth and eliminating incentives to create “clickbait” content.
I felt that if I sold ads for the newsletter, I would be incentivized to get more views because that’s what sponsors pay for, and would end up creating sensationalist titles and shallow articles. By relying only on paid subscribers, my incentives are the opposite: to go deeper than any other publication, cover timely, practical topics, and incentivize free subscribers to want to pay for in-depth information that’s not available elsewhere.
As a note, I have opened up sponsorships for the podcast because I don’t want it to be stuck behind a paywall. But sponsors have no influence over the content, and don’t have pre-publication access, or even knowledge about the release schedule. The podcast is in its early days, and I’m more likely than not to reduce the number of sponsors over time.
The benefits of being independent are visibly paying off. As the newsletter grows, we get more inbounds from tech companies seeking coverage – often via PR agencies – and from investors who would like to get their investments in front of more eyeballs.
But we work in the other direction: instead of covering topics suggested by companies and investors, we cover subjects that paying readers care about. We reach out to engineering teams and companies that are doing cutting-edge things; right now, this includes AI engineering, the shift to fullstack engineering approaches, and we’re also looking into some hardware engineering challenges.
Here are some examples on topics we’ve avoided due to being uninterested in hype and shallow details:
Avoiding overhyped launches, including those talked up by investors. There’s a stream of media launches landing in my inbox about startups, which we tend to ignore. The related press releases are carefully worded to make things appear more impressive than they usually are. This is true even when well-known industry figures praise newly-launched startups or products. The hyped launch of Devin (dubbed the world’s “first AI software engineer” by its creator) saw prominent tech figures publicly praise this AI agent’s capabilities, but it later turned out that one of demos was faked, and Devin that oversold its capabilities to drum up interest. The reason we covered the launch was to highlight that it looked more like a marketing stunt than doomsday for human developer jobs. So far, that’s turned out to be a correct assessment.
A tough engineering challenge, solved in a sloppy way. After covering cross-platform engineering approaches, an engineering leader approached us to share a project where they built an in-house backend-driven-UI framework that was a great success for the business. The company moved from native iOS and Android engineering to this new system, and wanted to share their story. We looked closer, and the reality was different: the new UI felt wonky, and was a visible step back from best-in-class standards. Backend-driven UI projects have plenty of challenges, but this project wasn’t executed in a way the tech industry would aspire to. So we moved on.
Cool startup achieves ‘breakthrough’ that is table stakes for startups. A CTO at a startup frequently making rounds in mainstream media, wanted to tell their story of how migrating to Clojure sped up iteration speed and made the business more successful. The “breakthrough” was that the startup could now ship more frequently… that is, weekly. We were unimpressed because many world-class startups ship several times per day, and shipping weekly is a given at the majority of decent startups. So we again passed, as there was nothing new to see.
We keep inbound messages open, but deepdives are based on what we want to write about, and what you, the reader, want to read about. That matters more than what companies and VC investors would like to see.
Staying a software engineer, while writing a lot
One thing I’ve observed since writing The Pragmatic Engineer is how little I have in common with most tech reporters, simply because I’ve been a software engineer and engineering manager for years. This is not the norm.
My software engineering roots are why I keep building stuff on the side: APIs that my newsletter uses, self-service portals, and side projects like Tech Pays. My desire to stay close to software engineering is what makes me seek out engineers and hands-on tech professionals at in-person events or online. I see them as my peers, more than executives who are well versed in corporate jargon, whom I tend to avoid. Exceptions are founders and execs who remain technical, and seem more like software engineers than hands-off managers.
What readers say
During the last survey, I asked readers what you like about the newsletter. The reasons mentioned still hold up today:
Coverage of disruptive technologies and companies. Timely pieces about AI-assisted engineering, the MCP protocol, the OpenAI deepdive, have all been more popular than usual in the last few months, in line with reader feedback asking for more deepdives into trends, technologies, and companies gaining momentum.
Variety. Many of you shared that you like a varied news diet to keep the newsletter engaging. In line with this, we’ve recently published deepdives on robotics for software engineers, cross-platform mobile development, and AI engineering in the real world.
Practical research. Lots of you tell me that you value near-real time feedback on what’s happening in the job market and the industry. We cover this in The Pulse, and in deepdives like the 2025 tech market as seen by recruiters, and how tech interviews are changing.
4. What’s next?
I’m still in disbelief to have crossed the slightly mind-boggling 1-million-readers mark. Still, “doing numbers” has truly never been a goal of The Pragmatic Engineer. My success metrics are different and apply to each and every article:
Is this timely and relevant?
Am I learning something practical as a software engineer/tech professional?
Does it help fellow software engineers and engineering leaders improve at their craft?
If the answer is “yes” to all these, then the article is a success, and this is what I and our small team optimize for. One benefit of this publication is that it gives us an ‘in’ with tech professionals who usually never engage with the media. As readers of The Pragmatic Engineer, some are willing to make an exception for us, both reaching out, and answering our messages and calls.
The Pragmatic Engineer will stay true to the formula that has made you want to read it – while being even more ambitious. With Elin onboard, we have more bandwidth for tech industry research, and are connected to more engineering teams at work on cutting-edge projects and technologies.
As a sneak peek, here are some deepdives and podcast episodes coming in the near future:
Scaling ChatGPT Images: a deepdive with OpenAI’s engineering team into their largest launch to date
Inside Google’s engineering culture: an ambitious, detailed deepdive similar to Inside Meta’s engineering culture and Inside Amazon’s engineering culture
Past and future of GitHub, with GitHub CEO Thomas Dohmke
Engineering challenges of building a next-gen IDE, with the team behind the Windsurf IDE that’s rapidly becoming popular
Humanoid robots, software engineering, and AI: progress in this field, how GenAI tools are being used more, and what makes software engineering different, with MIT humanoid robots researcher and engineer, Sandor Felber.
… and many more timely, practical deepdives!
Thank you once again for being a reader, and for recommending this publication to others.
Absolutely incredible and deeply inspiring: 1M subscribers, all organic growth.
Huge congratulations, Gergely! This is more than well-deserved. Your content is one of the few I’m genuinely happy to pay for.
I have been a paid subscriber to your newsletters for over a year and when the time came to renew my subscription I did it without any hesitation. I always look forward to reading your newsletters and gaining more insights of the broader trends in the industry. As engineers, we are constantly kept busy with our daily work and its easy for us to have our blinders on to what is happening around us.
Congrats on achieving this groundbreaking milestone.