This cartoon pretty much sums it up for me. I live to create and would do that happily without monetary compensation. I create and my primary medium is the web. In other words I code to live, not the other way round. This is one of the reasons why 90% of my tools are open source.
If I had admin access to all the servers in the world, I’d spend my time improving the web and fixing code. Writing code is my passion. Of course the reality of being a geek for hire means that I have to also manage expectations.
There is a certain balance that must be struck while doing the work that I do. On one hand I have the responsibility to write clean maintainable code. On the other hand, I have to deliver that code to a client and of course they have their own idea of what should be delivered. The third and fourth hands are busy doing right by the users and figuring out how to provide (equal) value to any number of other parties with a stake in the finished product. Come to think of it, it’s less of a balancing act and more like juggling a Venn diagram. A Venn diagram made of cats. All why striving to maintain a healthy ratio between productivity and profit.
Like most brains for rent, I don’t get paid for my time – I get paid for my expertise. I get paid to see things my clients can’t. I’m hired to mold their ideas into implementations. I may bill you by the hour, the sprint or the project, but at the end of the day my job is to make everything I touch better.
You see, I know my craft inside and out and take the study of its patterns and methodologies very seriously. So, clients that work with my process and go with the flow always get more value than they pay for. The ones that refuse to participate, collaborate, and grow with the project end up getting their code mailed to them in a zip file instead of seeing their idea launched. The first group gets to see the gauges on their metrics light up; the other is still wondering why I “just didn’t do it for them”. Its been my experience that those same clients have a long history of ‘bad programmers’without realizing what the common denominator is. (Hint: its them).
You know, there is one service I don’t offer. I can’t make up people’s minds. And I can’t do their work for them. In other words, if you just want me to whip something up based on your poorly constructed notes and vague contradictions, I won’t be able to oblige, try as I might. It takes courage and imagination to build something impressive. So, when all you bring to the party is a hastily copied idea and no desire to iterate and improve upon the work that came before you, all you’ll ever get is a pocketful of unfulfilled wishes and a project that arrives stillborn.
Now, that I’ve figured this out, it’s about time I started attracting more like minds to create awesome shit with, don’t you think?
P.S. – To all the amazing folks I’ve worked with over the years, thank you for being super-cool and letting me make your stuff better!

To me….”code to live” implies that you just code because you need the money. That is not my experience of you at all
When I chose those words, I was implying that writing code is like breathing — necessary, enjoyable and automatic.