Live data from Hacker News

How to write a programming book

aquicarattino.com

61–70 of 71 posts

Re: How to write a programming book

#61

This is relevant to me because I'll likely be teaching Linear Algebra online in the Fall. I'm rethinking support materials from scratch. This article does not rethink its genre from scratch. And I nearly stopped reading, unwilling to take advice from a fixed pitch body font. I've learned dozens of programming languages, and I find programming books increasingly unreadable. They all give me that feeling of ADHD that a…

I would be interested in what materials you come up with, and what resources you are looking at to make your course up. Syllabus.

Re: How to write a programming book

#62
post #50
post #12

Earlier quoted context omitted.

As someone who writes programming stuff, yes this! I avoid complete beginners and aim for junior to mid. The problem is that this is still a crazy fast growing field. Say we double in number every 5 to 10 years. That means at 5 years experience you are more experienced than half the industry . That’s mindboggling. Newbies also need more help and are more willing to pay for help. Oldbies only pay for help when enterin…

That is why there is a small time window for smallish niches, like Elixir, Clojure or Rust. One has to have their eye one fashion, the crowds, the knowledge gap and the perceived utility. I personally wouldn't wanting to be competing with all the other beginner material and sufficiently advanced material would take forever to produce. But if there was a 100 page book on writing an Elixir/Phoenix app and deploying it…

> I'd pay 50$ for that.

That’s the other problem. The thing you just described is worth 6-figures when sold as a consulting deal. Why do you expect to pay just $50 for the book version?

Re: How to write a programming book

#63
post #62
post #50

Earlier quoted context omitted.

That is why there is a small time window for smallish niches, like Elixir, Clojure or Rust. One has to have their eye one fashion, the crowds, the knowledge gap and the perceived utility. I personally wouldn't wanting to be competing with all the other beginner material and sufficiently advanced material would take forever to produce. But if there was a 100 page book on writing an Elixir/Phoenix app and deploying it…

> I'd pay 50$ for that. That’s the other problem. The thing you just described is worth 6-figures when sold as a consulting deal. Why do you expect to pay just $50 for the book version?

Exactly, which is why the expert information is teased out in a couple in depth blog posts.

https://www.michael-noll.com/projects/

Does a very good job in this regard. I think if you have a consulting agency where you can train or lead on multiple projects, then a book could be a very good sales vehicle.

Re: How to write a programming book

#64
post #59

Earlier quoted context omitted.

> Generally speaking, books as a format make no sense. This is such a silly assertion. Books have been one of the most effective ways for an informed author to get large, complex topics and rich experiences into a another persons head literally since the Roman Empire. Even in today's world where we have an infinite number of other formats and media to choose from, millions of people still prefer and learn from books.…

>> “conventional tech publishers make no sense economically” [...] “It is possible to make decent money from writing technical books if you self publish and build an audience yourself.“ Do you have an example of an author doing this? (Meaning all they do is self-publish books and have disclosed financials.)

Yes, me.

My self-published book "Game Programming Patterns" has made me a lot more money every year for the past six years than I ever expected. It's not enough to live off of, at least not in an expensive city while raising a family, but it's nothing to scoff at either. I could probably make quite a bit more if I put time into marketing, supplementary materials, etc. As it is now, I just let the checks from Amazon etc. roll in and treat it as a nice bonus to my day job income.

If I lived somewhere cheaper, wrote full time, and made some adjustments in my lifestyle, I could probably get by on just my writing.

Re: How to write a programming book

#65
post #60

Earlier quoted context omitted.

If you haven't read them yet, Design Patterns, The Pragmatic Programmer, and Code Complete, will all help you.

I've glanced at design patterns, but like most programming books, it bored me to death. To me it reads like "now that you know how to hold this clumsy 90s OOP hammer, here's how to swing it". That's a far cry from architecting systems, and not a particularly motivating read for someone who's really not into that flavor of OOP (or much OOP at all).

I'm trying to think of a tactful way to phrase this, but let me just say it: If you're only willing to learn things that are in convenient, fun-to-consume packages, you'll miss out on a lot of the world's wisdom.

There are a lot of experts who have profoundly deep skills, but don't happen to write in your personally preferred writing style. Do you want that to get in the way of you learning from them? If not, you gotta meet them halfway.

I've learned a lot from well-written books. I've also learned a lot from frankly poorly-written books. Mastery takes work.

Re: How to write a programming book

#66
post #60

Earlier quoted context omitted.

I've glanced at design patterns, but like most programming books, it bored me to death. To me it reads like "now that you know how to hold this clumsy 90s OOP hammer, here's how to swing it". That's a far cry from architecting systems, and not a particularly motivating read for someone who's really not into that flavor of OOP (or much OOP at all).

I'm trying to think of a tactful way to phrase this, but let me just say it: If you're only willing to learn things that are in convenient, fun-to-consume packages, you'll miss out on a lot of the world's wisdom. There are a lot of experts who have profoundly deep skills, but don't happen to write in your personally preferred writing style. Do you want that to get in the way of you learning from them? If not, you got…

On the other hand, life is short, time is finite, and there's more to read and do and learn than any one person can do in a lifetime.

Time and time again I read things only to regret it later because I didn't get my time's worth out of it and probably could've spent that time on something more useful.

It's less a question of style and more a question of content. Do I feel like I'm learning something insightful or important? If not, I start to get bored. If it's a book people recommend a lot, I force myself to keep reading, and tend to get more and more bored. I might or might finish, but in the end I usually regret it. It's very rare for a book that doesn't start out well to do a U-turn and get good towards the end.

Re: How to write a programming book

#67
post #66

Earlier quoted context omitted.

I'm trying to think of a tactful way to phrase this, but let me just say it: If you're only willing to learn things that are in convenient, fun-to-consume packages, you'll miss out on a lot of the world's wisdom. There are a lot of experts who have profoundly deep skills, but don't happen to write in your personally preferred writing style. Do you want that to get in the way of you learning from them? If not, you got…

On the other hand, life is short, time is finite, and there's more to read and do and learn than any one person can do in a lifetime. Time and time again I read things only to regret it later because I didn't get my time's worth out of it and probably could've spent that time on something more useful. It's less a question of style and more a question of content. Do I feel like I'm learning something insightful or imp…

You make a valid point, and if you're reading fiction for pleasure then your own judgement of the experience is really the only thing that matters. However, if you're reading technical material with the aim of improving your skills, how can you tell whether you are learning something insightful or important?

A classic problem, and the reason that some questionable authors with unreliable content are nevertheless among the most popular in their field, is that the student of a technical subject is by definition never going to be qualified to evaluate tutorial material aimed at their current level. We all rely on the opinions of those more skilled or experienced than ourselves to guide us, at least until we reach a level where there are no more tutorials and instead we're learning from our own experiences including original research and discussions with peers.

In the case of Design Patterns specifically, if you're not into the kind of OOP where those patterns apply then it will have much less value to you. However, I'd say anyone who is working in a language like Java, C++ or C# should have at least passing familiarity with the patterns within and their names, if only to recognise the concepts and key details when they come up in discussion with fellow developers or get mentioned in code or documentation. Some of the ideas behind those patterns are relevant in non-OOP contexts as well, but in other programming styles they are often expressed very differently, which is why I say the book would have much less (but not necessarily zero) value to someone whose interests lie away from class-based OOP.

Re: How to write a programming book

#68
post #59

Earlier quoted context omitted.

>> “conventional tech publishers make no sense economically” [...] “It is possible to make decent money from writing technical books if you self publish and build an audience yourself.“ Do you have an example of an author doing this? (Meaning all they do is self-publish books and have disclosed financials.)

Yes, me. My self-published book "Game Programming Patterns" has made me a lot more money every year for the past six years than I ever expected. It's not enough to live off of, at least not in an expensive city while raising a family, but it's nothing to scoff at either. I could probably make quite a bit more if I put time into marketing, supplementary materials, etc. As it is now, I just let the checks from Amazon e…

First, congratulations, thanks for publishing, thanks for sharing your experience!

Second, yes, maybe I was not clear, my advice relates to the average author on a simple straightforward method of write a book that reduces the odds of it not being of use of the audience it seeks.

Lastly, might be wrong, but it appears:

(A) at least on Amazon, your book appears to be rank in the top 20,000 of all books;

(B) you appear to have published a singular book;

(C) as you say, yourself, it does not make enough for someone to live in a major city;

(D) writing books is not your primary means of income;

—- to me, what I hearing does not conflict at all with my analysis and your example, to me is survivor bias: https://en.m.wikipedia.org/wiki/Survivorship_bias

——

Writing multiple best selling books year after year is VERY hard to do as a means of income. There are much easier ways to earn an income and share what you know. If someone wants to do that, awesome, though I do not have advice for doing that, nor do I know of anyone else that does; that would result in publishing 1+ successful books a year. My advice is just no nonsense take on being reducing odds of book being useful, which for the average author is much more of a challenge.

Re: How to write a programming book

#69
post #68

Earlier quoted context omitted.

Yes, me. My self-published book "Game Programming Patterns" has made me a lot more money every year for the past six years than I ever expected. It's not enough to live off of, at least not in an expensive city while raising a family, but it's nothing to scoff at either. I could probably make quite a bit more if I put time into marketing, supplementary materials, etc. As it is now, I just let the checks from Amazon e…

First, congratulations, thanks for publishing, thanks for sharing your experience! Second, yes, maybe I was not clear, my advice relates to the average author on a simple straightforward method of write a book that reduces the odds of it not being of use of the audience it seeks. Lastly, might be wrong, but it appears: (A) at least on Amazon, your book appears to be rank in the top 20,000 of all books; (B) you appear…

All of that is true, but it's also worth balancing that with the fact that when I was writing that book, I was only spending about an hour a day on it, and now I spend zero hours a day. The long tail of passive income seems to be pretty long so far.

You're right that it will be hard for many people to make a living solely off writing technical books. But I also think it's true that you can make more money that most people realize just by not giving a traditional publisher a huge cut of it. Maybe not enough to live on, but likely enough to make it worth your while.

Re: How to write a programming book

#70

This is relevant to me because I'll likely be teaching Linear Algebra online in the Fall. I'm rethinking support materials from scratch. This article does not rethink its genre from scratch. And I nearly stopped reading, unwilling to take advice from a fixed pitch body font. I've learned dozens of programming languages, and I find programming books increasingly unreadable. They all give me that feeling of ADHD that a…

Good luck with the LA book. It is a beautiful subject with so many applications, so a great opportunity to do an original take on it.

In case this is might be helpful, here is a preview of the LA book I wrote[1] and the condensed four-page-in-small-font tutorial version[2]. You might also consider using a computer algebra system for teaching, see [3] for my take on LA using SymPy. Last but not least, I highly recommend the CMapTools software for creating concept maps, which can really summarize the field in a very compact form[4].

[1] https://minireference.com/static/excerpts/noBSguide2LA_previ...

[2] https://minireference.com/static/tutorials/linear_algebra_in...

[3] https://github.com/minireference/noBSLAnotebooks#no-bullshit...

[4] https://minireference.com/static/tutorials/conceptmap.pdf

Post reply on HN