Starter AWS stack

I was recently giving a friend some advice on how to set up a minimal stack for a starter project, and somewhere along the line realized that my MVP was approaching a dozen different AWS services. Time to stop and start reevaluating life decisions, people. So, I went back to the drawing board, and set up […]

Hiring Engineers

Every engineering hire is a miracle. – Etsy CTO Kellan Elliott-McCrea on the Craft of Hiring Engineers When you’ve reached a certain scale, hiring entry-level engineers becomes a fairly deterministic process – you go to university career fairs, gather resumes, schedule interviews, and hire N members of the graduating class. Yes, it’s a huge oversimplification, and I’ve […]

The PERN stack

For the last year or so, I’ve been working in a pretty standard Javascript stack – Mongo, Node, Express, React. Modeled on the so-called MEAN stack, this has the advantage of a native Javascript data store along with some reasonably mature tooling. But I wondered – why didn’t this have its own four letter acronym? […]

Managing rapid growth

As I look back on my time at TripAdvisor and HelloShopper, and think about conversations I’ve had with various startups, one of the recurring themes has involved building and managing engineering organizations, particularly during rapid growth phases. From five to fifteen, to twenty five, to seventy five, to a hundred fifty, and so on. Each of these ramps […]

On not knowing

Some people are hard to read. Some situations are complicated, with pieces moving behind the scenes in a Rube Goldberg mess of not-quite interlocking puzzle pieces. Sometimes people intentionally withhold information – maybe they were told in confidence, or perhaps there’s an HR reason for keeping a secret. Sometimes it’s none of your business. Or it is, […]

Special Skills

Consider the generalist software engineer. She has a solid grasp of CS fundamentals, knows several programming languages, can write scripts, program user-facing front-end code, and work on deep algorithmic problems in the backend. For her, coding is a set of logic puzzles, debugging, patterns and anti-patterns, architecture, and tradeoffs between fast, cheap, and good. Most developers […]