Skip to main content

Questions

A few questions and answers.

Why Java?

Because I believe production software should be built like a tank.

But I'll admit that you wouldn't use a tank to deliver a pizza. That's where Go comes in.

I also keep Python installed as a reminder that nobody's perfect.

Why AI?

Because I’m old enough to remember spending six hours debugging something that turned out to be a missing semicolon.

Now I spend six hours arguing with an AI about why its third solution is objectively worse than the first one.

Progress.

Why so much infrastructure?

Because every small script deserves:

  • Docker
  • CI/CD
  • Monitoring
  • Documentation
  • GitHub Actions
  • Semantic Release
  • Hexagonal Architecture

Will anyone ever deploy it? Probably not. But if they wanted to…

Do you write documentation?

Yes, though not out of discipline, more out of self-preservation.

There are only two possibilities:

  • I come back in six months and have no idea what past me was thinking
  • Someone else finds the repository and assumes I knew what I was doing

Documentation supports both scenarios.

Do you write tests?

Yes, obsessively enough that it slows me down.

I used to write tests early, before a feature settled, and spent as much time rewriting them as writing code. These days I finish the feature first, then come back and harden it with tests.

Same amount of pain. Better scheduling.

Rebase or merge?

Both, depending on which branch is asking.

Topic branches merge into dev fast-forward only, so they get rebased first whether I call it that or not. Dev merges into main with an explicit merge commit, so a release always leaves a mark.

Rebase to keep it clean, merge to keep it honest.