The bootloader pattern for app initialization in React
Leverage the awesome power of ContextProviders for early initialization tasks.
Recent content on hoho.com
Leverage the awesome power of ContextProviders for early initialization tasks.
Engineers writing public postmortems must remember their audience
Production is simplest when everything is captured by a commit SHA.
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…
Early stage technology decisions must be, uncomfortably, a means to an end.
The gizmo I built because I lost my keys
Build vs buy
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…
Advice for those going through layoffs
How do you decide when it's time to leave?
My cheat sheet for being a good interviewer
Effective leadership can leverage this concept, too
Why are layoff announcements usually so crappy?
Values shouldn't just make you feel good; they must make a difference.
Values shouldn't just make you feel good; they must make a difference.
One of my most reached-for values as a builder.
To be good at failing fast, look out for things that slow down failure.
A simple, no-excuses-allowed reporting system for managers and leads.
Advice for the technology lead who decides it's time for a VP of Engineering.
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…
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…
Is Fly.io a Heroku killer? Not exactly, but you might like it anyway.
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 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…
Example 1: The linux kernel Example 2: A rate limiter Example 3: Measurement and interpretation
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
Questions you should be comfortable asking your manager, and which you can start asking today.
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…
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…
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
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…
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
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…
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.
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 Boring tech by default. Good interfaces, strong isolation. Trained, calm oncall team. Postmortems, and time for their followups.
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”
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…
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…