I constantly research and experiment with new tools to try and make myself more productive. Recently, I've been playing with NDepends which is a code analysis tool that promises to help you write better code. Recently, I had a very special interview with Patrick the lead developer from NDepends. In this post, you will learn a little more about Patrick and a little more about NDpeneds!

How did you get to where you are now and what advice would you give to someone who wants to do the same?

I'll avoid the classical 'believe in your dream', 'work hard', 'never give up', 'think out-of-the-box'... sentences here.

We, as programmers, can develop whatever we want. My advice to aspiring developers who want to build their own product is to find something that makes a professional developer more efficient and then put all your energy into offering the cleanest possible tool to do that.

A pro will always pay to save time. You won't make billions, however, by targeting a niche market of professionals you can certainly make a good living from it. Being your own boss and waking up every morning with a smile.

List 3 essential tools (outside of the standard dev stack) that you can't live without?

Resharper is still my top editing tool here, despite the fact that it slows down VS by cohabiting with Roslyn.

Test + code coverage + contract (no matter the tool as long as it is efficient).

NDepend is almost 86% covered by test (UI included) and is stuffed with tests/contract/assertion that makes it pretty hard for a regression bug to appear. NDepend tells us things like new code added or refactored before a release is like 95% covered by tests.

Another invaluable tool is an in-house production bug tracker that saves us relentlessly. It is based on a gmail account, the search is powerful and we don't need to host a server or install software. Its value is in the environment information it offers (like IL offset, DPI, context of execution, OS version, assemblies versions loaded ..)

What are some of your favorite moments working at NDepends?

The favorite parts of my jobs are:

  1. Fixing difficult bugs

  2. Releasing new features that our customers have been waiting for and knowing how it will positively impact the product forever.

  3. When household name brands decide to onboard NDepend in their tool stack.

It gets also very interesting when we are discussing with a brilliant programmer who offers us constructive criticism. Learning from brilliant people never ends and having our clients doing the same programming job as us is fantastic.

What interesting things are you working on?

We have a long list of improvements and innovations ahead. I cannot unveil more, but the idea is still to unveil the most important data that is buried in your codebase that you want to know about, and to offer it at the right moment (like edit, test, commit, CI...). It is not only about the relevancy of information but also how and when you offer it.

Where can people get in contact with you/find more about you?

You can email me at: [email protected]. You can find everything about the product on https://www.ndepend.com/

I've been playing with NDependes for a while now and I really like it to help me better analyse and understand the teams quality gates. If you are looking for a tool to help you improve your teams level of quality, maybe give NDepends a try! Happy Coding 🤘