RSSAmplifier

Blog

hoho.com

Recent content on hoho.com

hoho.comRSS feed ↗40 posts

Latest posts

The bootloader pattern for app initialization in React

Leverage the awesome power of ContextProviders for early initialization tasks.

Don't dazzle me in your postmortem

Engineers writing public postmortems must remember their audience

Resist dyanmic config as long as possible

Production is simplest when everything is captured by a commit SHA.

Starting up technical design docs

There are few habits on a high-quality, fast-shipping software team that are more important than one: writing good technical design docs. Give me a few minutes and I’ll tell you about the many benefits, and how to get started. Why write design docs? While there are many benefits to writing a design doc, my personal north star goes something like this: Make sure we’re building the right…

Your tech stack is not the product

Early stage technology decisions must be, uncomfortably, a means to an end.

BLE Pinpad

The gizmo I built because I lost my keys

Build vs buy

Build vs buy

Everyone should do at least a stint building hardware

I’ve spent a lot of time building “normal” software: Web apps and dashboards, mobile apps, B2B, B2C. But I also had the fortune of being on the critical path for several hardware projects early in my career, and the sum of these experiences has left me with an indelible belief: Every engineer and product person should do at least one stint building hardware. Here’s why. You…

Making it through layoffs

Advice for those going through layoffs

When it's time

How do you decide when it's time to leave?

Rules and tools for interviewers

My cheat sheet for being a good interviewer

Defense-in-depth: Not just for computer security

Effective leadership can leverage this concept, too

Understanding the weird doublespeak of layoffs

Why are layoff announcements usually so crappy?

Values that matter

Values shouldn't just make you feel good; they must make a difference.

Values that matter

Values shouldn't just make you feel good; they must make a difference.

Do the low-tech thing first

One of my most reached-for values as a builder.

Failing slowly

To be good at failing fast, look out for things that slow down failure.

Better living through visibility

A simple, no-excuses-allowed reporting system for managers and leads.

The roles CTO and VP of Engineering at a startup

Advice for the technology lead who decides it's time for a VP of Engineering.

Advising

I am currently available for technical/startup advising. If you’re reading this, chances are I sent you the link, as I usually only work with close connections/referrals. Here is a little bit about me and what to expect. Typical relationship I work 1-on-1 with a founder or technical lead (e.g. founding engineer, CEO, director of engineering, CTO). I typically work mostly with one person at…

Effective engineers let management create TODOs, too

Every engineer knows this situation well: You’re coding up a solution to some problem, and you discover there’s a different way to do it — an alternative that you just can’t complete right now. Typically, your solution is “good enough” today. The alternative seems better on its merits, but it would take far more time and disruption today. Or maybe it has a cost that…

In-depth review: Fly.io, a next-generation PaaS

Is Fly.io a Heroku killer? Not exactly, but you might like it anyway.

Just give them the damn feedback

Google in the 2000’s was a great teacher to me in many ways. Having said that, Google made plenty of mistakes, and there was plenty to “unlearn” after I left for startups. One of the most important lessons I unlearned came from hiring: “Don’t give rejected candidates specific interview feedback.” The problem (or so we were told) Everyone at Google interviewed,…

Pride of creation

Pride of creation is one of, if not the , biggest motivator for me as an engineer. I like seeing the lights blink. Code as craft Many hobbies and occupations are performed in a way where it’s easy to see a craftsperson at work: The carpenter measures, cuts, and sands. The knitter looms. The painter pants. Software engineers get into every bit as much state of flow. Except the way our craft…

Separation of policy and mechanism

Example 1: The linux kernel Example 2: A rate limiter Example 3: Measurement and interpretation

Starting up hiring

Goals of a good hiring process Attract the best candidates Stand out among the competition Represent ourselves well Adapt as you go Early stage Growth stage Mature stage Things to watch for Poor interview technique Over-exerted interviewers Bad job descriptions Deceleration Process maintenance

Stop wasting your 1-on-1 time

Questions you should be comfortable asking your manager, and which you can start asking today.

Write to be critiqued

This is for anyone struggling with writing something. It is certainly for me. Write to be critiqued If you want to write, embrace imperfection. Your ideas will be critiqued, sometimes by those less ready to lead with their own. If you want to write something, don’t get hung up on the “what ifs”. Do you have an opinion? Good, share it. What makes it an opinion and not a fact is…

Boring technology decisions, in practice

When building and scaling a technology team, it’s vital to set a few overarching principles and values that guide how problems are solved. After all, there are an infinite number of ways computers can be instructed to “do the work”. A team of 10 where everybody is freestyling is not much of a team at all. One value my last team got a ton of mileage out of was, “Boring…

Rules for oncall

read ewaschucks blog - dave b rec Journal as you go Observe and orient first (OODA loop) Change the environment carefully, explicitly, minimally Keep your cool Ask for help as soon as you need it

About

Me I am Mike Wakerly and this is my internet home. I go by mikey if we’re just using one name, because there are often plenty of other mikes around. I’m envious of people with unique and uncommon names. I am an engineer primarily because I love building things! In the 90s, I built a ton of crappy web apps ; the primordial days of the web. All of them are now thankfully dead. In the…

Dreading Interviews

You’re dreading, or half-assing, your most important conversation When you’re responsible for interviewing new hires, sooner or later—maybe immediately—you look an impending interview on your calendar with a certain sense of resigned, dejected dread. Ach, damnit. My whole afternoon was free, except for this stupid interview. We’re probably gonna reject them anyway. Maybe you even…

First Time Cto Mistakes

First-time CTO Mistakes

Good Job Descriptions

Building an awesome hiring program takes a lot of time, effort, and maintenance. But if you only have time for one task, it should be: write a good job description . Just like one of the most basic rules in software engineering – only deploy code that is checked-in – a well-written job description is the first and most essential thing to do. Why? Good job descriptions will achieve…

Indiehacking

To some people, I am living the dream. But if they knew a little bit more, I think most of them would find it anything but.

Indiehacking2

Talking to stably-employed people about my soloprenuer business, now comfortably above $100k ARR & still averaging ~5hr of work a week, the default reaction is by far, “wow thats what I should be doing”. But there are so many subtle things about your stable job you probably aren’t thinking about, and which you would missing. For example: Do you like working with people? The…

Mystery Free prod

mystery-free prod Boring tech by default. Good interfaces, strong isolation. Trained, calm oncall team. Postmortems, and time for their followups.

Periodic Time Off

Advice for taking a career break The two big challenges you will encounter Lack of cash flow Career anxiety Fear or regret you shouldn’t have stopped Fear you should have parlayed into something “Am I relevant”

Team Trust

You have, no doubt, worked with alphas in tech whose faces sour at any mention of “soft” topics, like empathy, vulnerability, and trust. Trust is at the core strong teams. Reviewing the many different kinds of trust: Inter-team trust. I’m putting in a strong effort and I believe my colleages are too. Nobody is coasting or taking advantage of me. Managerial trust (upward). I…

Well Run Teams

Elements of well-run teams Leadership Someone must oversee the team. Clear goals The reason a team exists – its goals, its mission – must be clear at all times. Clear values Rules don’t matter: The best teams will be rewriting the rules constantly, of their industry and how they grow. What matters is the cultural bedrock. Culture ensures the “right” thing happens when…