A collection of thoughts, ideas and rants inspired by my career in the fintech and banking industry.

Challenger Bank

When I first heard about the so-called UK Challenger Banks like Monzo and Atom, I was amazed that there wasn’t a similar offering in Canada. The Canadian retail banking sector desperately needs new players bring compelling products to the market but nobody was doing it. There are some options like PC Financial and Tangerine but they’re both backed by one of the Big Banks (CIBC and Scotiabank, respectively). Nobody was attempting a ground-up rebuild of a bank using modern technology and practices.

[Read More]

Heirloom Code

Michael Feathers says that legacy code is any code without tests but I’d go a step further and say that legacy code is any code that is still running even though the original developer(s) are no longer working on it. And there is certainly plenty of that in financial institutions. There are other characteristics too, such as:

  • unreproducible production environment
  • incomplete source control
    • missing files
    • ‘master’ fails to build
  • no automated build process
  • no release process
  • few or no unit tests
  • no way to run or test the code on a developer workstation
  • little or no documentation
  • none of the original developers available

I am presently working on a codebase that checks all of the above boxes and it isn’t even that old but instead of dismissing it as an unmaintainable mess I have changed my mindset and have started referring to it as Heirloom Code.

[Read More]

Pragmatic Programmer

The Pragmatic Programmer is one of the most influential books that I have read as a software developer. It is right up there with Software Craftsmanship and Clean Code. Andy Hunt recently gave an interview that was peppered with several poignent quotes that struck a chord with me.

You need to understand how to work with other people, both with teammates and with those pesky users

This is the single piece of advice that I’d give to anyone looking to get into software development. A team that works well together can accomplish anything even if it is only staffed with “intermediate” developers. In contrast, I’ve seen teams stacked with “rock stars” that have failed to produce anything meaningful due to poor team dynamics and toxic attitudes.

[Read More]

Separate Your Email From Your Identity

Your email address identifies you in this online world. Companies use it to verify who you are, to communicate with you and for resetting passwords. You may also use the same email address to correspond with your friends and family, and it may even be linked to your calendar too.

It makes sense to separate your personal email from your work email - you don’t send personal emails from your work address, nor do you send work emails from your personal address. In all likelihood you use a free service like Gmail, Hotmail, AOL or Yahoo for your personal email.

[Read More]

Clean Tea - Part III

This is a continuation of my post about clean tea, except this time I analysed the offerings from Tealyra.

Tealyra by the numbers:

  • 490 teas (excluding kits and samplers)
  • 175 contain sugar and/or flavourings
  • 187 caffeine-free

So I filtered the list to only show teas with:

  • No caffeine
  • No sugar
  • No stevia
  • No flavourings

86 teas on the Tealyra® menu pass my filter for what I would consider to be “clean” which makes Tealyra the best of the three that I’ve looked at so far. Overall the offerings from Tealyra are pretty decent once you filter out the ones with sweeteners and/or flavourings however I felt overwhelmed by the sheer number of options.

[Read More]

Good Support

I recently had an unexpectedly great support experience from a company that one does not usually associate with excellent customer support: Microsoft.

I had been running Windows 10 as a VirtualBox VM on my Linux laptop for quite some time. I needed Windows for a few things like my accounting software (Quickbooks) and remote access to the office but the setup wasn’t working as cleanly as I’d like, particularly around support for external devices like my Garmin Forerunner GPS watch so I decided to switch to a dual boot.

[Read More]

Clean Tea - Part II

This is a continuation of my post about clean tea, except this time I analysed the offerings from Teavana® (a Starbucks company).

Teavana® by the numbers:

  • 101 teas (excluding kits and samplers)
  • 70 contain sugar and/or flavourings
  • 31 caffeine-free
  • 4 had no ingredients listed

So I filtered the list to only show teas with:

  • No caffeine
  • No sugar
  • No flavourings

Only one tea on the Teavana® menu passes my filter for what I would consider to be “clean”. It is … (drum roll) …

[Read More]

Clean Tea

I recently weaned myself off coffee. My daily intake levels were well above normal levels, as was my tolerance. The only thing it was doing for me was preventing me from getting a good night’s sleep. So I decided to quit. I spent two weeks cutting back, and then went cold turkey over the Labour Day weekend.

I’m now sleeping much better, and no longer need that morning jolt to get me going.

[Read More]

The Immutable Laws of Marketing

This is a quick cheat sheet taken from a great little book called “The 22 Immutable Laws of Marketing” by Al Ries & Jack Trout. I highly recommend this book for anyone interested in marketing … even developers!

The Law of Leadership
It’s better to be first than it is to be better.

The Law of the Category
If you can’t be first in a category, set up a new category you can be first in.

[Read More]

Hubot and HipChat

Configuring Hubot to work with a self-hosted HipChat server took a bit of tweaking, so here’s a quickstart guide based on what I discovered along the way.

First of all, follow Atlassian’s guide to create a copy of Hubot. This will download the source code including the HipChat adapter.

$ npm install -g yo generator-hubot
$ mkdir myhubot
$ cd myhubot
$ yo hubot --adapter hipchat

Answer the questions, and you’ve got a basic bot config

[Read More]