All posts.

Notes on software, communication, testing, and keeping systems understandable as they grow.

  • Published on

    3 popular technologies that I will strive to never use again

    There are a lot of different technologies out there. More than anyone could possibly explore. The de-facto position is to look for technologies that are popular, following the logic that “if enough people like it, it must be good”. In my experience, this isn’t always the case though.

    technology code python
  • Published on

    Three unusual qualities we look for in developers

    The qualities we do look for are probably considered unusual compared to most software engineering outfits. Let's take a look at the three we use to ensure a good fit for working at Shamaazi.

    career guide
  • Published on

    Don't write utils; name carefully

    I hate the word ‘utility’. It says absolutely nothing. And yet, I come across it in so often when programming. It can take different guises too: ‘common’, ‘shared’, ‘lib’, ‘pkg’, ‘tools’, etc. These names can appear both as filenames or as directory names and drive me insane when they do.

    quality code
  • Published on

    3 react hooks to keep your code organized neatly

    Here are the three React Hooks I have found the most useful for producing websites in the cleanest, simplest way possible. They manage localStorage, sessionStorage, authentication and asynchronous tasks.

    javascript react code
  • Published on

    Avoid cognitive overload when programming in 4 simple ways

    Programming can be an arduous activity. You have to remember what you are doing, the context and inner workings of a system, the building blocks of the language you are using. All while coming up with creative solutions to problems. All this can lead to COGNITIVE OVERLOAD. Luckily, there are some simple steps we can take to avoid this.

    career code
  • Published on

    We wrote our own go logger

    At Shamaazi, we found the existing Go libraries for logging overcomplicated and not neatly doing what we wanted. Instead, we wrote our own. Here's why.

    go code
  • Published on

    A trick to help with reference data

    I've continually made this same mistake with reference data. It's a mistake that's incredibly common, and easy to avoid. Here's the simple trick I've found.

    code quality
  • Published on

    You should only write useful tests

    A common mistake is to test every piece of code you write. This can be harmful and unnecessary. Let's explore why.

    tests code quality