Matt has been paid to develop software for the past 12 years. He specializes in mobile and web development and has recently been doing a lot with Windows Phone 7. He runs DevEvening ( a .net focused user group in Surrey and the Windows Phone User Group ( in London. He blogs at and tweets at @mrlacey & @wpug. Matt is a DZone MVB and is not an employee of DZone and has posted 103 posts at DZone. You can read more from them at their website. View Full User Profile

Why "Scratching Your Own Itch" is a Bad Idea for Developers

  • submit to reddit

 There's a popular idea that if you have a need for something then it's likely that other people will too. It's often termed "scratching your own itch".

Developers like to take this idea and assume that if there's something they need or want and build an app to meet that scenario others will also buy that app to meet the same need.

I think this view ignores a big issue.
The "others" in this scenario are typically other developers, and developers like writing code to solve their own problems.
The corollary of this is that developers don't look to buy solutions written by other developers to solve their problems.

Yes this is a huge generalisation but I believe it also holds a lot of truth. Just ask a developer you know how often they buy solutions to their problems verses writing their own solutions.

The mis-assumption is that other developers will buy their app as they have the same problem because they are just like them. The problem is that just like them the other developers will be creating their own apps to solve the same problem.

Developers building small apps for other developers isn't a great way to find a big market and sell lots of apps.
By all means build such apps just don't get upset if you don't get millions of downloads.

Published at DZone with permission of Matt Lacey, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


John J. Franey replied on Thu, 2012/12/13 - 9:19am

In many different open source developer's forums, you see 'scratch your own itch'.  Mostly it comes from the core developers in response to a request from a user for a new added feature which does NOT yet exist.  The user is making a case for the value of the feature hoping that a core developer will pick it up and implement for the user.  The core developer, with a long work queue, is unconvinced of the feature's value and is not able to clear the work queue of other immediate priorities.  The core developer would respond: 'scratch your own itch' in order to challenge the user to prove the value of the feature by implementing and using it.

In this usage, 'scratch your own itch' is very good for all: users and core developers.  It builds community around a software system.  It encourages innovation.  It keeps developers focused on practical, proven features.  It discourages bloat.

I agree with the gist of your article.  I don't agree with your meaning of this term, and I don't like the headline.

Philippe Lhoste replied on Wed, 2012/12/19 - 5:26am

I fully agree with John J. Franey, the analysis is misdirected.

First, this often applies to open source, and to minor features. You rarely, if ever, create a full VCS (for example) because you are unsatisfied with the existing ones (unless your name is Linus...).

On the other hand, if you are competent in the domain and language used, you can bring improvements you need (or fix bugs that annoy you) to the softwares you use, as long as its source is open.

I made several improvements to the SciTE editor, which is my preferred one, partly because I like the way it is made, partly because it fulfill all my needs, some of them because I brought the improvements I wanted to have. The motto of the maintainer is: "I will include the improvement if you bring a good fix" — he cannot implement all the suggestions, he doesn't want to do it if he doesn't feel the need, but he is not opposed to new features, unless they clash with the general philosophy of the software. Or he provides guidance to put them more in line with the design.

Note that we can also invoke another common saying: "Eat your own dog food" (not sure where this vaguely gross analogy comes from :-))

It is very similar, but at a higher level: if you make or contribute to a software, use it daily to test it. It is true for my editor, it also applies to programming tools: if you make a VCS, use it to track your code; if you write a compiler, a good test is to rewrite it in the language you design (if possible, I don't this this applies to Dart or PHP); if you make a Web framework, hey, power your site with it! :-D

Michael Paul replied on Wed, 2012/12/19 - 7:21am

I agree with Matt, but in the context of business. If you are a developer wanting to create a new business, just the ideia of "Scratching Your Own Itch" may not be a good ideia. 

I made this mistake with a personal project that sounds awesome to me, as a developer, but didn't sound that way for others. If you want to create a business, read more about why this is wrong in 

Philippe Lhoste replied on Thu, 2012/12/20 - 2:01am in response to: Michael Paul

I don't disagree on the business side of things, except that's not what the saying is about, so the base of the article (and the title, as said above) is built on wrong assumptions.

The first sentence:

There's a popular idea that if you have a need for something then it's likely that other people will too. It's often termed "scratching your own itch".

is just plain wrong, because as we shown above, it is not what the saying is about. It is about solving problems for yourself. If the solution applies to other people as well, all the best!

Wans Wins replied on Thu, 2012/12/20 - 1:24pm

What you said in this article is actually the "Not Invented Here Syndrome" and it's very harmful to TI departments. Actually it's an anti-pattern!

We sure need to give choice for people for sure, but saying that buy libs/component/apps is a bad idea is just plain wrong. We are living in a world that time-to-market is essential to maintain business.

And you shouldn't say "just ask a developer you know" to justify your position, cause software development is huge and have many contexts and communities. I've the opportunity to work with communities that suffer NIH Syndrome all the way, but some others that make PoCs and choose wisely build-or-buy.

Best regards,

Wanderson Santos (@wanswins)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.