• What Founders Should Know About Interest Rates

    Between 2008 and 2021, the market was operating under zero-interest rate policy (ZIRP). That changed in 2022 back to historically normal interest rates (5-6%) set by the Federal Reserve.

    Interest rates drive investment behavior. Low interest rate periods lead to risk taking for long-dated returns (venture capital, moonshots). High interest rates lead to short-term decisions which value revenue over growth.

    For many founders, their entire career happened under ZIRP.

    What adjustments need to be made?

    Founders should probably not model or emulate the success of companies in the last 10 years. Many investments did not appear bad during ZIRP and malinvestment doesn’t become apparent until later. As Warren Buffett said, “Only when the tide goes out do you discover who’s been swimming naked.”

    For example, it’s very unlikely a company like Uber or WeWork would happen in our current economic environment. Blitz-scaling seems less viable when the cost of capital is much higher.

    Getting stuck between environments is existential for a startup. With the changing interest rate came suppresed valuations and founders might not clear the bar for their current stage and be unable to raise more capital. Many down rounds, layoffs, and closures happened as a result.

    Building a large durable business was always important, but it wasn’t always essential. It used to be easier to make a lot of money without building a business.

    Founders need to more tightly control expenses to keep up with expectations. Efficient growth with smaller teams is much more valuable now.

    Of course there are counter examples. AI founders and investors clearly feel AI businesses are different as evidenced by the enormous amount of investments being made in the space.


  • One Question Survey

    I received a one question feature survey from Screen Studio and I thought it was the best survey I have ever received. I’m guessing the response rate was high because it was simple and relevant their user’s needs (which feature I want them to build).

    Here’s the email:

    To: me Subject: Future Screen Studio Features Body:

    Hello Screen Studio users!

    We would love to know which feature you would like to see next in Screen Studio. We value your time, so this survey has only ONE question.

    Click here to take the survey

    Your input will help us prioritize items on our roadmap.

    Thank you! Screen Studio Team

    The link goes to a Google form with one question (as promised), a list of features with a short description where you can only pick one option.


  • Learned Helplessness

    When employees lose their sense of agency they start to look outwardly as the source of their problems and solutions.

    It’s easy to accidentally create and environment of learned helplessness. You can force people come to you for an answer rather than try to figure it out on their own first. You can recognize and reward people for status quo preserving behavior rather than solving important problems.

    This is dangerous to a business because it leads to a culture of cynicism, a feeling that nothing will change. Once people start believing that, it becomes true.


  • You Can't Convince People if It Comes From a Place of Contempt

    Contempt undermines any rational argument you might make to convince another person of anything. People are not dumb, they can sense when the underlying tone is disparaging. The message gets lost in some interpretation that sounds like “you’re a bad person because you don’t believe my idea” which leads to defensiveness.

    The way to convince people is to care. Genuinely caring about what the other person thinks and says can’t be faked. Nor can one’s objectivity and sense of fallibility. When you care, you naturally become more open to receiving other ideas (not necessarily believing, just not outright rejecting them) and so does the other person.

    Next time you are trying to convince someone of something important, ask yourself, is this coming from a place of contempt?


  • One Pull Request per Day

    Productive engineers should write one pull request per day. One pull request per day creates forward momentum. Forward momentum leads to progress. Progress is how teams overcomes their biggest challenges.

    The reaction I get from engineers when I tell them they should write a PR per day is usually one of incredulity.

    What about something that takes more than a day?

    Big things can be broken down into smaller things. Breaking things down encourages rigorous thinkingβ€”if you can’t figure out what the next step is, it’s unlikely you understand the problem well enough.

    Won’t this lead to people gaming the system, writing code without substance?

    In a high trust environment, this seldom happens because the most effective people care a lot. Trust between managers and ICs is a prerequisite for high-performing teams, but even without that, it’s easy to spot this behavior and intervene.

    Another way to prevent this behavior to avoid making the count of PRs a target (Goodhart’s law). It’s a guideline and should prompt discussion.

    In the single-player scenario, fears of others gaming the system don’t matter. Do you want to be a high-performing individual contributor? It’s hard to do that without being productive.

    What about staff engineers that need to spend a lot of their time talking to people, planning, and researching?

    The unit of progress might be different for a staff engineer but the spirit is the sameβ€”make progress every day. Have you ever worked with a good staff engineer who isn’t productive?

    What if the codebase is too complicated to write a PR per day?

    Having worked in a very large and complicated codebase before, I deeply understand this concern. At the same time, some of the most productive engineers I’ve worked with in these organizations far outpaced 1 PR per day. Sometimes knowing that it is possible is enough. Sometimes it will prompt the right questions: what knowledge am I missing, what makes this difficult to contribute to, what’s holding us back?

    See also:


  • Interest Enables Transactions Across Time

    Interest rates are a technology that allows people to transact across time. Without the concept of interest, it’s only possible for two parties to transact with what is immediately in front of them, in that very same moment.

    For example: two people could barter apples for cows at a marketplace with no problem, but what if the seller of apples wanted to use the cows for one month? How should the cow owner be compensated?

    Over the course of a month, the cows have value that the owner forgoes. Maybe the apple seller will reimburse for the milk the cows produce during that time, but can only pay for it once the cows are returned. Why should the cow owner wait a month for money they could have been receiving right away?

    To make it more enticing, the apple seller agrees to pay more than the value of the cows over that period. The apple seller paid interestβ€”the price of time. Now they can transact over time and not just when they happen to both be at the market with their goods.

    See also:


  • Goodhart's Law

    Anthropologist Marilyn Strathern summarized Goodhart’s law most succinctly saying, “When a measure becomes a target, it ceases to be a good measure.”

    If a measure becomes a target, it creates incentive to hit the target. This perverse incentive leads to behaviors that can be counterproductive.


  • Mimas Has a Subsurface Ocean

    Astronomers found that Mimas has an ocean underneath it’s surface by observing and modeling it’s orbit. They found a backwards precession in the moon’s orbit meaning the shape of the elliptical orbit rotates backwards. It was previously believed the core of Mimas was solid, but if that were true, the orbit would not have a precession. After additionaly modeling, the only explanation is that it must be filled with water under the surface.

    Fascinating!

    From Nature Vol 626.


  • AI Bubble

    In Money AI Bubble, the author argues that the market is in an AI bubble. Dumb money is pushing stock prices up despite any real improvement in their businesses, and this will eventually lead to losses. As the author contends, most of this is actually an Nvidia bubble.

    The AI bubble isn’t due to advancements in software but advancements in hardware. We are riding on the coattails of hardware (GPUs) which have real costs/materials/environmental impact. (I saw the connection from a comment on HN).

    The algorithms (software) are getting better, but the long pole is the training, the enormous storage, and compute needed to create LLMs. The amount of money, infrastructure, manufacturing, environmental impact etc., needed to build large-scale generative AI is staggering (and being gobbled up mostly by Nvidia). This also makes development prohibitive to only the largest and best funded companies (leading to a VC bubble?).

    Our understanding and explanations of intelligence are no closer to the knowledge needed to create the most useful applications of artificial intelligence (self-driving cars, scientific research). What if we didn’t get closer to AGI? What if we just found what’s possible with a particular kind of fast parallel computation made possible by years of advancement in hardware?


  • The Importance of Anecdotes for B2B Businesses

    If you are running a B2B business, you need to pay attention to anecdotes more than data.

    Companies tend to become data oriented about their customers as they get larger. It becomes unwieldy to think about individual cases so they are summarized into statistics and trends.

    This is a bad thing when a small number of customers are going to end up being the most valuable (which is the case for most B2B businesses). If, for example, you dismiss problems because “only a small number of users have it” you might miss an important insight from your best or, someday your best, customers.

    This is distinctly different from B2C businesses where users have less variance in their value to the company like a social network. Those businesses, necessarily need to think about the nominal user. However, applying similar techniques and adopting a similar approach to B2B products is deeply flawed.

    I borrowed some of these ideas from A Business State of Mind on the the Colossus podcast.


  • DNA Can Be Used for Pattern Recognition

    In a recent paper, researchers were able to use the properties of DNA self-assembly to classify images. First, they encoded an image into DNA tiles. Then they used self-assembly to generate the shape of a letter that corresponded to an input image. The image classification which was 80% accurate.

    Biophysical processes happen all the time in our body and seeing how something as simple as DNA can perform complex calculations is fascinating. In a weird way, it’s easier to understand how these systems work by transposing what we would typically think of as computer algorithms into biophysical processes.

    From Nature Vol 625.

    See also:


  • Every Infrastructure Decision I Endorse or Regret

    Inspired by (Almost) Every infrastructure decision I endorse or regret, I thought it would be interesting to do the same for my startup.

    AWS

    Picking AWS

    🟩 Endorse

    There wasn’t really any discussion about this as it’s the default I’ve stuck with for the last decade. I’m sure there are things that GCP does better, but for an early-stage startup, I’d rather avoid anything exciting in this part of the stack. My only advice is to fully embrace as much of AWS as part of your stack, otherwise you will be spending a lot of time retrofitting and worrying about problems that don’t really exist (like having the optionality to change providers later).

    ECS + Fargate

    🟧 Weak Endorse

    Early on, we decided we didn’t want to manage servers. We don’t want the complexity of k8, and deploys should be immutable (as much as possible). The deploy pipeline is understandable (build image, upload, replace Fargate tasks). While it took some finagling to get it in place, we basically haven’t touched it since.

    RDS

    🟩 Endorse

    We’re not at any kind of scale where the costs would matter compared to managing a Postgres server directly. At a previous startup, I had to build all of the tooling for backups and replication, and that was a poor use of time.

    KMS

    🟩 Endorse

    I wish I would have given KMS a try sooner! It’s tightly integrated with IAM and makes secrets much easier to manage. It seems daunting at first, but once you have a runbook, it’s easy-ish to use.

    Terraform

    🟩 Endorse

    Using terraform from day 1 was a great idea. Configuration changes are checked into version control, which makes it transparent to everyone. Static analysis has made security audits easier, and automatic checks help us stay on top of security issues. It’s more likely that other engineers will make infra changes because the tooling is centralized and copy/paste-able.

    Software and SaaS

    Docker

    🟧 Weak Regret

    I’m not naive enough to believe there is an actual alternative to Docker, but the amount of grief Docker causes in local development on MacOS is very high. For deployment artifacts, I think it’s fine, but this is a clear case of Worse is Better and I accept that.

    Postgres

    🟩 Strong Endorse

    Postgres is our primary DB and our early decision to centralize on this has paid off. At previous startups I stitched together multiple databases for different purposes thinking I was using the best tool for the job. This time around, we haven’t fallen into this well-known trap.

    GitHub Actions

    🟩 Endorse

    It works out of the box, and it’s easy for engineers to fiddle with and extend. I just wish configuring beefier test runners was more comprehensible.

    Sentry

    🟩 Endorse

    I’ve used Sentry at several companies now, and it’s pretty good as an early-stage error tracking, perf regression detector, and workflow for tracking runtime bugs. It takes some effort to dial in (associating errors to users, long stack traces), and there are some quirks (sampling, sometimes partial data from structured logs??).

    Slack

    🟩 Endorse

    Starting with Slack alerts for most things is the easiest way to make sure you find issues before your customers tell you about them (if they tell you at all). We have several Slack bots to help with process and alerting. You can get pretty far with this setup without having a dedicated alerting/monitoring tool.

    Notion

    🟩 Endorse

    I’m a huge proponent of writing things down, and for engineering in particular, documentation is the first step to automation. Most of our work is product engineering at this point, so having a culture of writing briefs and communicating asynchronously makes tools like Notion essential. It used to be slow, but thankfully, it’s getting better for business users.

    Netlify

    πŸŸ₯ Regret

    Almost all of my personal websites are static sites these days, and I mostly used Netlify to avoid setting up CloudFront (good lord, it’s complicated). Unfortunately, this has become a big thorn in our side because at this point, for security reasons, we use it as a glorified FTP. It’s the only part of our infra that is not in AWS, and only a few engineers have access to it. In hindsight, I probably would have put this in Terraform and CloudFront from the beginning.

    1Password

    🟩 Strong Endorse

    It’s by far the best password manager I’ve used. Making sure all credentials are stored in 1Password from the beginning saved us a world of grief. There are decent admin tools for teams too.

    aws-vault

    🟩 Endorse

    We use IAM for authentication anytime we are accessing infrastructure. The aws-vault CLI makes this very easy to set up. I just wish it integrated with touch ID or something else to make it less clunky.

    Vanta

    🟧 Endorse-ish

    I haven’t used other providers for SOC2 to compare Vanta to, but the experience can be difficult to know what you need to do. The automated tests for infra integrated with AWS are good, as are the offboarding workflows.