Development projects are expensive. But when opportunities are exciting and the budget is small, we tend to give a lot away for free. Here's one way to meet closer to the middle.
I had been a few months into freelancing full-time when the executive director of a local non-profit approached me about building them an application. It was a new and exciting opportunity for me from a technology standpoint. And as a bonus, it would benefit our local community with historical information at no cost to the user.
But there was a problem — the client didn't have much money to spend, and what they were asking for was worth ... a lot. A lot more than they had. I was new to supporting my own business and didn't want to give work away for free. The time I was willing to give away for free I was already donating to another local non-profit.
Fortunately, I was making enough money from a couple other projects that I was in a position to walk away from the opportunity, just as much as I was in a position to invest in the opportunity.
I racked my brain, trying to work out a way to make this project affordable to the client and valuable enough to motivate me. After several conversations, we agreed on an approach ...
The client would pay a monthly "license fee." That license would provide them access to a content management system (CMS) and an application on the App Store and Google Play. The fee also included ongoing bug fixes, software updates, and small feature adjustments at no cost. They were roped in for 12 months minimum, and I had the right to renegotiate the contract at any time.
My thought behind this approach was not that I would ever make the same amount of money as if I'd quoted it as a fixed bid — that would take more than a decade. I was investing more in my future. I had the time and ability to do the work today and continue to get paid for it tomorrow. And if I did that for enough projects, it could turn into a decent chunk of income down the road.
While my story doesn't quite pan out that way, if I went back to the beginning, I would do it all the same again.
Non-profit organizations, especially those doing good for our communities with limited funding, deserve to have access to professional digital solutions. On the other hand, development teams deserve to be paid for the work they do. This approach provided a means to meet in the middle — a solid product for a client that could use it for good at a rate they could afford.
This exact approach won't work for every dev team on limited budget projects. What it shows is that we can be creative in how we approach budgeting. Dev work doesn't have to be either free or expensive. There are many ways to meet in the middle.
So get out there and be creative in how you invest your expertise into your communities!
YAML says that YAML is a human friendly data serialization standard for all programming languages. But WTF does that mean?
A punchlist of the last few tasks for developers to consider before launching a new website.