Blog of Rob Galanakis (@robgalanakis)

testing

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

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

Performance of remote vs. collocated teams

I saw a tweet the other week about remote teams having lower performance than colocated teams: It's not possible to not take a significant performance hit if you're not collocated. Remote if you must, but don't imagine that it's not costing both money and time to do that. —...

Read more

Linting pull requests

A couple weeks ago on Twitter, I joked about adding a way to bypass Cozy’s Pull Request linter by including #YOLO in the pull request description. It spawned an interesting discussion and a few people asked for more details about how the linter works. Some devs at @CozyCo said...

Read more

Automated testing shows a respect for employees

In the tech-artists.org G+ community page there was a comment on a thread about unit testing: A key factor in TA tools is the speed at which we need to deliver them, and our audience is considerably smaller than, say, engine tools code. Therefor it becomes somewhat hard to...

Read more

Change should be the ally of quality

In The Beauty of Testing, Steven Sinofsky writes: …great testers understand one the cardinal rules of software engineering—- change is the enemy of quality. This is not a cardinal rule. This is a outdated and obsolete mode of thinking. Change is how you discover great UX. Change is how...

Read more

Technical debt metaphors get it so wrong

In my previous post about technical debt, I explained how modern definitions of technical debt are harmful. Now I turn my attention to equally harmful metaphors. Viktoras Makauskas made the following metaphor in a comment on my last post. This is a pretty perfect stand-in for metaphors I’ve read...

Read more

Undefining “technical debt”

For me, technical debt is defined pretty loosely as stuff you don’t like in the code and need to change to keep up velocity. However, I’ve seen lots of articles lately discussing a precise definition of “technical debt.” I would sum them up as: Technical debt is incurred intentionally....

Read more

We’re not so different, you and I

Ben Sandofsky wrote a post about why QA departments are still necessary, specifically with regards to mobile app development. He makes a good point: mobile apps create a distribution bottleneck that makes very rapid iteration impossible. I agree, and this is a good angle to think about. I would...

Read more

1 2 3 4