📚 Book club Q1 2024 – 3 Reading recommendations

This year, I track my book reading for the first time. I don’t know if I’ll keep doing it after this year or if I’ll last until the end of the year, but for now, I’m all in. This helps me reflect on my reading and remember the books I enjoyed.

Fundable: Why Some Entrepreneurs Get Funded, And Others Do Not! by Sephi Shapira

This is the best value for my time in a long time. The book is filled with concrete and practical advice, which I immediately found myself using.

Beartown by Fredrik Backman –

That’s the perfect book for me—it has lots of sports and a human story, some gender tension, and two more books in this series (Us Against You and Winners). 

STFU: The Power of Keeping Your Mouth Shut in an Endlessly Noisy World by Dan Lyons

For long parts of this book, it was a paradox to me – why write 200+ pages to say we should all shut up – just do it.

I listened to this book after also listening to Disrupted by Lyons. I like his style and narration. When listening to Disrupted, I thought that it probably damaged his employability, which turned out to be true, as he discussed in STFU.

The book can sometimes be extreme or refer to an extreme crowd (50 out of 50 in the Talkaholics test). However, I liked the book because it discusses many aspects of our lives – friends and family, work, etc.- and a few things I can immediately adapt. For example, I lowered my cell phone usage near my kids and hope to stick with it.

In one of the last chapters, he mentions Never Split the Difference by Chris Voss and Tahl Raz, which I also recently listened to. I listened to Never Split the Difference after a friend told me that she was starting to reread this book, and after listening to it, I completely understood why she wanted to reiterate it.

I read the book to improve my negotiation skills. I’m not sure there is an immediate effect, but as the two books pointed out – I talk less and actively listen more. So I try to pause before I answer, be succinct and hum, and let the other person talk.

5 interesting things (08/03/2024)

(Almost) Every infrastructure decision I endorse or regret after 4 years running infrastructure at a startup – in my current role as a CTO of an early-stage startup, I make many choices about tools, programming languages, architecture, vendors, etc. This retrospective view was fascinating not only for the tools themselves but also for the arguments.

https://cep.dev/posts/every-infrastructure-decision-i-endorse-or-regret-after-4-years-running-infrastructure-at-a-startup/

Everything You Can Do with Python’s textwrap Module – I have used Python for more than 10 years and never heard of textwrap model. Maybe you, too, haven’t heard of it.

https://towardsdatascience.com/everything-you-can-do-with-pythons-textwrap-module-0d82c377a4c8

It was never about LLM performance – I couldn’t agree more. The performance gaps between different LLMs are becoming neglectable. Now, it is about the experience you build using those models and the guardrails you put in to ensure the experience.

https://read.technically.dev/p/it-was-never-about-llm-performance

How to build an enterprise LLM application: Lessons from GitHub Copilot – the post ends with a summary of 3 key takeaways – 

  • Identify a focused problem and thoughtfully discern an AI’s use cases.
  • Integrate experimentation and tight feedback loops into the design process
  • As you scale, continue to leverage user feedback and prioritize user needs

Those takeaways are general and correct for almost every product launch I can think of. The post provides more concrete tips for LLM applications. It is interesting to read about a product on such a scale that I use it on a daily basis.

https://github.blog/2023-09-06-how-to-build-an-enterprise-llm-application-lessons-from-github-copilot/

Speaking for Hackers – public speaking is hard. From choosing a topic, submitting a CFP, preparing your talk and slides, and wrapping it all up. Every step can be tricky, and each of us has other things that are harder for us. This site provides excellent materials for all the parts before, during, and after the talk, making it easier to step out of our shells and share the knowledge.

https://sfhbook.netlify.app/

5 interesting things (09/02/2024)

Closing the women’s health gap: A $1 trillion opportunity to improve lives and economies – a McKinsey report that highlights the gender health gap and points to the opportunity – potential for a $1 trillion economic gain with additional societal impact. One interesting point is that there are gaps and flaws throughout the value chain – drug effectiveness, therapy access, research functions, etc. This hints that there are many opportunities out there that can make a significant impact.

https://www.mckinsey.com/mhi/our-insights/closing-the-womens-health-gap-a-1-trillion-dollar-opportunity-to-improve-lives-and-economies

Slashing Data Transfer Costs in AWS by 99% – one of the costs developers often forget or dismiss when considering architecture is the cost of data transfer. The solution described in this post is elegant and demonstrates the effect of deep knowledge and understanding of the domain. Simple to trivial architectural decisions can cost so much.

https://www.bitsand.cloud/posts/slashing-data-transfer-costs

3 questions that will make you a phenomenal rubber duck – I previously mentioned that debugging skills are essential, and it is important to iterate and refine them. I especially liked the 3rd question – “If your hypothesis were wrong, how could we disprove it?” as it forces one to think the other way around and see a slightly bigger picture.

https://blog.danslimmon.com/2024/01/18/3-questions-that-will-make-you-a-phenomenal-rubber-duck

Product Managing to Prevent Burnout – burnout is more common than we think and can have many causes. Moreover, different people would react differently to different cultures and would burn out or not burn out accordingly. The most important takeaway is that managing and controlling burnout is a team sport; it is not only the concern of the direct manager, but product managers can also participate in this effort. (I strongly recommend the honeycomb blog)

https://www.honeycomb.io/blog/product-managing-prevent-burnout

The “errors” that mean you’re doing it right – I was able to identify or witness almost all the errors mentioned in the post. I also think some of those errors, such as Letting someone go soon after hiring, Pivoting a strategy just after creating it, etc, could be attributed to the sunk cost fallacy. And if we want to make the opening sentence more extreme – “If you don’t make mistakes, you’re not working”.

https://longform.asmartbear.com/good-problems-to-have

5 interesting things (15/01/2024)

SQL as API – I saw several efforts to expose RDBMS as API over the years. This post suggests another engel – exposing an API that accepts SQL. Consider this a brain teaser.

https://valentin.willscher.de/posts/sql-api/

SomeEstimates –  For me, the loss of trust described in the post is the most harassing implication of a culture where estimates are often missed –

“Another negative outcome is a loss of trust between developers and management since a constant sense of urgency is tantamount to no sense of urgency at all.”

https://www.shaiyallin.com/post/someestimates

How to Make Anthropic’s Claude Models Consistently Generate Valid JSON – Gettign valid and consistent JSON from LLM is an issue. Prompt engineering, as described in this post, can solve some of those issues; the json_repair package mentioned there can solve additional problems. With the GPT store announced this week and the evolving models, I believe this will be solved soon in one way or another.

https://levelup.gitconnected.com/how-to-make-anthropics-claude-models-consistently-generate-valid-json-d74ce037ca46

Bonus – https://github.com/mangiucugna/json_repair

My PostgreSQL wishlist – Another brain teaser. The items I most relate to are having created_at and updated_at columns created and maintained automatically and being immutable. I’m curious to follow the comments on this post.

https://ryanguill.com/postgresql/sql/2024/01/08/postgresql-wishlist.html

Everyday storytelling for engineers. The CAO Method – Although storytelling has become an overused buzzword in the last few years (I thought it was already over the hill). This post is important not due to the specific method but to the recognition that ICs practice storytelling every day, and mastering this skill can affect your promotion, career path, tasks you get, etc. 

https://tonyfreed.substack.com/p/everyday-storytelling-for-engineers

5 interesting things (13/12/2023)

Engineering Team Lessons from Cycling – having a background in team sports (Rugby) and individual sports (running), I enjoy such posts that bring experience from one domain to another.

https://benjiweber.co.uk/blog/2023/10/15/engineering-team-lessons-from-cycling/

How to (and how not to) design REST APIs – although I read several posts about REST API best practices, I found this post very insightful, reasoned, and with great examples.

https://github.com/stickfigure/blog/wiki/how-to-(and-how-not-to)-design-rest-apis

Handling a Regional Outage: Comparing the Response From AWS, Azure and GCP – luckily for the post author, all the major cloud services had regional outages in the last while, so he can compare their responses. This will not tip the scales when choosing a cloud provider but will let you know what to expect. It is also an interesting thought on handling outages as a provider.

https://open.substack.com/pub/pragmaticengineer/p/handling-a-regional-outage-comparing

Python Errors As Values – it is sometimes tough to move from one technology to another – being a newbie all over again, thinking differently, adapting to a new ecosystem, etc. It also makes you ponder concepts that were previously perceived as obvious. For example, the approach for errors in Python. Without spoilers – there is an elegant Pythonic way to implement it.

https://www.inngest.com/blog/python-errors-as-values

croniter – this is a cron utilities package. For example, it helps you find the next time a cronjob should be called given a datetime object. It can also find the previous iteration, validate a cron expression, test if a datetime matches a cron condition, etc.

https://github.com/kiorky/croniter

6 Thoughts on Smart Brevity

Another one bites the dust – I just finished hearing “Smart Brevity: The Power of Saying More with Less” by Jim VandeHei, Mike Allen, and Roy Schwartz. One of my chief complaints about engineering training is the dismissal of communication skills – speaking, reading, and writing.

Effective communication for developers is everywhere –

  • Being succinct and accurate in daily meetings
  • Opening clear tickets so others can understand, reproduce, and prioritize
  • Effectively communicate their work, suggestions, etc.

Here are some thoughts I had while reading the book –

  1. Using LLMs – chatGPT, along with other tools such as Grammarly, Wordtune, and so on, can help you tune the tone of your passage and adjust it to your audience. The book recommends asking a friend for feedback, but in 2023, we can first ask chatGPT.
  2. CV – the book suggests many scenarios for using smart brevity – social media, presentations, etc. I would also like to suggest writing a CV. Many CVs start with a short paragraph about the person. You can use this paragraph wisely.
  3. Spell out your takeaways – I understand the rationale while struggling with this advice. This is a rhetoric trick – tell your audience what is the one thing you want them to take from this talk instead of leaving it open.
  4. Amazon 6 pagers – the book starts with saying like “words overdose” and “words addicts”. Stating that since we moved to the web instead of print, the number of words is unlimited, and nobody reads them besides the headlines. Then, they refer to Amazon 6 pagers as a good example of a compact way of transferring a message. Six pages is a lot, and there is probably a way to reduce the length.
  5. Culture – I find this book very American-centric and complains that people need to be more direct. This is, of course, relative to the Israeli culture I come from. I strongly recommend reading “The Culture Map”  by Erin Meyer on this topic.
  6. Content structure – one of the repeating recommendations is to use bullet points to draw attention and help the audience focus. Additional recommendations include using bold fonts to emphasize important points, combining graphs and charts, etc. As a reader, I get this completely. As a writer who tries to distill her words, I want my words to stand out without using those tricks.

5 thoughts on Working Backwards

I had a long day of walking around and waiting a lot, so it was a good chance to listen “Working Backwards” by Colin Bryar and Bill Carr. It was more insightful than I anticipated. Here are my thoughts about it – 

  1. Corporates vs. startups – whenever I read or hear about best practices and success stories of big organizations (Amazon, Netflix, etc.), I wonder what I can adapt and what I can use for a small startup. Two things sparked my mind –
    • Hiring for diversity – the book mentioned that they cared for diversity, specifically concerning gender, from the early days of Amazon. They say that one of the groups noticed that they had some bias in their hiring process, specifically in CV screening, and wanted to improve it while not changing the bar. To eliminate biases that arise when reading women’s CVs, they modified the hiring process so that every woman who applied to the position would go through a phone interview.
    • Diving into the details – in startups, there are always fires to put away, new requests, and urgent tasks. I can improve on diving into the details, and that can put some of the fires away.
  2. “Be stubborn on the vision but flexible on the details.” – I love this quote, and I think it is one of the enablers for Amazon’s innovative culture.
  3. Blackberry inspiration – the authors mention that when designing Kindle, they were inspired by Blackberry, which was innovative for the time being as it was always synced and available. As in the examples in the Jobs to Be Done book – while the inspiration stands in place, the example is a bit outdated. Maybe I should read this next.
  4. 6 pagers – one of the justifications brought in the book for moving from PowerPoint to six pagers is that it eliminates the differences between a skilled marketing person, a junior developer, and an experienced VP and makes it more equal. I disagree with this argument. It might decrease the dependency on presentation skills, but I still think that there is a gap and experience matters even in writing – choosing the right wording and style and surfacing the relevant doubts, concerns, or benefits of the relevant stakeholders and audience. Writing is also an art, and writing a concise passage is not an easy task. 
  5. WatchNow subscription – when talking about Prime Videos, they mentioned Netflix’s early days when it was called WatchNow, and they offered a subscription to whoever had a DVD subscription. This resonates with jobs to be done advice regarding obstacles to adaptation –  offer the customers a way to try the product (freemium, limited trial, etc) before they buy it.
  6. AWS – as they say, the origin story and other stories about AWS can fill a book independently. I look forward to such a book. Having said that, they talk about the pricing of S3 and whether this should be a subscription or usage-based, what should count for usage – storage size, API calls, etc., and how the pricing was changed once they better understood the usage patterns. This is a great anecdote that even if you walk backward and prepare the PR and Q&A before you develop the product, you will learn new things when users start using it.
  7. 2 pizza teams legend – there are a few concepts associated with Amazon, such as the “2 pizza teams” which, after reading the book, I find it is highly misunderstood or very freely interpreted. On the other hand, I didn’t hear many companies or many people discussing the “Working Backwards” process, which I find far more interesting, and I wonder why one concept is so popular while another one stays in the shade.

5 thoughts on Jobs to Be Done

After it was mentioned in “Second Brain” and was waiting in my reading list for a long time, I finally listen to “Jobs to Be Done: A Roadmap for Customer-Centered Innovation” by Stephen Wunker, Jessica Wattman, and David Farber. Here are my thoughts about it –

1. Examples relevancy – The book was published in 2016 are brings several examples – slack, snapchat, etc. Are those examples still relevant? Do they still emphasize the relevant points? 

This problem is not unique to this book. One often finds an anecdote and uses it to emphasize or justify a theory. As time passes, the perspective also changes, and it sometimes differs from the theory.

2. Multiple stakeholders – B2B purchasing procedures frequently involve a varied group of stakeholders, each with their unique jobs to be done. This point of view is often not thought of and has great implications for how sales should done.

3. Emotional and Social Components – jobs to be done are not only functional tasks such as getting from here to there, wearing something, etc. Jobs to be done also have emotional and social components that should be addressed.

4. Obstacles to use and obstacles to adoption – Obstacles to adoption are challenges that restrict a consumer’s inclination to purchase a product or service. Facilitating the ease with which people can learn about and experiment with your new offering can diminish obstacles to adoption. Obstacles to use refer to impediments that hinder success, ultimately reducing a customer’s probability of ongoing product usage, acquiring supplementary features, or upgrading to more recent editions. I love this insight, and it is an important distinction, especially when one needs to prioritize.

5. Effective Brainstorming – brainstorming is discussed in long in one of the chapters. Personally, I have many doubts about group brainstorming as a way to encourage creativity. If there is one thing to take from this discussion, such a session should be well-mederated. See more here

5 thoughts on Building a Second Brain

“a wealth of information creates a poverty of attention and a need to allocate that attention efficiently among the overabundance of information sources that might consume it.”

Herbert A. Simon

The quote above appears in “Building a Second Brain” by Tiago Forte, which I finished reading last week. I strongly relate to it, and that book helps me reflect on my personal knowledge management.  

TL;DR – find a personal knowledge management method that works for you (e.g., the PARA method). It does not have to be perfect. You don’t have to shift everything. Just get it started and adjust as you go. 

Here are a few thoughts I had while reading the book –

1. Progressive Summarization – the progressive summarization technique reminded me of a joke my uncle told me a while back – a student in his first semester asked the lecturer how to prepare best for the exam. She tells him – after every class, summarize your class notes. At the end of each week, summarize all the daily summaries. At the end of each month, summarize the weekly summaries and so on. On the week before the exam, summarize the summary from the day before. They meet just before the exam, and she asks him how it went. He answers – “great, I was able to summarize everything into one word – bullshit.”

2. Divergence and Convergence – In my first or second semester in the university, I took a class on academic writing. They told us that a good academic essay is built like an hourglass. It starts with a very wide question or statement, then narrows down to a specific claim or private case, and finishes with the broader picture, zoom out, etc. See more here. Divergence and convergence are the same. You start very scattered, then connect the dots, focus, reach some advancement, and repeat.

3. Hemingway’s bridges – “The “Hemingway Bridge” is a technique used by author Ernest Hemingway in which he would stop his writing for the day only AFTER he knew what was coming next.” (here). Each of us has its own hooks that help him or her restart the next time. A few years ago, I read Hila Noga’s post about getting your programming flow going, and it is Hemingway’s bridge for developers.

4. Blog as an interface – I initially created the blog so it would be easier for me to search for links I once saw and to share with other people. One can view it as some interface to my second brain. I am still in the process of thinking about which methods are right for me to adapt from the book.

5. Listening to an e-book – I’m a big fan of highlighting and writing comments in books, papers, etc. The audiobook format is challenging for me in this aspect, and moreover, I usually listen to an e-book while doing other things like walking or driving, which misses some of the second brain practice. I still need to figure out how to tackle this. On the other hand, I use writing and notes of all kinds to unload my brain and as an easier way to access them in the future. I was very happy that the topic of offloading was widely discussed in the book.