Contact me for anything. If you want to employ me, see “Contract Work – Terms and Policy” below. If you want help with software development issues, see “Asking for Help” below.


Contract Work – Terms and Policy

I do not actively search for freelance jobs but I do get people contacting me asking me to write code for them (usually developers). I typically will not send even a demo to strangers until I receive full payment. I can, however, demonstrate all aspects of the code functioning through screen sharing before receiving payment. If you would like the terms loosened (such to an extent that you receive a demo before sending payment), contact me through a freelance programming site with a user account that shows a positive reputation as a client. The account will be reviewed for legitimacy.

I may loosen terms for strangers based on how much of the client’s identity is readily available to me (for profiling). The most influential form of identity is a developer account which shows that the client has contributed selflessly to his/her programming community (this does not include questionable hacker communities).

I no longer do work for clients that:

  1. Do not have their ideas prepared. In fact, I am almost fully put off by people who relay their ideas through a multitude of Skype messages instead of a formal document. This lack of structure and detail tells me that the client is not serious about his/her project and should, therefore, not be taken seriously.
  2. Do not speak fluent English. In these cases, it takes much longer to get the idea out of the client than it does to actually implement it (it’s not worth the time). A workaround for this issue is if the client fully documents the idea in his/her primary language, then translates it to English. The document will be reviewed, if something is not cleared, it can then be clarified through usual means (VOIP or instant messaging).
  3. Are unusually vague and indecisive about the features they want (this is indicative of malicious intent).
  4. Attempt to negotiate new terms by telling stories about themselves, or bring up other irrelevant things, in an attempt to come off as a more trustworthy person (I’ve heard many things nothing short of ridiculous).

I will be much more interested in writing an idea if it organized and presented as a PDF, with as many details as possible filled in. A well-prepared idea will save everyone a lot of time and frustration. A PDF will allow me to accurately quote a job as well.

Asking for Help

I get a handful of requests for help every year. I really enjoy problem-solving – I could even say that it is my thing. However, I do not enjoy continually prompting for more details on the issue, or extrapolating the problem from a vague message. It is amazing how many people think I am some sort of extrapolating Jesus. Email me all details pertinent to your problem upfront. Email the entire code solution if you can so I may debug it. I also do not enjoy debugging code through UI when the code can be isolated in a unit test or console application. Have the problem isolated and ready to reproduce before contacting me about it. I do not want to learn about aspects of your code that are unrelated to the problem. Furthermore, before sending code, don’t forget to remove the Pokemon exception handling from it, and don’t forget to make it somewhat presentable otherwise. The more of these things you do, the more engaged I will be. Conversely, I don’t bother too much with people who clearly haven’t googled their error code/message, or seem to be in over their heads (often or not script kiddies).