Skip to main content
peanball.net
  1. Tags/

Software Engineering

2024


2023


A Skeptic’s Guide to Software Architecture Decisions Reading List

<time datetime="2023-01-16 07:46:04 &#43;0100 &#43;0100">16 January 2023</time><span class="px-2 text-primary-500">&middot;</span><span>24 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

Admittedly, I’m often too positive on assumptions and not sceptical enough. This is a good article to help fix that or change the approach.

2022


The Perfect Commit Reading List

<time datetime="2022-11-01 06:21:15 &#43;0100 &#43;0100">1 November 2022</time><span class="px-2 text-primary-500">&middot;</span><span>39 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

I aspire to at least have a pull request with those features.

Generous use of git rebase make it possible for very commit.

This requires some planning ahead and cleanup but makes reviews now or later so much easier.

Staff engineer archetypes Reading List

<time datetime="2022-10-07 08:52:49 &#43;0200 &#43;0200">7 October 2022</time><span class="px-2 text-primary-500">&middot;</span><span>56 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

In my career I’ve been all these roles at one point or another, but at smaller sizes. My current role fits neatly into the Team Lead. There are aspirations for Architect though.

More...

I have complicated feelings about TDD • Buttondown Reading List

<time datetime="2022-08-18 20:17:49 &#43;0200 &#43;0200">18 August 2022</time><span class="px-2 text-primary-500">&middot;</span><span>103 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

TDD often makes your design better!

My point is that it can also make your design worse. Some TDD is better than no TDD, but no TDD is better than excessive TDD. TDD is a method you use in conjunction with other methods. Sometimes you’ll listen to the methods and they’ll give conflicting advice. Sometimes, TDD’s advice will be right and sometimes it will be wrong. Sometimes it’ll be so wrong that you shouldn’t use TDD in that circumstance.

It’s one of many tools you have at your disposal, but like any of them it’s not the panacea that solves all your problems.

You Don’t Need Microservices. Reading List

<time datetime="2022-07-28 06:40:10 &#43;0200 &#43;0200">28 July 2022</time><span class="px-2 text-primary-500">&middot;</span><span>48 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

Most companies and projects are by far not big enough to benefit from microservices, and not good enough to deal with the implications and repercussions. There’s a reason “distributed systems” are hard: it’s the next difficulty level after multi-threaded concurrency — harder to observe, harder to reason about.

How finishing what you start makes teams more productive and predictable Reading List

<time datetime="2022-07-25 15:51:31 &#43;0200 &#43;0200">25 July 2022</time><span class="px-2 text-primary-500">&middot;</span><span>113 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

The aspect of “transaction cost” for doing a particular thing once or multiple times is interesting.

Starting a bunch of things in parallel will often lead to many being finished at a similar point in time, often all at once and leading to the dreaded ‘big bang integration’, which even in short sprints may be painful enough already.

That said, I love starting multiple things at once. Sometimes being ‘stuck’ on the same thing and not having some other outlet or diversion to put your mind to makes a task take longer. Having the ‘diversion’ often gives me more energy to breeze through the other task… and sometimes it doesn’t. It’s not scientific.

How Did REST Come To Mean The Opposite of REST? Reading List

<time datetime="2022-07-19 08:22:31 &#43;0200 &#43;0200">19 July 2022</time><span class="px-2 text-primary-500">&middot;</span><span>100 words</span><span class="px-2 text-primary-500">&middot;</span><span title="Reading time">1 min</span>

And here I thought I knew full well what RESTful APIs had to look like. The constraint in my head was that individual resources (e.g. items in a database) should have their own URL and you used the HTTP verbs (GET, POST, DELETE, etc.) correctly.

What was missing from that is the Hypermedia aspect, where each response defines the appropriate URLs for the possible next steps.

More...