How we use linting, static and dynamic analysis

‘Shifting left’ has had a massive impact on modern software development practices. We should try to fix bugs earlier (often shown on the left) in the development lifecycle,  because it is easier and cheaper. This means that it is worth trying to identify them earlier too. A graph of attention to quality at different stages … Continue reading How we use linting, static and dynamic analysis

Developing a modern browser extension

Last  month we released our Smart Spending Extension for Google Chrome, Mozilla Firefox and Microsoft Edge. This is built using Typescript This is not our first attempt at delivering an extension. We had developed prototypes as native Firefox plugins (using XUL) and as COM extension objects. We even launched some but withdrew them after a … Continue reading Developing a modern browser extension

The dreaded technical exercise

We've been recruiting for a number of roles in Engineering and as with every time we recruit, we’ve got that dreaded technical exercise to think about. Over recent years I’ve been heavily involved in our Engineering recruitment. I’ve met countless people through this, screened dozens of CVs, assessed people against our values, and had to … Continue reading The dreaded technical exercise