Writing an LLM Agent in 50 Lines of Code (or no Code at All)

One of the most interesting patterns that is emerging from Large Language Models (LLMs) is the idea of agents. If you’re like me, you can only truly grok a concept by seeing or writing code for it from scratch, so like many other folks, I decided to try building one from scratch. So what isContinue reading “Writing an LLM Agent in 50 Lines of Code (or no Code at All)”

What Managers Can Learn From the Army’s Antidote to Micromanagement

Picture a military leader, and picture their management style. If you’re anything like I was (without much exposure to the military) you’re probably imagining top-down, centralized decisions being made in an authoritarian way and handed (barked?) down to subordinates who are expected to just act without thinking. Because that’s what we’ve seen in movies andContinue reading “What Managers Can Learn From the Army’s Antidote to Micromanagement”

Stepping On the Managerial Brakes

If you’re leading a team or company, occasionally you will find yourself in a position where you need to “step on the brakes”. Stepping on the brakes occurs when the team has made progress in a certain direction and you need to stop them from continuing. It may be asking them not to launch aContinue reading “Stepping On the Managerial Brakes”

The Simplest Way to Build Trust

The best-performing teams have a high degree of trust. It just makes everything easier: it reduces politics, reduces process, and increases speed. What Is Trust? There are many ways of defining and breaking down trust. Perhaps the easiest is to break trust down into two dimensions: Competency: Your trust in someone’s ability to competently achieveContinue reading “The Simplest Way to Build Trust”

How to Prioritize Technical Debt

If you’ve worked in software, you’re almost certainly familiar with the term technical debt. There are many ways of classifying technical debt: essential vs accidental, short-term vs. long-term, deliberate vs. inadvertent, whether it is caused by state, control or volume of code. These are all useful constructs. However, one of key questions around technical debtContinue reading “How to Prioritize Technical Debt”

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”