The Importance of Linting

A linter is formally classified as a Static Code Analysis tool. It is usually a command line tool and it parses a project’s code to look for patterns. It then checks the patterns it finds against generally accepted standards (or custom rules you think are important). The primary purposes of a linter are to find…

Always Be Improving

You should always improving, but should you strengthen a strength or improve a weakness? Getting better is difficult. You need to make time to improve. I’m pretty good at that. What I’m not good at is picking an area to work on. On any given evening, I’ll think to myself, “Should I strengthen a strength…

Front End Architecture for Angular Applications

In my current role as Director of Product Engineering at FINCURA, I’m often thinking about our front end architecture. For our front end application, we use Angular, with our main concerns being: reliability, testability, and speed to develop new features. To address these concerns, we’ve developed the following architecture. Angular architecture comes down to three…

The Nuances of Well Named Boolean Methods

/Good naming is important. It helps developers read code faster. Hard to read code is the biggest impediment to moving fast. Developers spend 10x more time reading code than writing code. Well named methods are the easiest way to increase developer velocity. Good code should read like a story.  One important part of this is…

The Magic Number Antipattern

One antipattern I see often is the magic number. The magic number antipattern is a direct usage of a number in a function. Here is an example that comes from Refactoring by Martin Fowler. function potentialEnergy(mass, height) { return mass * 9.81 * height; } What the hell is 9.81? Yeah, I don’t know either.…

I’m Leaving Liberty Mutual and Joining Fincura

Note: This article was originally published in May 2018 on LinkedIn articles.  About a year ago, I joined Liberty Mutual. You may have read my post about it. My goals at Liberty were centered around becoming a technical leader. Over the past 12 months, I… 1.) Led a team of 5 developers through evolving priorities with…