How to Negotiate an Offer Deadline Extension

Upfront disclaimer: This isn’t a post about negotiating a job offer’s details (like compensation, etc). This is just about negotiating (ie extending) an offer’s deadline. Most job offers come with a deadline attached. If you’re interviewing with multiple companies, these deadlines can be a bit stressful. Ideally, you want enough time to collect job offers,Continue reading “How to Negotiate an Offer Deadline Extension”

Web3: Vegas vs. Promised Land

You’re walking along on your merry way, and a person, some sort of monk, starts yelling your way: “Our world is corrupt! The Pharaohs have consolidated too much power! They have strayed from the path and ruined our land. Our people deserver better.” Normally, you don’t take kindly to monks prophesizing about the future. InContinue reading “Web3: Vegas vs. Promised Land”

You Don’t Have to Manage, But You Still Have to Lead

So you’re doing quite well in your career as a software developer. You’ve proven your technical chops several times over. You always deliver the work you’re asked to do. Then, sooner or later, the question comes: “Are you interested in taking on a management role?” You think about a little. But you dislike office politics.Continue reading “You Don’t Have to Manage, But You Still Have to Lead”

Gavage: Don’t Force Feed Your Funnels

If you’re reading this, chances are your work involves dealing with funnels. Funnels are any flow with several steps where the goal is to move a person forward in some process. Common funnels you might encounter are: Marketing funnels: The classic example is customers start with awareness (of what you’re trying to sell), then moveContinue reading “Gavage: Don’t Force Feed Your Funnels”

The Principle of Least Surprises and Stakeholder Management

One thing people often get wrong about software work is stakeholder management, and one thing people get wrong about stakeholder management is minimizing surprises. This is actually pretty simple. There’s a design principle known as the Principle of Least Surprises (or Astonishment), which generally states that the behavior of a product should not surprise users.Continue reading “The Principle of Least Surprises and Stakeholder Management”

Things To Do Before And After You Write Code

The most effective engineers I’ve worked with were effective not just because of how they wrote code, but because of things they did when they were not writing code. Here’s my (growing) short list of things you should do before or after you write code. Before Understand what you’re building. Do you have specs orContinue reading “Things To Do Before And After You Write Code”

Disrespectful Design, Part II

What can you do, as a builder, if your job seems to require to employ disrespectful design patterns? What is Disrespectful Design First, it’s worth rehashing what Disrespectful Design is. I think there are a few common dimensions: Not all products that have these characteristics constitute Disrespectful Design, and there’s a bit of I knowContinue reading “Disrespectful Design, Part II”

Poetry, Essays, and Code That Lets you Get on with Your Day

A lot of people talk compare good code to poetry. Poetry is generally: Elegant and enjoyable to read. Clever. Of variable information density. Sometimes, a line of poetry can contain multiple meanings. Sometimes, it’s more verbose. Subjective and potentially ambiguous. Different people reading the same poem might interpret it differently. But often, good code shouldContinue reading “Poetry, Essays, and Code That Lets you Get on with Your Day”

How to Creatively Solve Problems as a Non-Creative Person

In general, there are two ways to be good at something. You can be born with it (be “a natural”), or you can learn how to get good at it. The mistake I see a lot of people make when they want to get good at something is to find “a natural” and ask themContinue reading “How to Creatively Solve Problems as a Non-Creative Person”

The Hidden Structural Costs of Incompetence

It is costly to have incompetence in your organization. This is obvious. Someone is not performing or delivering at a high level, your product or service suffers, your business suffers. It is also obvious that as a secondary effect, your team suffers. Other people have to work harder to correct mistakes and pick up theContinue reading “The Hidden Structural Costs of Incompetence”