Analytics for the Engineering Manager

Analytics are critical to success in business today. Businesses can’t expect to understand their customers or the best path forward without constantly leveraging and gaining insights from their data. Just like business leaders use analytics to be more effective, so too should engineering leaders!

Leveraging analytics in your daily work as an engineering manager will help you make better decisions and increase your confidence in those decisions. Simply put, if you build the skills up and use them – it’s like a superpower. It will open up a whole new world of opportunities to make you and your team more effective.

Continue reading “Analytics for the Engineering Manager”

HBR IdeaCast Greatest Hits

HBR IdeaCastYou’ve probably heard of Harvard Business Review, but have you heard of the HBR IdeaCast? It’s a fantastic and free podcast that summarizes a lot of content in the Harvard business review publication and it’s been running for well over a decade.

I’ve been burning through the archives and created a list of the best episodes I’ve listened to. Hopefully these episodes give a sense of some of the great material available on the podcast.

Continue reading “HBR IdeaCast Greatest Hits”

Working Thoughts

I’ve recently begun the practice of maintaining a working thoughts document. The idea behind this document is to work through difficult or interesting problems I’m dealing with on a day-to-day basis at work through writing.

Continue reading “Working Thoughts”

Leadership Podcast Roundup

Another year, another podcast blog post. I’ve been binging on leadership podcasts for the last few months, and have hit on some new gems. The crazy thing is how many of these podcasts are super new – like in the last year or so. In particular, leadership content catered specifically toward technology and software engineering leaders. So without further ado, here’s my roundup:

Continue reading “Leadership Podcast Roundup”

On Testing – Part 3

Browser-based Testing

In part 2 of this series, I talked about the lower levels of the test pyramid: unit & integration tests. In this post, I’ll be focusing on the highest level of the pyramid: browser-based tests.

Browser-based tests are slow. Really slow. They run an order of magnitude slower than other tests. Large browser test suites can quickly bog down your CI pipeline. Make sure there’s a good reason to write a test case as a browser-based test and that it can’t be accomplished at a lower level of the pyramid.

The sweet spot for browser tests

Continue reading “On Testing – Part 3”

On Testing – Part 2

Unit & Integration Testing

In part 1 of this series, I talked about the test pyramid, and how to approach applying it in your testing process. In this post, I’m going to focus on the lower levels of the pyramid, where you should ideally be spending most of your time.

Continue reading “On Testing – Part 2”

On Testing – Part 1

In this series of posts, I’m going to cover my views on software testing. I’ve spent a lot of time recently re-factoring some fairly large test suites, and would like to share some best practices I’ve learned a long the way.

In this first post, I’d like to cover some high-level testing strategies and my philosophy towards testing. In subsequent posts, I’m going to dive deeper into testing in each part of the stack.

Continue reading “On Testing – Part 1”

My Favourite Podcasts in 2017

I’ve blogged about why software podcasts are awesome and why you should listen to them in the past. In this post, I’m giving an update on my favourite podcasts in 2017.

Continue reading “My Favourite Podcasts in 2017”

Rein in the madness: Intelligently using wikis for your dev team

TL;DR Wikis are awesome tools. When used poorly, they’re like black holes; documents disappear into the ether. When used intelligently, they can be powerful, self-organizing knowledge centers for your team.

On most large software projects, organization is key. Developers aren’t always the most organized people in the world (I’m no exception) and project managers tend to focus on the project schedule. This can leave something to be desired or tracking the team’s progress and keeping everyone on the same page in terms of technical decisions and understanding of the larger system architecture as the project progresses.

Most projects hit a speed bump or two along the way, and it isn’t uncommon to have people scrambling trying to remember what was agreed to and when or struggle to remember why or how a certain decision was made.

Continue reading “Rein in the madness: Intelligently using wikis for your dev team”

The Importance of Modernizing Legacy Code

The term legacy code conjures thoughts of dread in developers everywhere. It’s code that’s perceived (justly or unjustly) to be tightly-coupled, hard to understand, hard to change, and just plain out-dated. It’s an immovable object.

The reality is, legacy code is everywhere, and it isn’t going anywhere. So why not make it better, and make our lives working with it everyday easier?

Continue reading “The Importance of Modernizing Legacy Code”