Blog of Rob Galanakis (@robgalanakis)

Makefile Application Presets

We saw in the last post how to use Makefile wildcards to write targets like this: migrate-to-%: @bundle exec rake migrate[$(*)] guard-%: @if [ -z '${${*}}' ]; then echo 'ERROR: variable $* not set' && exit 1; fi logs: guard-STACK @awslogs get -w /ecs/$(STACK)_MyService So that we can build...

Read more

Beautiful Makefiles with Wildcards

Every single project we build includes a Makefile as a task runner. Every. Single. One. Why? Because it allows someone to jump into a codebase and start working with the same set of tools and commands as everyone else. Want to know how to install, build, test, deploy, and...

Read more

Dynamic JavaScript and React Configuration

Most of the frontends we build at Lithic are written in React. Normally we deploy them as static apps in Netlify. This will write environment variables from process.env directly into the compiled JavaScript. Sometimes, though, we need to dynamically configure the applications based on runtime, not build time, environment...

Read more

Should I use a graph database?

One of our clients asked us the other day: I’m setting up a web app that stores information about devices and the interconnected dependencies between devices. The app would have a web front for a user to navigate through the graph of devices and be able to click through...

Read more

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

1 2 3 30