I break it down into several tasks - development, testing, and documentation. I know some developers don't consider testing and documentation as "dev work" but they are very important.

If the type of work has been done before, I refer to a baseline which is just a simple spreadsheet indicating the complexity level and how many hours should be allocated for each task.

If the type of work has never been done before, I do more research before coming up with an estimate then I update my baseline spreadsheet in case the same type of work is needed again.

If the estimate needs to be provided on the spot during the meeting then I just honestly say that I can provide a rough estimate but it could change since the work has never been done before and I need some time to research.

If they tell me that it needs to be done now or that I need to somehow "guess" how long it will take and commit to my "guess", I go home and let them fuck themselves.

After providing the estimates, I always aim to finish it before the deadline in case a wild shit appears. But if the client is an ass, I work slower.

Your Job Suck?
Get a Better Job
Add Comment