Every few months some thought strikes me and I cannot get it out of my head. Recently it was the importance of finding a balance between generosity and being selfish.

I have always strived to be a generous person. It has always been my goal to emulate the generosity my grandfather showed throughout his life. He was one of the single most generous people I have ever known and I hope that through my own life I am able to live up to the example he set for all that knew him.

I strive to be generous with my time, efforts, wealth, and knowledge. Recently, however, it has struck me just how important it is to be selectively selfish with your resources.

To help provide an example, I’d like to briefly tell you about something that happened within the Easy Digital Downloads team recently.

Last month we had an emergency team meeting to discuss possible solutions to a serious problem that we had allowed to develop in the Easy Digital Downloads ecosystem. You see, Easy Digital Downloads had become a victim of its own success. From the beginning, Easy Digital Downloads has encouraged outside developers to build on top of it and then submit those extensions to the Easy Digital Downloads extensions catalogue.

Through our own success, we created an identity crisis within Easy Digital Downloads. We advertised and supported so many extensions from so many different developers that it had become increasingly unclear–to us and to customers–what Easy Digital Downloads truly was as a product. To illustrate this, first understand that Easy Digital Downloads was built with a single purpose: selling digital products. Now take a guess at what one of our best selling extensions is called? Simple Shipping. That’s right; one of our most successful extensions is one that transforms EDD into exactly what it is not supposed to be: a system for selling physical products.

Through the hundreds of extensions it had become possible to do almost anything reasonably well, but we had lost sight of serving our core purpose. We, and the wider development community that grew up around Easy Digital Downloads, embraced the flexibility of the platform we created and made it possible to do just about anything with it.

We not only lost focus on what our core feature set was, we lost sight on what the goals and agenda of our team were. We went from building and refining our product every day to just barely keeping our heads above water while trying to help customers get by and make these hundreds of extensions work “okay”. What ever happened to Easy?

We had become far too generous with the features that were permitted in our system.

So we had an identity crisis with our product, yet we had an even bigger crisis within our own team. Not one of us had signed on to help set up sites that worked “okay” through a mishmash of piece meal extensions; we had signed on to build an easy to use digital eCommerce system that just worked. We signed on to build something truly wonderful, yet somewhere along the way, we lost that.

As a team, we were struggling and unhappy. Several of us seriously considered quitting. Myself included.

It became clear to us that we had to make changes, so we decided to be a little selfish. It was time to truly own our product and to refocus on what we had set out to build in the first place.

We have made numerous steps already to re-owning our product but we still have many more to take. In the coming months we will continue to make the necessary adjustments needed to get back to our core mission and I’m excited for the possibilities once we get there.

In the mean time, the realization of the identity crisis we had on our hands made it clear to me how important it is to be a little selfish.

We all know that a happy team performs best. We tend to forget and neglect, however, what it takes to be a happy team. Though not intentionally, we ignore the creeping problems that slowly strangle us and allow them to work their way so tight around us that we suddenly realize we can no longer breathe.

With the right amount of selfishness, we can address the problems that are consuming us. Once we have addressed our own needs as a team, we can address the needs of our customers.

Addressing our identity crisis has involved several significant changes.

First, we have committed to saying “no” far more often. If a feature isn’t right for our core vision, it doesn’t get accepted. If an extension isn’t good enough, it is rejected. If we, as a team, are not 100% on board with something, we seriously consider canning it.

Second, we have committed to purging our ecosystem of features and extensions that are constant pain points. If we’re constantly struggling to support a particular plugin or feature, we review the facts and use those to determine the outcome. If it is too expensive to support or simply does not bring in enough revenue to justify its costs, it goes.

There will be those that are unhappy with our decisions to remove certain features or plugins, and that is okay. For a long time I struggled with the possibility of a customer or developer accusing us of bad business or being greedy or negligent because we decided to remove a feature. I realized recently, however, that I am okay with that possibility. Why? Because we must be selfish from time to time. We must take care of ourselves first. Being selectively selfish is okay, great even. Do not ever let someone tell you its not.

The adage that the customer always comes first is wrong. The team comes first. My team comes first. Sometimes there is a feature that is loved by one customer but causes problems for 99 others. If it causes problems for 99 customers and only helps one, that hurts our team’s health so it has to go.

If we have problems that are affecting the health and well-being of our team, we must address those. For us recently, this meant taking much tighter control of our product and no longer carrying the excess baggage that had accumulated in our ecosystem.

Be selfish with your time. Be selfish with your efforts. Be selfish with your product. Do whatever you can to find the right balance.

I strive to be generous with the resources I have, and I will continue to define my life through generosity as much as possible, but I will also reserve the right to be selectively selfish, especially when my well-being and the well being of my team depend on it.

  1. Ravi Roshan Kumar

    Hey Pippin,
    Glad to meet you here.. 🙂

    Nice article indeed.. I have learned many things reading this article.. you know. I am very happy to know that all the discussion in your site are interesting.

    I agree with you to be a little selfish. As you all know this is an important funda!.. And it works wonder sometimes. Therefore, I support your article.

    Thanks for your contribution through this blog.. 🙂
    Have a great week ahead..

    – Ravi.

  2. Manuel Vicedo

    A move that might hurt others, but a good one regardless. I guess this is part of learning to say ‘No’.

  3. Fernando

    There is absolutely nothing selfish about doing what’s best for you, so long as you are not stepping on others in the process.

  4. linux security distro

    You are so cool! I don’t think I have read a single thing like that before.
    So wonderful to discover another person with some unique thoughts on this topic.

    Really.. thank you for starting this up. This web site is one thing that is required on the web, someone with
    a little originality!

  5. CodeBard

    “That’s right; one of our most successful extensions is one that transforms EDD into exactly what it is not supposed to be: a system for selling physical products.”

    You are wrong there, Pippin:

    WordPress was intended for an easy way for people to create blogs. Look where it ended up at…

    There is nothing wrong with a ‘product’ turning into a framework for doing things. This is the nature of Software. If your software was able to reach a status of a framework which enables people to do many things, you should be glad.

    As the ecosystem of a particular piece of software grows, people or services who would sort out the wild jungle that its extensions and additions become, no worries.

Leave a Reply