The soup stone
[tl,dr]
Ask yourself (and your developers) is what I am doing what I want to do? If I am doing side projects what makes those so interesting? Because if they are really where I volunteer my "free" time then why is that not my day job? If your still struggling with the questions read the holstee manifesto for some inspiration, then come back.
{% img right /images/blog/soup_stone.png 'the soup stone' 'the soup stone - what to do about sharing' %}
Often times I hear developer "happiness" come up when turn over happens. It's all part of the "game" right? As a creative, why would you stay somewhere that was not helping you become a better painter or a place where you would get really excited about what you do?
To be pragmatic, I feel like I need to claim reality as well - we as devs also need / have to do the grimy grind work because not every line of code creates an epic bloom of fireworks. Face it, we have to mix our paint if we want the really cool colors.
I've been thinking a lot on the signs of complacency or waining enthusiasm developers face on long running projects; what keeps us motivated and how do we recognize that the "passion" has left? Then I thought "soup stone!"
It's funny how a common cause motivates people. For instance if you've ever done the startup thing then you know that everyone has a lot to do and has many hats to wear. Generally there is never much whining about what they "want to do" rather there is a lot of moving on what they "need to do" - need becomes want because of the cause.
Let's play a little metaphor game with the soup stone folk story:
Say that the stone is the company (because without people and product all a company really is, is an idea, a dream) and the ingredients added to the soup by others is the code that is written to motivate and move the company. What happens if your developers start pursuing other projects on the side and take their ingredients there. Why would they do that? What would motivate them to continue working on the mythical soup to make it a real soup?
Sharing is a massive problem for companies.
I'm not talking about OSS necessarily but something along the lines of the mentality where "as developer in company X I am not challenged nor am I motivated to be exceptional therefore I will go make products of my own that do excite me." On one hand you want your developers to be challenged and grow, on the other hand wouldn't you want your developers to be so excited about what your doing to not have to go and do the side gig thing to get the dev itch scratched?
Is it possible to ask a dev: "what can we do to get you more interested in what you're doing here?" - who wouldn't want to be energized and excited about their day job allowing you to make your night job "life."