The Dev Mastery logo; composed of the words 'dev' and 'mastery' written as if 'dev' was a function and 'mastery' was a parameter.An icon depicting the moon and stars to represent the dark color scheme you can switch to by clicking here.

The Dev Mastery Blog

Bill Sourour
Coding and career advice from
Click here to visit Bill Sourour's Twitter.

Elegant patterns in modern JavaScript: Ice Factory

10 minute read on JavaScript.

Inspired by Douglas Crockford, the "Ice Factory" pattern in JavaScript is a modern take on Factory Functions that will make your code clean and resilient.

Join the newsletter

Subscribe to get the latest Dev Mastery content by email.


I respect your privacy and your inbox.
No spam ever.

Elegant patterns in modern JavaScript: RORO

9 minute read on JavaScript.

Thanks to object destructuring in moder JavaScript there is now a much more flexible and clear way to write your functions. I call it RORO.

Don’t do it at runtime. Do it at design time.

4 minute read on software design and architecture.

I was lucky enough to get some very solid advice that was ahead of its time. But it took me years to actually understand and appreciate it. Now, I'll share it with you.

Putting comments in code: the good, the bad, and the ugly

5 minute read on software design and architecture.

As long as there has been code, there has been a debate about when, where, and how to comment that code. Here's my take.

The 100% correct coding style guide

3 minute read on software design and architecture.

Tabs or spaces? Curly brace on the same line or a new line? 80 character width or 120? This is the definitive answer you've been looking for.

Join the newsletter

Subscribe to get the latest Dev Mastery content by email.


I respect your privacy and your inbox.
No spam ever.

The code I'm still ashamed of

5 minute read on personal growth.

If you write code for a living, there’s a chance that at some point in your career, someone will ask you to code something a little deceitful – if not outright unethical. This is my story.

Code dependencies are the devil

6 minute read on software design and architecture.

One of the biggest risks to the long term stability of your code is how you use and manage all its dependencies. Here's why and what you can do about it.

How to conquer legacy code

7 minute read on personal growth.

At some point in your developer career, your boss will hand you a piece of legacy code — code that someone else wrote a long time ago. Your boss will tell you to learn this legacy code, fix it, and add new features to it. This article will help.

Finding time to become a better developer

7 minute read on personal growth.

When it feels like there's not enough time, here are the main things you should focus on in order to stay productive and relevant as a Software Developer.