1. You’re desperate to start a new personal project and have picked out the tools with which you’d like work. You have no experience of these tools, so you need some time to get used to them.

    You refused to use a framework which makes life easier for you, due to one or more of the following:

    • It’s badly engineered
    • It has a poor security record
    • It uses a naming scheme which annoys you

    This means that you have to recreate an entire framework, or at least a significant part of it, if you want your project’s design to be at all elegant and focussed on the problem at hand.

  2. You have a problem report. You have no access to the machine on which your code is running, you can’t get any sample data, the report mentions an error message which is ‘something about abc xyz’ but doesn’t give the full text and a newsgroup search for ‘abc xyz’ refers to a completely different platform, language and RDBMS. A fix is required with utmost urgency.

  3. You are getting unexpected results. As such a problem is your doing 95% of the time, you blame yourself until your finally get irrefutable proof that it is caused by something out of your control - e.g. a bug in the OS.

    You have spend half a day tracking down the problem and finally you’ve found the reason by searching the web; now you need to spend hours hacking up an ugly workaround. Your time has been wasted, but it’s just tough luck. You’re not going to get far if you (for example) call Microsoft and ask for compensation for your lost time.

More? Let me know!

No comments