Blog of Rob Galanakis (@robgalanakis)

Feature team models that work

Along with a number of “monolith to microservice” transitions, I’ve been a party to many “functional team to cross-functional team” transitions. I think there are some patterns and rules of thumbs that are widely applicable. The place these transitions fall down is where the definition of “cross functional” is...

Read more

Let’s not fix venture capital. Let’s replace it.

There’s a lot of talk in Portland and other secondary markets about how difficult it is to raise early money compared to places like San Francisco and Seattle. I believe this is true. But I don’t think it really comes down to anything except, there are a lot of...

Read more

Please reuse your database servers

I’ve been part of a number of “monolith to microservice” transitions and something that I’ve seen a few times is engineering orgs creating separate database servers per-team or even per-service. Please don’t do this. Please start with a production server, and an “everything else” server, until you outgrow one...

Read more

18 months of wandering

In January 2018, I left as CTO of Cozy under difficult circumstances. Those of you that know me know the story. Those of you that don’t are free to buy me a coffee or beer to hear it. I joined Cozy in 2014 as Engineering Manager, and rebuilt and...

Read more

Jim Crow is hiding in Silicon Valley’s hiring

What do Silicon Valley interview processes have in common with Jim Crow literacy tests? A surprising amount!

Read more

And now, some terrible advice

In a previous post, I talked about the most important advice I’d ever gotten. Now, lest you think some people are really wise and just dispense good advice constantly, I’ll tell you about how the same individual also gave some terrible advice.† The advice can be distilled down to...

Read more

How the Zapier interview process is making me rethink my own

Over the last two months of looking for a new job, I’ve applied to over a couple dozen companies and interviewed with about a quarter of them. The process that stood out the most was Zapier’s. Their interview process is non-typical from start to finish. They have a great...

Read more

Failed assertions and async functions

Armin Ronacher asked in a tweet: If you want to signal a bad calll from an async function (failed assertion). Do you … — Armin Ronacher (@mitsuhiko) February 7, 2018 I explored this quite a bit working in JavaScript on the client and feel like I have a good...

Read more

Diffusing religious arguments

I called arguments between assemble-your-own vs. kitchen-sink framework approaches a religious one akin to tabs vs. spaces in my previous post. All of my leadership positions have been on brownfield products, usually turnarounds, so I’ve walked into minefields of religion that I’ve had to diffuse in order to focus...

Read more

Comparing assemble-your-own vs. kitchen-sink frameworks

In my previous post, I wrote about some of the “performance” tradeoffs in build-yourself vs. off-the-shelf approaches as an analogue for remote vs. collocated teams. I’d like to wade deeper into the build-yourself vs. off-the-shelf approaches, in this case going with an “assemble-your-own” framework (Sinatra with Sequel, Flask with...

Read more

1 2 3 4 30