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”
Category Archives: Uncategorized
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: It’s adversarial. It puts the needs of the product (or the company building the product) clearly aheadContinue 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”
Why All Engineers Must Understand Management: The View from Both Ladders
Something interesting has been happening as I’ve been trying to write more about engineering management. When I wrote advice about micromanaging for managers, a few friends asked me about how to deal with their (micro)manager, so I wrote about how to handle your manager. The latter piece seemed to be a lot more useful. IContinue reading “Why All Engineers Must Understand Management: The View from Both Ladders”
Disagree and Commit And Prove Yourself Wrong
One management principle I’ve found really powerful is “disagree and commit”, but I’ve often found that it can be easily misapplied. Let’s first define what the disagree and commit principle is. Here’s Jeff Bezos in Amazon’s 2016 Letter to Shareholders describing the idea: Use the phrase “disagree and commit.” This phrase will save a lotContinue reading “Disagree and Commit And Prove Yourself Wrong”
Product/Culture Duality
At many startups, culture happens organically. It’s just built around the personalities and values of the founders and early team. But anyone who has built a company before learns a pretty vital lesson: culture is important, and when something is that important you have to be intentional about it. We wanted to build a companyContinue reading “Product/Culture Duality”
Organizational Psychologist vs. Organizational Mechanic
When a team or company is not functioning as it should, two types of problem-solvers often emerge. The organizational psychologist tries to debug the culture. The organizational mechanic tries to debug the process. The mechanic asks what meetings or what documentation is missing. Organizational mechanics love “reviews” (meetings that force decisions to be made). WhenContinue reading “Organizational Psychologist vs. Organizational Mechanic”
Using Systems Thinking to Understand Personal Finance
I always struggled with double-entry accounting, even after I got an MBA. I could do it and mostly memorized my way through a lot of the jargon, but it wasn’t until I took a systems view to accounting that I really understood the mechanics of how things worked. I figured I’d share some thoughts aboutContinue reading “Using Systems Thinking to Understand Personal Finance”