Posts

How to self-publish a programming book

Ayush Newatia shares his journey of making the Rails and Hotwire Codex
Buckingham Palace, as viewed from its gardens.

Today I'm excited to share a conversation with Ayush Newatia, author of the Rails and Hotwire Codex.  He describes the project as “the most challenging and rewarding professional work I’ve ever done.”

I bought his book a couple of years ago to help me learn more about building full-stack applications with the Ruby on Rails and Hotwire frameworks. It bridges the gap between beginner-level tutorials and building Rails applications in a professional setting.

Ayush and I met in London last week to collaborate on some work with Find AI, so I thought it would be fun to record a chat about how and why he published this tome about full-stack development with Ruby and Rails.

We cover:

  • How he came from the iOS + Android mobile apps to Ruby on Rails
  • Why he decided to write a book unifying Rails + mobile apps
  • How he had never made a mobile app with Rails before starting a book on this topic
  • How he motivated himself to finish the book and get it shipped
  • Why writing is a superpower for programmers
  • The value of doing hard things without taking shortcuts
  • How doing hard things is the best way to stand out as a modern knowledge worker

Watch on Youtube. Listen to a recording of this conversation on Apple PodcastsSpotify, or other podcast players.

The opportunity of tech talent agents

With the shift to remote work, companies unlocked a global labor pool. Job posts began receiving hundreds of applications each. In the past months, AI tools accelerated this problem by enabling candidates to spray-and-pray applications to hundreds of jobs at a time. Companies are struggling to hire amid a sea of noise.

According to the Paradox of Choice, when faced with multiple options, people either approach the problem as “maximizers” seeking the best option or as “satisficers” who settle for a “good enough” choice. The status quo is fine for companies looking for “good enough” candidates, such as big corporations. But for startups and small businesses that care about finding the best talent, hiring in the current environment is a nightmare.

Sometimes, unexpected answers can be found by looking at how things are done in other industries. In the case of tech hiring, the solution might be Hollywood. Movie studios don't hold open castings for the starring role of every film. Instead, they seek out proven talent. To find that proven talent, studios go to talent agents.

Compared to ten years ago, far more startups hire contractors instead of employees. This shift started with the rise of remote work, where companies structured almost all foreign hires as contractors to simplify compliance. The recent tech downturn drove more contractor and fractional hires because these workers were more flexible and expendable than employees. The slashing of middle management across companies like X and Meta further reduced incentives to hire "good enough" employees because managers became judged on output instead of headcount.

As AI has driven a recovery in the tech industry, many companies have stuck with contractors because they get work done. Contractors tend to be experienced professionals who focus on output instead of politics. And, the contractor process bypasses the slow and bureaucratic process of hiring or firing an employee.

Historically, companies leveraged external recruiters to find employees. These recruiters earned a sizeable fee per hire - typically 25% of the employee’s first-year salary. This pricing made sense in an era when employees expected to stay at a company for years. However, over time, recruiters became incentivized to have candidates change jobs frequently. By the mid-2010s, as companies such as DeveloperAuction offered employees $2,000 and a bottle of Dom Perignon to switch jobs, companies began pushing back on high recruiter fees. Recruiters have been struggling ever since.

Modern recruiting fees are rooted in US tax law. Companies can write off the fee as a business expense, but employees can’t. So, it’s cheaper for the company to pay the cost because it comes from pre-tax dollars.

Attempts to have employees pay the recruiter fees have largely failed. Lamba School popularized Income Share Agreements (ISAs), and Free Agency tested them in tech recruiting. Both companies struggled because fees were calculated on pre-tax salaries but paid post-tax, leaving employees with sticker shock as their 25% ISA ate up 40% of their take-home pay.

Hollywood originated the talent agent model. Talent agents help their clients find work, negotiate better terms, and navigate their careers. In exchange, they clients pay the agent 10% of all of their earnings. (If you work in tech recruiting, definitely read Powerhouse).

Pricing is inexact for freelance labor in tech, deal flow is inconsistent, and career growth is uncertain. A talent agent could help with all of these—setting the right price, avoiding feast-or-famine work cycles, and finding the best opportunities instead of taking the first one that comes along. The value of those services offsets a 10% fee for an independent contractor, and the contractor can classify the fee as a business expense.

Tech companies aren’t used to working with talent agents. But, they act like no-fee recruiters who can curate the best matches for a company. And that’s what startup hiring managers want right now - a curated selection of two to four outstanding candidates. Talent agents can provide the Goldilocks zone between the noise of job boards and the high fees of recruiters, with a more personal and human relationship than any marketplace can provide.

I think it’s time for people to try becoming tech talent agents. With a 10% fee, you only need to represent nine clients to make the same income as them. Finding nine clients seems more straightforward than building a job board or making one-off placements, and the revenue is recurring. Start by finding freelancers, offering to help find them clients, and setting up a deal referral agreement.

Remote work has flattened the global labor market, and hiring managers need help navigating a world of candidates. Recent tech layoffs began shifting knowledge work to be more transactional—hiring managers are no longer sitting in an office with their team, so performance matters more than “culture fit” when hiring. The most exceptional talent has realized they have more leverage than ever and can demand higher rates and more flexible terms. Companies seeking the best talent will increasingly find that talent agents are the best way to hire them.

Thanks to Aaron and Emma for reading drafts of this.

Before and after Almost Perfect

At the beginning of this year, I spent a couple of weeks at the Almost Perfect creative residence in Tokyo, run by Luis and Yuka.

This week Luis and Yuka published a podcast we recorded during my residence. The first half was recorded on the first day of my stay, and the second half was recorded on the last day. We discuss the creative process, attitudes toward work in Japan, and how my thinking evolved during my time at Almost Perfect.

Use the player below to listen, or check out the episode on Apple Podcasts or Spotify.

Coding a Booklet AI feature

This morning, I added a new feature to Booklet. I used OpenAI to suggest new posts to write, to make it easier for members to post. It looks like this:

0:00
/0:09

Booklet AI post suggestions

Inspired by a podcast I was listening to on the way to my office, I decided to record the process of building the feature and publish it as a video.

You can watch the full video below, where I go from idea to launching the feature to all Booklet communities in two and a half hours. I hope it's helpful to see how I work, the tools I use, and the process of building an AI-powered feature from scratch.

I start with an idea, implement multiple-draft post support, write an OpenAI prompt to suggest new posts, test the AI in production, tweak the prompt based on its performance, implement a skeleton loader to display the suggestions, connect the suggestions to the editor, then deploy it to all Booklet communities.

Recording a coding video is a bit of a crazy experiment, but I hope some people find it useful. If you have questions or feedback, email me.

Watch the video on YouTube →

Notes from the recording