Links

Think of me as a web crawler with taste.

No Meetings, No Deadlines, No Full-Time Employees

Sahil Lavingia:

Because I was burned out and didn’t want to think about working any more than I needed to, I instituted a no-meeting, no-deadline culture.

For me, it was no longer about growth at all costs, but “freedom at all costs.”

At some point, it clicked: Creators make money so they can make stuff, instead of the other way around. Why not adopt this framing at Gumroad, too?

This is what working in the creator economy should feel like.

A look at the unorthodox way Gumroad operates.

Campaigns

Kelly Sutton:

A Campaign is a long-running effort to enact global change safely within a sociotechnical system.

Campaigns work well to address:

  • Technical changes with large social components.
  • Technical changes that require everyone to do a little bit of work.
  • High-value or inevitable future worlds

Work on the System

Esther Derby:

Clarity enables patterns of coherent action across the organization. Contextual understanding supports initiative–people don’t have to wait to be told what to do. It speeds Decision Making as people closer to the work have the information to make more decisions in a reasonable way. Clarity reduces the need for supervision.

Smoothing the flow of work, organizing work and teams to reduce dependencies and handoffs, is management work.

Always Be Experimenting

Gregor Hohpe:

Sadly, or perhaps luckily, most experimentation isn’t all that dramatic. It mainly means trying something new and using the results to decide a further course of action. You can experiment with a more efficient route to the office, with a new dinner recipe, or a new vacation destination. The element that distinguishes an experiment from serendipity is that you have a hypothesis that you are looking to verify or falsify based on data that you glean from running the experiment.

How to Approach Tough Decisions

Barack Obama:

But the point is, in just a few short weeks on the job, I had already realized that because every tough decision came down to a probability, then certainty was an impossibility — which could leave me encumbered by the sense that I could never get it quite right. So rather than let myself get paralyzed in the quest for a perfect solution, or succumb to the temptation to just go with my gut every time, I created a sound Decision Making process — one where I really listened to the experts, followed the facts, considered my goals and weighed all of that against my principles. Then, no matter how things turned out, I would at least know I had done my level best with the information in front of me.

Recurse Center's Social Rules

RC has four social rules. They help create a friendly, intellectual environment where you can spend as much of your energy as possible on programming.

The social rules are:

  • No well-actually’s
  • No feigned surprise
  • No backseat driving
  • No subtle -isms

One thing that often confuses people about the social rules is that we expect people to break them from time to time. This means they’re different and totally separate from our code of conduct.

Uber and the Epic Rebuild

McLaren Stanley:

Alright folks, gather round and let me tell you the story of (almost) the biggest engineering disaster I’ve ever had the misfortune of being involved in. It’s a tale of politics, architecture and the sunk cost fallacy

Application State Management With React

Kent C. Dodds:

  1. Not everything in your application needs to be in a single state object. Keep things logically separated (user settings does not necessarily have to be in the same context as notifications). You will have multiple providers with this approach.
  2. Not all of your context needs to be globally accessible! Keep state as close to where it’s needed as possible.

Reassessing Service Split-Join Criteria

Vasco Figueira:

TL;DR “Microservices” was a good idea taken too far and applied too bluntly. The fix isn’t just to dial back the granularity knob but instead to 1) focus on the split-join criteria as opposed to size; and 2) differentiate between the project model and the deployment model when applying them.

There are build patterns that give us total control over the relative visibility between components and over how they compose into deployables. One build to many deployables, many to one or anything in between is possible. Shifting concerns left helps us build better software. An earlier error is a better error. Constraints liberate.

The tensions and constraints that shape the arrangement of our projects, modules and dependencies are of a different nature than those shaping the arrangement of our deployables. A little build-fu goes a long way in combining development friendliness with mechanical sympathy.

The Danish Way to Turn Your Day Around

Paul Ollinger:

Danish values also provide a three-step prescription to turn the day around: “In Denmark, we have sort of a mental health [checklist]: Do something active. Do something together with other people. Do something meaningful.”

Richard Hamming on Ambiguity

Great scientists tolerate ambiguity very well. They believe the theory enough to go ahead; they doubt it enough to notice the errors and faults so they can step forward and create the new replacement theory. If you believe too much you’ll never notice the flaws; if you doubt too much you won’t get started.