Dave Burke - A freelance .NET Developer specializing in Online Communities

A freelance .NET Developer

The rules of charity coding

The first rule of doing work for charity is that the code is written for the completely selfish reason to further one's own interests and skillset.  There is no pressure to get a charity app “out the door.”  Any app written for charity should take 3-to-4 times longer to complete than the same app created for a client or employer, or else its simple code monkey work.

Every charity app should be approached with a mentality of “how can I do this differently?” or “how would I like to do this if I had the time to do it right?”  Its charity; its time I'm spending to be a better coder instead of sleeping.  There are no deadlines or billable accountability.  I have the time.

I'm getting close on a 1.0 release of the site with necessary administrative functionality and basic user services in place.  I'm breaking my charity coding rules this week in an effect to get the thing out the door only so I can stand back and pursue new approaches, some application blocks I've not yet gotten to, or maybe write a bit about the code.  The users of the charity site will be informed that one or two more features will be coming online shortly, but after that point it may be a while before new features are available while I do more of the R and less of the D. 

As long as I remain true to the rules of charity coding and remember why I'm doing it in the first place (it ain't for the charity), I will continue to benefit.

 

Comments

Chris Stewart said:

I certainly agree! I'm doing a similar site right now. I really have spent a lot of time just figuring out new things.
# April 14, 2004 11:15 PM

Dave Burke said:

Chris, Thank you much for the confirmation. I believe strongly in the value of this approach to afterhours coding and the learning that results, so its good to know that others can relate and agree.
# April 15, 2004 7:26 AM

TrackBack said:

# April 16, 2004 3:39 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)