Featured Work


Joining a new team can be challenging, it can be even harder if you have to read through very cryptic documentation to get up to speed with all the things you need to know in this new unfamiliar environment. I've certainly had a fair share of experience with difficult onboarding and in this article, I share some of them and how you can avoid them to help new hires become contributing members of your team faster and more efficiently.

Managing internal code quality is an increasingly critical aspect of producing cost-effective, timely, and high-quality software. But it can often be difficult to explain what this internal code quality is to non-technical people, unfortunately, management usually consists of non-technical people as far as coding is concerned. The technical debt metaphor is one way that can be used to clarify this. In this article, I will define external and internal quality and then talk about technical debt, it's definitions and how it is used as a metaphor for discussing quality with non-technical business people.

A project’s long-term success rests (among other things) on its maintainability, and maintainers have few tools more powerful than the project’s log. It’s worth taking the time to learn how to care for your Git history properly. Here are some lessons I've picked up about writing Git commit messages that I think every developer should learn and implement.

Making a career change can be hard. However, it can also prove to be incredibly insightful. Here's what I learned from taking this leap.

Here are some ideas I found interesting in the TED Talk by Jason Fried.