About Coding
Stop coding, start building.
Learn the difference
My course on effective software design is coming soon.
But don’t wait – start learning now with these resources
Software design fundamentals
I thought I was good at software design after 5 years. I knew design patterns, SOLID principles, Clean Architecture. I was completely wrong. When I discovered how little I actually understood, it was shocking. So I went on a journey to learn what software design really means. This booklet contains the breakthroughs from that journey. The insights I wish I’d had from day one. Get the fundamentals most developers never learn.
A software design learning path
So you are thinking about learning software design. Excellent! I would say that it is one of the best moves you can make in order to become a better software engineer or programmer. But you don’t really know where to start or how to start. Here is an early article of mine to help you on your way!
How to go from problem to code
Steal my strategy to decompose problems and turn them into code. Do you ever find yourself staring at a blank screen, unsure of where to even begin with your coding project? You’re not alone. It’s a common struggle among developers, and it’s not just limited to junior-level programmers.
Growing towards Clean Architecture
A lot of developer get Clean Architecture all wrong. The goal of this article is to give you some insights in Clean Architecture that are often missed by students. It is an attempt to give you a map showing the locating of the mistakes along your way towards a better understanding
Featured video
The ultimate beginners guide to dependency injection
You have probably heard about Dependency Injection. You might even have used it before. You probably heard it in the context of Clean Architecture or Hexagonal Architecture.
Dependency Injection seems simple. It’s not that difficult to grasp the “rule” that a class or method that uses a service should not instantiate that service. That is true!
But … there is more to Dependency Injection than just “don’t instantiate, but get as a parameter….
Hey, I’m Nicholas. I spent years thinking I was good at software design until reality proved me wrong. Now I help developers skip the painful learning curve I went through.
Just being able to write code is not enough. What if you know how to turn any business problem into a maintainable and quality solution? What if you know how to implement all the important aspects of quality software? Those are invaluable skills.
That is what I am going to put in my upcoming course.
What people thought about my teachings

