Blog of Rob Galanakis (@robgalanakis)

Could a random hire thrive in your organization?

I made a couple posts (applicant-designed hiring, randomized hiring) about how less-controlled hiring processes could lead to designing an organization where more folks could thrive. It’s largely a thought experiment, so I’ll share my thoughts :) What would need to work for a random hire to thrive? Smooth onboarding...

Read more

Why do we always think our team is so great?

If you ask someone experienced what they think of their team, they’ll usually tell you their team is the best team they’ve ever worked on. It’s so rare to hear someone say they think their team is bad or even mediocre. Why is this? We rationally understand that most...

Read more

And what if we hired randomly?

A couple posts ago, I wrote about letting candidates choose their own hiring process. But for years, I’ve been toying with the idea of something even more radical — what if we hired randomly? This sounds silly, but wait! Think of a time you’ve transferred teams, or came in...

Read more

Managers learn lessons on the backs of their reports

When you make mistakes as a manager, you usually don’t pay the price. Your reports are always the ones walking away worse off — they have to deal with the repercussions of your mistake, and probably didn’t learn anything useful. This is an inherent part of hierarchical power dynamics....

Read more

What if candidates controlled the interview process?

The software engineering interview process at most jobs is similar- phone screen, some programming work, a bit of architecture or systems design, cross-functional (aka “culture fit”) interviews. Companies are all over the place on how well they execute this formula, but the general formula is the same. Not only...

Read more

Reflections on greenfielding MilkRun

When I joined MilkRun in June 2018, the technical situation was… not good. Seeing as I couldn’t even sign up due to errors, I had expected issues. But when I saw a timestamp primary key field which was also used as a foreign key, and other WTFs, I knew...

Read more

Don’t bother with migrations for performance-based indices

I used to write database migrations for performance-based indices, like adding an index to a foreign key column. I don’t do it anymore, and do not recommend the practice. Instead, write your SQL against a production-like database (same schema and data), and run it against production directly as part...

Read more

Reflections on over-engineering: Cozy

The Good We were processing over $100m/mo in rent at Cozy, nearly all of that on the 1st of the month. We were able to do that in a Ruby monolith by maintaining a disciplined programming team, with thorough automated tests and monitoring. Every time we had a performance...

Read more

Reflections on over-engineering

My entire career has been spent replacing other people’s applications. The closest I’ve come to greenfielding was spending 3 months rebuilding MilkRun and then migrating data from the old system to the new (none of the code or schema was kept). I think I’ve been pretty successful at replacing...

Read more

“Professional services” for pre-revenue startups

Something I’m beginning to explore is what a services business providing programming and long-term technical guidance and mentorships for startups would look like. A business that takes the things I know I am good at — mentorship, programming, product management — and provide it to companies who need it...

Read more

1 2 3 30