The Pragmatic Engineer 11月12日 01:15
软件工程师指南:从创作到全球发行的经验分享
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文作者分享了其撰写《软件工程师指南》的完整过程,包括与出版商合作的经历、最终选择自出版的决策,以及为书籍进行全球发行的详细步骤。作者还披露了书籍两年来的收入和销量,并特别提到了一家蒙古初创公司Nasha Tech的翻译和推广故事。文章深入探讨了书籍创作中的挑战、工具选择、市场推广策略,并为有志于写作的科技从业者提供了宝贵的经验和启示。

📚 **书籍创作历程**: 作者详细回顾了从产生写作灵感、尝试与出版商合作(如Manning),到最终决定自出版的全过程。其中阐述了与出版商合作的利弊,包括流程复杂性、分成比例以及对内容和标题的控制权等考量,最终因理念不合而分道扬镳,转而选择了更自由的自出版模式。

🛠️ **自出版工具与平台**: 文章列举了作者在自出版过程中使用的各类工具,涵盖写作(Google Docs, Craft)、电子书制作(Vellum)、读者反馈(Betabooks)、ISBN获取、书籍封面设计(Canva)等。在出版平台方面,作者选择了Amazon KDP、Ingram Spark(纸质书)以及Gumroad、Amazon KDP、Kobo Store、Google Play、PublishDrive(电子书),并提到了音频书的发行渠道Voices。

🌍 **全球发行与蒙古特色**: 作者分享了其书籍的全球发行策略,特别是与蒙古初创公司Nasha Tech的合作。Nasha Tech主动将书籍翻译成蒙古语,并进行了本地化推广,作者甚至为此前往蒙古进行交流。这一案例不仅展示了书籍跨越文化和地域的传播潜力,也突显了全球化背景下技术社区的互联互通,以及新兴市场(如蒙古)的科技发展活力。

💰 **收入与影响力**: 文章披露了《软件工程师指南》在两年内通过销售约40,000册,实现了601,589美元的收入。作者希望通过分享这些数据,激励更多科技从业者投身于写作,为技术社区贡献更多有价值的内容,并强调了优秀书籍的长期价值在于其内容的持久生命力。

💡 **克服拖延与持续迭代**: 作者坦诚了写作过程中遇到的拖延和挑战,并分享了应对策略,如制定详细的目录、设定写作节奏、利用社交媒体分享草稿以获取反馈和动力。他强调了“完成比完美更重要”的理念,并指出电子书和按需印刷的特性使得错误可以被及时修正,降低了完美主义带来的压力。

Before we start: I’ll be in San Francisco on 11 Feb, 2026. I’m working on something special for engineers and engineering leaders. I can’t wait to share more. 11 February – save the date!

Two years ago almost to the day, I published The Software Engineer’s Guidebook. Originally, it came out in paperback, then as an ebook and an audiobook. I’m happy to share that it is now available as a hardcover, and is also on the O’Reilly platform.

Hardcover edition: Durable and could make a nice gift for the holidays. You can get it here

Today, I’d like to draw back the curtain on the process of writing a book as a techie:

    Pitching to publishers. Why I ended up breaking up with a publisher.

    Self-publishing. The tools I used for writing and the platforms I published on.

    Traveling to Mongolia to meet the startup which translated the book. A 30-person startup called Nasha Tech translated the book for the benefit of their company and the Mongolian tech ecosystem.

    How much did my book earn? $601,589 in two years from sales totalling 40,000 copies, to date. We need more good books in tech, so I hope that sharing these numbers inspires other techies to write them.

    Learnings from writing my book. It’s hard to judge a book’s impact, but good books stay valuable for longer – that’s why they’re hard to write.

1. Pitching to publishers

In late 2019, I was an engineering manager at Uber, the ridesharing app. For the first time in my career, I was a manager of managers: suddenly, I had “skip level” software engineers, and it was here that the inspiration came to write a book that provides some advice and observations for these tech professionals.

During a 1:1 catchup with a new joiner skip-level engineer, they asked about getting up to speed in the workplace faster. They were at the Software Engineer 2 (L4), and wanted to figure out how to get to the Senior engineer level (L5A at Uber). I thought it would’ve been nice to give them a book with a bunch of pointers about what it takes to become an effective software engineer in this environment.

With that inspiration to write a book about professional growth at large tech companies and startups, I looked for publishers who could help make it a reality. I pitched my book to 3 publishers behind the highest quality tech books in the industry – O’Reilly, The Pragmatic Bookshelf, and Manning. O’Reilly and The Pragmatic Bookshelf passed, but Manning said yes.

Mental model of publishers in 2025. I pitched my book to the 3 most reputable tech publishers

I learned a lot by working with a publisher: the process of preparing a book to be ready for sale is much more involved than I’d assumed! I even came to appreciate why publishers may keep up to 85-90% of sales revenue, with authors typically getting 7-15% of royalties from print sales.

The chart below sets out the publication process at a typical tech book publisher, from the author pitching their idea for a book, all the way through to its launch:

Steps to publish a book with a publisher

Unfortunately, after three months with Manning and one editorial review, it was clear that the publisher and my book weren’t a good match. At the time, Manning had a very opinionated template for creating books which I felt pushed my own in a direction I wasn’t happy with: I felt the book would be dumbed down, and that following some of the guidance would weaken it. Also, I was less comfortable with some of the conditions and feared my hands could be tied if I wanted to share draft material online,. Also, I would not be able to choose the book title. So, we parted ways. You live and learn!

I shared more details about my experience of working with publishers in this article, including the financials of choosing a publisher as a writer.

2. Self-publishing

The biggest downside of not having a publisher is the lack of deadline pressure. Below is the rough structure I used for writing my book:

    Getting the idea and the motivation

    Rough outline

    Procrastination about the topic

    Table of contents

    Writing the draft – the longest part of all

    Copyediting

    Content feedback

    Final copyedit

    More procrastination about the final draft

    Production layout editing: getting the book ready for print

    Cover design

    Test printing

    Launch planning

    Launch!

Weighted table of contents

One very useful thing I took from Manning’s process is to start the book with a table of contents, where you estimate the rough number of pages one section will be about. This is helpful because the published version should not be too long or too short, so this helps set its scope and how topics should be tackled.

Here is an example of the weighted table of contents for one chapter:

My weighted table of contents

This exercise resembled estimating the size of a piece of work during the planning for a software project, and provided a sense of what the longer and shorter parts of the book would be.

Write, write, write

The biggest part of writing a book is… writing it. I tried to have some regular cadence of writing, but struggled to get into one. I ended up making progress in bursts, and shared drafts on social media – like this one on healthy and unhealthy teams. This generated more ideas and I continued writing.

It’s easy to get distracted and procrastinate. A 400-page book is too large a project to take on in one go, and sometimes parts of the book change shape: an estimated 4 pages on something can turn into 20 pages a week later. It was like treading water: not making much progress with the book as a whole and being distracted by interesting topics.

Starting The Pragmatic Engineer Newsletter to finish the book

Two years into writing the book, its completion was forever 6 months away. I realized my writing process, with no publisher involved, was inefficient and unfocused.

In August 2021, I started The Pragmatic Engineer Newsletter with the hope that writing a weekly newsletter would speed up completion of the book. My thinking was to send out a draft version of a part of the book as a newsletter every few weeks.

The idea was sound, but I quickly realized that online newsletter issues can be a lot more in-depth than a chapter in a book can be, due to the issue of space constraints. Also, newsletters are timely by nature (covering what’s happening, right now), whereas a book often covers ideas that remain relevant for years.

I am thankful to have started The Pragmatic Engineer Newsletter, but doing so didn’t hasten the publication of The Software Engineer’s Guidebook. It actually delayed it by another two years.

Tools I used for self-publishing

There’s many tools available for writing a book, not including new AI tools for generating ideas – or even doing the writing in certain cases. Here’s the tools I chose:

Publishing platforms

I publish my books on these platforms:

There’s a long tail of ebook and audiobook platforms, and it makes sense to use an aggregator service that publishes to most, if not all of them, and which then sends a combined payout, instead of lots of small payments from each platform.

Don’t forget the launch

Going with a publisher has the benefit that they coordinate launch activities, and also list your book on their New Releases pages, which leads to added awareness. Superior publishers also reach out to potential reviewers, and are hands-on in helping with the launch.

I knew I couldn’t count on launch support, so built a landing page where I collected emails of people who wanted to know when the book was released. To incentivize this, I provided details about the book, and the table of contents.

In hindsight, this was one of the best things I did: a good chunk of sales at launch came from people who received the email that the book was ready for purchase. Here’s how the book’s website looked, back then.

Landing page for the book, pre-publication

Another approach that worked well was having a dedicated social media account for the book, where I shared drafts while working on certain chapters. I was surprised by how many reshares a page or two of the work-in-progress book got, like this one.

One of many examples of sharing a work-in-progress version of a chapter. Source: X

Still, the biggest benefit of sharing drafts was that I got nearly as much feedback from social media users as from beta readers.

Procrastination is real – deal with it

Writing “the book” I’d always wanted made me freeze at times: it was something I’d never done before, it was a large project, and I wanted to get everything right.

In the end, as with software, “done is better than perfect”. Just like when working on a big software launch, the best way to make progress is to forget about how many people might use the product, and to just focus on the next task to complete… then the next… then the next.

It was amusing to remind myself that tech products I’d worked on were used by many times more people than the book could ever hope to reach – so why procrastinate? Plus, mistakes can be fixed with ebooks, they are trivial to do with a re-publish. Of course, this isn’t possible in the same way with print books, but print-on-demand means issues can be resolved in future copies.

3. Traveling to Mongolia to meet the startup which translated my book

An unexpected highlight of publishing the book was ending up in Mongolia in June of this year, at a small-but-mighty startup called Nasha Tech. This was because the startup translated my book into the Mongolian language. Here’s what happened:

A little over a year ago, a small startup from Mongolia reached out, asking if they could translate the book. I was skeptical it would happen because the unit economics appeared pretty unfavorable. Mongolia’s population is 3.5 million; much smaller than other countries where professional publishers had offered to do a translation (Taiwan: 23M, South Korea: 51M, Germany: 84M people).

But I agreed to the initiative, and expected to hear nothing back. To my surprise, nine months later the translation was ready, and the startup printed 500 copies on the first run. They invited me to a book signing in the capital city of Ulaanbaatar, and soon I was on my way to meet the team, and to understand why a small tech company translated my book!

Japanese startup vibes in Mongolia

The startup behind the translation is called Nasha Tech; a mix of a startup and a digital agency. Founded in 2018, its main business has been agency work, mainly for companies in Japan. They are a group of 30 people, mostly software engineers.

Nasha Tech’s offices in Ulaanbaatar, Mongolia

Their offices resembled a mansion more than a typical workplace, and everyone takes their shoes off when arriving at work and switches to “office slippers”. I encountered the same vibe later at Cursor’s headquarters in San Francisco, in the US.

Nasha Tech found a niche of working for Japanese companies thanks to one of its cofounders studying in Japan, and building up connections while there. Interestingly, another cofounder later moved to Silicon Valley, and advises the company from afar.

The business builds the “Uber Eats of Mongolia”. Outside of working as an agency, Nasha Tech builds its own products. The most notable is called TokTok, the “UberEats of Mongolia”, which is the leading food delivery app in the capital city. The only difference between TokTok and other food delivery apps is scale: the local market is smaller than in some other cities. At a few thousand orders per day, it might not be worthwhile for an international player like Uber or Deliveroo to enter the market.

The TokTok app: a customer base of 800K, 500 restaurants, and 400 delivery riders

The tech stack Nasha Tech typically uses:

AI tools are very much widespread, and today the team uses Cursor, GitHub Copilot, Claude Code, OpenAI Codex, and Junie by Jetbrains.

I detected very few differences between Nasha Tech and other “typical” startups I’ve visited, in terms of the vibe and tech stack. Devs working on TokTok were very passionate about how to improve the app and reduce the tech debt accumulated by prioritizing the launch. A difference for me was the language and target market: the main language in the office is, obviously, Mongolian, and the products they build like TokTok also target the Mongolian market, or the Japanese one when working with clients.

One thing I learned was that awareness about the latest tools has no borders: back in June, a dev at Nasha Tech was already telling me that Claude Code was their daily driver, even though the tool had been released for barely a month at that point!

Why translate the book into Mongolian?

Nasha Tech was the only non-book publisher to express interest in translating the book. But why did they do it?

I was told the idea came from software engineer Suuribaatar Sainjargal, who bought and enjoyed the English-language version. He suggested translating the book so that everyone at the company could read it, not only those fluent in English.

Nasha Tech actually had some in-house experience of translation. A year earlier, in 2024, the company translated Matt Mochary’s The Great CEO Within as a way to uplevel their leadership team, and to help the broader Mongolian tech ecosystem.

Also, the company’s General Manager, Batutsengel Davaa, happened to have been involved in translating more than 10 books in a previous role. He took the lead in organizing this work, and here’s how the timelines played out:

This was a real team effort. Somehow, this startup managed to produce a high-quality translation in around the same time as it took professional book publishers in my part of the world to do the same!

A secondary goal that Nasha Tech had was to advance the tech ecosystem in Mongolia. There’s understandably high demand for books in the mother tongue; I observed a number of book stands selling these books, and book fairs are also popular. The translation of my book has been selling well, where you can buy the book for 70,000 MNTs (~$19).

Book signing and the Mongolian startup scene

The book launch event was at Mongolia’s startup hub, called IT Park, which offers space for startups to operate in. I met a few working in the AI and fintech spaces – and even one startup producing comics.

Book launch event, and meeting startups inside Mongolia’s IT Park

I had the impression that the government and private sector are investing heavily in startups, and want to help more companies to become breakout success stories:

Two promising startups from Mongolia: Chimege (an AI+voice startup) AND Global (fintech). Thanks very much to the Nasha Tech team for translating the book – keep up the great work!

4. How much did my book earn?

There’s usually little information about the key topic of how much authors make from their books being published, beyond “not much”. Author Justin Garrison shared that his co-authored title Cloud Native Infrastructure earned $11,554 in its first year – and without three unexpected sponsorships, that amount would’ve been $3.500. Conventional wisdom states you should not write a book for money, but for the other benefits like building your status as an expert in a domain, or exploring a topic in more depth.

A notable exception to this rule is Designing Data Intensive Applications, whose author Martin Kleppman made $477,916 in royalties in the first 6 years of publication, as he shared. Martin published with O’Reilly, and the book sold 108,000 copies, generating around $4.50 per copy in royalties for the author. Still, Designing Data Intensive Applications is one of the most successful books, and Martin argues that a book’s real value lies in the value it creates:

“Writing a book is an activity that creates more value than it captures. What I mean with this is that the benefits that readers get from it are greater than the price they paid for the book. To back this up, let’s try roughly estimating the value created by my book.

It’s hard to quantify that, but let’s say that the people who applied ideas from the book avoided a bad decision that would have taken them one month of engineering time to rectify. (I’d actually love to claim that the time saving is much higher, but let’s be conservative in our estimates.) Thus, the 10,000 readers who applied the knowledge freed up an estimated 10,000 months, or 833 years, of engineering time to spend on things that are more useful than digging yourself out of a mess.

If I spend 2.5 years writing a book, and it saves other people 833 years of time in aggregate, that is over 300x leverage. If we assume an average engineering salary on the order of $100k, that’s $80m of value created. Readers have spent approximately $4m buying those 100,000 books, so the value created is about 20 times greater than the value captured. And this is based on some very conservative estimates.”

The Software Engineer’s Guidebook will probably be another exception; it has sold 40,000 copies and netted $601,589 in royalties in the two years since publishing:

Cumulative royalties for The Software Engineer’s Guidebook

Here is how revenue from different platforms adds up:

These are good numbers for a tech book, and it enjoyed the advantage of being published after The Pragmatic Engineer newsletter found an audience online. Thank you to everyone who purchased a copy of the book or gifted one!

It’s interesting, as someone who self-published print and audiobook versions of their title, that royalties per book sold are highest in paperback, and much lower for the ebook and the audiobook. This is because Amazon takes 70% of the purchase price of the Kindle ebook, and 75% for the audiobook, but only 40% for the print book, in marketplace fees.

Self-publishing definitely helped substantially increase the royalties generated from the book, which would be 4-8x lower if done via a publisher. At the same time, self publishing increased the amount of time and effort I needed to invest.

5. Learnings from writing my book

The impact of a book is hard to know with certainty. When I publish a newsletter article or a podcast episode, the feedback is almost immediate: I get comments, emails, and mentions about the contents for a few days – perhaps a week or two. After that, I rarely hear feedback again.

But I run into people at events and conferences who say the book helped them focus more on their career, or get a desired promotion to senior-or-above.

A lot more readers than expected find the book via recommendations or gifting. I hear stories about my book being recommended or purchased for engineers by managers, or peers, or friends – and then they felt obliged to start to read it. This kind of dynamic also exists with articles and podcast episodes, but my sense is that being given a book is a very strong nudge to invest time in the resource.

Good books stay valuable for longer – that’s why they’re hard to write. The final 18 months of writing the book mostly involved editing the existing draft. I tried to remove details that were likely to age poorly in the near to medium term future – like mentions of specific frameworks, or things that felt like short-lived fads (e.g: “web3” engineering as a category, which seems to have mostly vanished from the discourse.

Even so, I got burnt by the fast-changing nature of tech. In my last edits, I added short sections on AI, about how it’s a useful tool to learn languages with, or for getting unstuck. I gave examples of tools that were popular in 2023, and predicted they would remain relevant: ChatGPT, GitHub Copilot, and Google Bard. I figured that OpenAI would be around for at least 5 years, and that Microsoft and Google know how to name their products.

I was wrong: Google renamed Bard to Gemini four months after my book was published. In response, I removed all product mentions from an updated version of the book: who knows when the search giant will change the name again!

Ebook and audiobook sales reporting feels stuck in the 1990s. Both ebooks and audiobooks are digital products, so you’d expect it would be possible to get near-real time sales data. But the reality is that it’s not: audiobook platforms like Spotify and Audible release reports monthly (as I understand), and good luck trying to figure out which sales equate to what! This is after Audible takes 80% from sales.

Ebook reporting is similarly slow, due to sales being reported in a delayed fashion. There are so many audiobook and ebook platforms to buy on that it’s only sensible to use an aggregator like Publishdrive or Voices. This adds one more layer of abstraction and more reporting delays. I understand that print sales take months to be reported, but did not expect it to be the case with audiobooks.

Even today, I have no idea how to find out how many people have listened to the audiobook, and by now I would have hoped for better reporting. It shows that if there are few suppliers in a segment (like audiobook publishers, who use these reporting tools) and not much competition: companies can get away with poor tooling.

Amazon has an unhealthy monopoly on the audiobook and ebook sectors. Amazon generated more revenue from books sold on its site than I did, as a self-published author:

That Amazon has a take rate of 75% for audiobooks and 70% for Kindle ebooks (those priced above $10) and still controls most of the market, makes this segment look like a monopoly. I offer my ebooks and audiobooks as DRM-free versions, and am happy to see more customers choose these options over the Kindle or Audible ones. Still, market forces alone don’t feel strong enough to challenge Amazon’s dubious pricing and practices. I wrote more about Amazon’s monopolistic audiobook practices.

Looking back on the experience of writing my book, it was worth it for the thinking and organization that it forced on me. It has been an unusually long professional project that stretched across four years and I’ve learnt a lot from the process: it forced me to think deeply about topics like the importance of software architecture, and figuring out how a business works, as a Staff+ engineer. It forced me to rewrite and refine my ideas multiple times, and with each rewrite came fresh ideas and a clearer understanding of the subject. This is what really matters for software engineers to progress professionally in the industry, I believe.

Ultimately, I hope the book generates more “wealth” by helping out devs in a career rut, or who are seeking inspiration to get stronger as engineers. Obviously, commercial success is nice – and I shared those numbers in the spirit of transparency because I believe in the value of detailed, in-depth, and thoroughly researched and written information. Every anecdote helps dispel the myth that books cannot be decent earners for their authors.

If you’re in the process of writing a book, why not get in touch about doing a guest post in this publication? Personally, I’ve found guest posts tend to be a good fit for engineers midway through writing a book!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

软件工程 The Software Engineer's Guidebook 自出版 书籍创作 技术写作 全球发行 Nasha Tech 蒙古 出版经验 收入分享 Software Engineering Self-Publishing Book Creation Technical Writing Global Distribution Mongolia Publishing Experience Revenue Sharing
相关文章