return to table of content

I run a software book club

justin_oaks
22 replies
2d2h

Doing it at your company likely won't go well

This has been my experience. I led a book club at one of my jobs and it was poorly attended and those who did attend hadn't read the book.

My guess is that there is just a low percentage of people who meet all the criteria: 1) interested, 2) have the time to read the book, 3) have the commitment to read the book, and 4) social enough to attend the book club meeting.

I understand that many people are busy and may not have time to read the book or have a schedule conflict the day the book club meeting happens.

So unless your company is huge, you'll not have enough to keep a book club going. There also may be pressure to avoid using company communication tools to promote the club.

mysto
12 replies
2d2h

This has been my experience too. However, I found that changing the book club to “article club” where we all read one interesting technical article worked quite well. I have been running such a club with fortnightly meetings for over 3 years now.

KeplerBoy
7 replies
2d

Are you able to organize that on company time? Are you guys clocked in during your meetings?

I guess that wouldn't be unreasonable if the content is work related and certainly helps with attendance, but I'm not sure if that would fly within all corporations.

ska
1 replies
2d

Are you able to organize that on company time? Are you guys clocked in during your meetings?

I've approved or started (or both) this sort of thing on company time before, at more than one place.

For context, this was typically early stage R&D, and many/most of the employees had some academic background, though that ranged from "decades ago" to "we just hired you after a masters degree".

In this setting, it's a pretty natural continuation of the common "journal club" approach in academic research groups. It spreads the effort around, helps the team stay on top of new work, and generally improves professional development - if done well. It does take a bit of effort to keep fresh.

jll29
0 replies
1d22h

I think most technology companies should have that, and I've been promoting that workplaces.

The trick to make it sustainable is to make at 3-month calendar of covered papers from multiple sub-areas (e.g. data management to machine learning, new programming languages to compiler topics) and share that widely. Not every topic is relevant to everyone, so naturally each topics will only attract a subset of the crowd beyond a small number of open-minded champions, but that's okay.

serial_dev
1 replies
1d22h

(Not OP) We tried launching a book club at one of our previous companies, where we were told "no worries, take your time to read a chapter a week and take an hour to talk about it.

While in theory, everybody thought it's a good idea, not everyone had time to read it, and when it came down to it, everybody just preferred to work on their regular tasks. In the end, nobody wants to risk delaying a promised deadline because of a book club.

So it all fizzled out within a month...

Suppafly
0 replies
1d

where we were told "no worries, take your time to read a chapter a week and take an hour to talk about it.

Maybe because I've been a reader my whole life, but I can't imagine getting value out of reading a chapter a week. It's rare for me to read less than 1 book per week. Even if it were a technical or educational book, one chapter at a time is a miserable way to read something.

mysto
0 replies
2d

Yeah. The company has a general culture of enabling learning, so this fits right in. The company also does a wider book club that focuses on more non-technical topics.

eichin
0 replies
1d16h

If you're a relatively senior engineer, any reasonable company will want you to be doing knowledge sharing (or outright mentoring - which this isn't, but it falls vaguely enough in the same bucket that you can usually get positive attention for it.)

(In a previous startup, we had cross-department tech talks, partly because we had some really specialized problems, so it was useful for, say, releng to hear about what the ML team thought was interesting, and vice versa, just for generally improving communication and reducing friction. We even threw in an occasional "lightning talk" session, which was popular, though it was as much for getting people comfortable giving talks so they could level up to bigger ones.)

ASalazarMX
0 replies
2d

Not OP, but I have worked at a few companies that would't mind, as long as the articles are relevant to your work. You could even sell it as a way to enrich everyone's expertise because of the deeper technical discussion.

zeroCalories
1 replies
2d1h

Sounds fun. How do you get your list of articles?

mysto
0 replies
2d

It’s crowdsourced. People add to the list things they find interesting and would like discussed more widely. We also have round robin turns setup to decide who picks the next article to read from the pool.

islewis
1 replies
2d1h

Interested to hear more about this. What works well? What didn't?

mysto
0 replies
2d

We tried different models. One book every two months, one or more chapters of a book every month (thus finishing a whole book over a few months), and one article/video (generally requiring an hour of reading/watching time) every two weeks. My thoughts below are based on experience of those three models.

1. Reading a whole book every one or two months works well when everyone has a regular reading habit. Without that people realize that they need to read a whole book in a few days before the meeting. That either led to poor quality discussions or people showing up without reading. 2. Reading book chapters every month was less demanding but the frequency of meetings was still too low for people to build reading into their routines. 3. At two weeks the frequency was high enough that it became a routine for the engineers. 4. We also reminded everyone one day before to read the article. Even if they had forgotten to read till then it is easy to find and hour in the day to read up. 5. If the reminder was too far in advance (say 3 days before) then people ignored the reminder.

henrik_w
2 replies
1d23h

I ran a book club for 7 years when I worked at TriOptima. We were maybe 40 developers in total at the company, and around 10 would join when we picked a new book. Towards the end of one book, some people would always drop off, but there were still enough people to make it useful.

One of the key (unexpexted) benefits of it was how it facilitated discussions about SW development practices between the different teams at the company. The content was usually good for giving us new ideas to try etc, but the usefullness of the discussions surprised me.

I've written more about it here:

https://henrikwarne.com/2016/11/08/developer-book-club/

stemos
1 replies
1d10h

Thanks Henrik! Your blog post inspired me back then to start a book club at my company. It’s still running :-)

henrik_w
0 replies
1d9h

Great to hear!!

nicolas_t
1 replies
1d10h

We did a book club at my previous company. We voted on the first book, Despair by Nabokov. The interesting thing is that the ones who voted on this book didn't end up reading it. The ones who did read that book had voted on something else and, at least in my case, forced themselves to read Despair.

My guess is that a lot of those people who voted on Despair and proposed it were trying to show off how smart and educated they were but those type of people don't actually follow through because it's work.

akuchling
0 replies
1d3h

In the book club I run, we voted on books for a few years. I kept hoping the non-attending voters would choose the right books to bring them to a meeting, but the choices sometimes felt aspirational like that -- people voted for a heavy title but still didn't attend, and it was irritating to be reading dull books chosen by someone else.

So we switched to making selections in person at a session; if you can't come, you can submit suggestions, but the people who actually bother to show up make the final choices. We choose a monthly book for a whole year at a time, so we just do an hour-long discussion in December and pick 11 titles. In a monthly group you could probably do it in 10 minutes after the regular discussion.

Also, as the organizer feel free to put your thumb on the scale: pick 3 books you'd personally like to read, and ask them to choose one. You may want to be completely democratic about it, but people often appreciate someone else reading reviews and limiting the choices (avoiding the paradox of choice).

yencabulator
0 replies
1d15h

We ran a journal club at work, and it worked ok. The commitment boundary is significantly lower, and you can learn a lot from e.g. USENIX papers.

magicalhippo
0 replies
1d23h

And 5) get something out of reading software books.

Not sure what it is, but in general software books just don't do much for me.

Only one I truly liked and got a lot out of was Physically Based Rendering[1]. It had a great blend of explaining the concepts but also showing how to implement them, and for me the literal programming style worked very well in this case.

But apart from that I struggle with getting something out of software books. Not fiction though, I read tons of sci-fi (especially hard) in my 20s.

[1]: https://www.pbrt.org/

g9yuayon
0 replies
1d20h

My experience as well. I tried it a couple of times more than 10 years ago, one is covering Nancy Lynch's Distributed Algorithms, and one is Maurice Herlihy's The Art of Multiprocessor Programming. We finished about 1/4 of each of the books before running out of momentum. People simply lost interest as the content became increasingly challenging. We talked about the reasons, and the overwhelming feedback was that people lost interest because they failed to see what they learned could be applied to the job in short term, so it looked to them that the effort of learning the hard stuff wouldn't pay off.

Mainsail
0 replies
1d16h

We just started doing this and it was awesome to start but slowly I could tell people started becoming disinterested. We are contemplating another round which I think will be the deciding factor.

eatonphil
15 replies
2d3h

Hello! Happy to take questions.

jackconsidine
2 replies
2d3h

You got any in-person NYC clubs planned for this Summer?

jackconsidine
0 replies
2d2h

Oh nice, I'll check out nyc systems. Thanks!

bootsmann
2 replies
2d2h

Tangentially related but what did you think about the second half of database internals?

eatonphil
1 replies
2d2h

I thought the second half was better than the first half! Alex Petrov was in the reading group that time. Funnily, if I recall correctly, he felt the first half was better, in part, because he wrote it last with more experience.

It's a good book though.

bootsmann
0 replies
2d2h

Interesting, I put the book down at the second half because I felt it went from extremely strong to somewhat weak. If he wrote the first part last then it makes a lot more sense. Might pick it up again after this.

Completely worth it for the first part already tho.

sebg
1 replies
2d3h

I'd love to see examples of the actual groups as well as the "Intro email"?

Thanks! Really good read.

eatonphil
0 replies
2d2h

the "Intro email"

Basically a condensed version of this blog post. :)

otras
1 replies
2d2h

What was your process for starting the book club and gathering the first group of people to gather?

eatonphil
0 replies
2d2h

Mostly just posting on Twitter I think. LinkedIn, Discord, and my mailing list to a lesser degree.

loughnane
1 replies
2d2h

Is there anything you did that, in hindsight, seemed a bit too heavy-handed?

eatonphil
0 replies
2d2h

I have been lucky in not needing to moderate basically anything. I thought I'd have to do some moderation.

So, luckily, no I don't think so.

CollinEMac
1 replies
2d

What are your software book recommendations in general?

I often find that the material in the classics (programmatic programmer, mythical man-month, etc.) are so ubiquitous that I don't get much from actually reading them.

eatonphil
0 replies
2d

My only recommendation is Designing Data Intensive Applications.

I agree with you that most recommended books are so-so.

yismail
0 replies
1d23h

Is there any way to look over past discussions on the books?

julianeon
7 replies
2d2h

Any Bay Area in-person ones anyone here would recommend?

buttrpopcorn
6 replies
2d1h

I'd love to attend one in the bay. Seems like a prime crowd to target for this.

Please let me know if you find any. Happy to help start one too.

kassouni
2 replies
2d1h

I’m also interested!

better_sh
1 replies
2d1h

same!

rohit33
0 replies
1d21h

+1

ohmygeek
0 replies
1d9h

interested!

ninetyninenine
0 replies
1d15h

Interested

julianeon
0 replies
1d21h

I don't think there is one since no one has responded yet. So you should start one.

zeroCalories
6 replies
2d1h

I'm envious of your success. I'm convinced that reading dense technical books is crucial to developing yourself over time, but I have a hard time reading technical books alone. The few times I've been in a book club they started out great, but fizzled out in a couple of months. Maybe I'll look into it again.

senkora
5 replies
2d1h

This is unrelated to the book club topic, but have you considered reading dense technical books as audio books? I often do this and I find that I absorb them maybe 50% as well as if I sit down and read them, but that I read 500% more. As a result, I can re-read them a few times and still come out ahead.

(rather than actually getting an audio book version, I'll typically get the epub and use a third-party reader with a read-aloud feature. I mention this because audio books are often not available, and because first-party readers typically won't allow you to read books aloud specifically because they to upsell you on the audiobook)

chrisweekly
2 replies
2d

what reader do you use?

chrisweekly
0 replies
1d6h

thanks!

zeroCalories
1 replies
1d23h

I do listen to audio books, but I don't like them for technical books. Screen readers usually do a poor job of handling code and diagrams that are crucial for understanding something. I like talks and lectures though, but with those I suffer from a similar issue to reading alone.

senkora
0 replies
1d22h

Screen readers usually do a poor job of handling code and diagrams that are crucial for understanding something.

That's fair. This is definitely the main reason why my comprehension is lower and I have no solution for it.

susam
3 replies
1d22h

A fellow book club host here! I too have run two book clubs over Jitsi and IRC. The first one was for Introduction to Analytic Number Theory (Apostol, 1976) and the second one was for Mastering Emacs (Petersen, 2022).

Here are the meeting logs and some statistics: https://susam.net/cc/log.html

Here are some posts and content pertaining to these book clubs: https://susam.net/tag/meetup.html

Quite similar to the original post (OP), we also had about 5-8 regular participants in our meetups. However, ours were virtual rather than in-person. Given that the author of the OP mentions 5-8 consistent attendees at in-person meetups, it's quite impressive!

tux3
1 replies
1d22h

That number theory book looks like something I'd really enjoy reading. I assume you must have enjoyed the experience, but I'm curious how easy it is for everyone to move at the same pace on such a technical topic, where everyone might have a different background?

Do you feel like the pace is ever an issue with technical book clubs, or is it actually just fine?

susam
0 replies
1d22h

Most members of the analytic number theory book club were computer programmers in one form or another. A few among them had very strong background in mathematics, especially in elementary number theory and complex analysis. But nobody had any prior knowledge of analytic number theory.

The pace was not an issue for me because we used to go really slow. We read every line of the book together, ensuring we understood each argument before moving to the next one. As the meeting host, I came prepared for the meetings and spent a lot of time illustrating proofs with additional details, perspectives, and examples (see https://offbeat.cc/iant/boards/ for notes).

This approach suited me well, as I need time to digest new mathematical concepts and form intuition around them. I hope it worked for others, but we didn't survey participants, so I can't say for sure.

Sometimes we picked some exercise problems, solved them, and walked through the solutions during the meetings. But most exercises were done offline by the participants in their own time.

I have written a lot more about the learning experience here: https://susam.net/one-hundred-meetings.html

laweijfmvo
0 replies
1d22h

A book club for Introduction to Analytic Number Theory and How to Use Emacs. I guess I'm not as nerdy as I once thought!

forgot-im-old
3 replies
1d19h

After COVID, I had an epiphany. Or maybe it was just caffeine deprivation. I thought, "Why not start a book club?"

Now, the first challenge was finding fellow enthusiasts among my software engineering colleagues, who seemed to communicate exclusively in binary. During our daily stand-up, I announced, "Who here likes books?" I was met with a silence so profound that I could hear the hum of the office air conditioner. Undeterred, I added, "There will be snacks."

This got their attention. After all, the way to a programmer's heart is through their stomach. By the end of the day, I had three tentative members: Jake, who only read sci-fi, Priya, who was into self-help books, and Alex, who claimed to enjoy "anything as long as it isn't too long."

For our first meeting, I chose a conference room and sent out an email titled "Book Club Kickoff - Bring Your Appetite!" I brought in a selection of snacks: chips, cookies, and, because I was feeling fancy, a cheese platter. The turnout was surprisingly good. Even people who hadn't signed up showed up, lured by the smell of free food.

We decided to read "The Hitchhiker's Guide to the Galaxy" by Douglas Adams, which seemed to be a safe middle ground between sci-fi and humor.

littlekey
1 replies
1d18h

Delightful! But now I have to know, did it work? As in, did people actually read and discuss the book, and is the club still going?

Gooblebrai
0 replies
1d10h

This is the true question

rufus_foreman
0 replies
1d15h

> There will be snacks

Wise move. More people will come if they think you have punch and pie.

jayde2767
2 replies
2d3h

Hi,

Just curious what the frequency of meetings you found to be most effective, weekly, bi-weekly etc?

Thanks

eatonphil
0 replies
2d3h

In person I did biweekly (fortnightly) and that seemed like a fair frequency. Virtually though there's a new discussion started every week.

NortySpock
0 replies
2d2h

Just finished attending a weekly book club (Fundamentals of Software Architecture by Mark Richards and Neal Ford -- great book for mid and senior developers, as well as new architects).

2 chapters weekly worked well because the chapters were short, and were mostly brief overviews that discussed the pros and cons. (Also we had a ton of experience in the room, so that helped guide the discussion.)

If the chapters were dense I would have longer gaps between meetings to allow people more time to read and reflect.

eatonphil
0 replies
2d1h

Yes I'll keep adding people until at least this weekend when the first chapter discussion starts.

pants2
1 replies
1d22h

Ha, from the title I assumed the group would try out a different piece of software every month (new database, library, programming language etc) and come back to discuss it as a group. Honestly that sounds more fun.

eichin
0 replies
1d16h

ooh, you could probably do one of these solely on organizer apps (a friend once joked about a subscription-based organizer service where what you got from the subscription was an entirely new app every other month or so :-)

juangacovas
1 replies
1d4h

Those comments are nice to read. I tried, but my coworkers are too "young" or from other generation, I guess. The response [about simply buying a book] was "Oh, another person said it wasn't needed [to buy a book about that] since it will always be behind newer versions coming"...

eatonphil
0 replies
1d4h

A bunch of the people in my groups have been college students fwiw. It's been a complete mix of young people and experienced people. Doing it over the internet helps you cast the wide net. When you do it with only your direct friends or coworkers it can be much tougher, or hit or miss.

specialist
0 replies
2d2h

Perfect. Great summary.

Yes and: our study group use(d) approval voting to choose the next topic(s). With both suggestions and voting open to any one.

After closing nominations and before voting, we briefly chatted about each suggestion. No more than 15min, usually a lot less.

Topics (books, papers, libraries, whatever) were added to the queue, ordered by interest (votes).

The organizer calls another "election" as needed. To refill the queue, or if interest wanes, or if a book proves to be a stinker, or...

sam1r
0 replies
1d22h

> And email is built around an inbox.

More so a traditional mailbox.

I wish read receipts never existed. It doesn’t make sense to know when I check my mailbox.

noisy_boy
0 replies
1d16h

Maybe there should be a software applications club. Choose a different piece of software to discuss each time and what's everyone's experience/pain-points with it and sharing tips/tricks/ideas about it.

marcus_holmes
0 replies
1d10h

I thought this would be about installing a piece of software each month and evaluating it together. Which sounds awesome. Maybe I should go start that.

leetrout
0 replies
2d3h

Sometimes I lead book clubs that are purposefully short and low commitment. Especially for a book I know well I will pick a subset of chapters, (machete order, if you will) and run through them. I like to think it makes people curious enough to seek more on their own and my anecdata supports that.

Related, I have had mixed experiences with work book clubs. I generally like them as an outlet for my socialization needs.

Sometimes you get people seeking "brownie points" and they don't really participate.

Sometimes you get the contrarian who thinks they know better than the author and does not debate the topic(s) in good faith.

Sometimes you get eager people and have great discussion.

All that said, I think book clubs are very useful and valuable and generally have zero issue getting the time allotted at work for folks across org boundaries to participate.

beryilma
0 replies
1d17h

It must be a company culture thing. I've run book clubs on AI, C++, Code Complete, Timeseries Analysis, and research articles at my company with consistency attendance of 10-15 developers. I even had rotating facilitators and light homeworks where attendees did a decent job.

However, the company's support is very important. Fortunately, my employer pays for the books and they even have a person charged with supporting book clubs, including ordering books for you and create a Confluence template for notetaking and attendance tracking.