Working a death march
Poor Jakob. He accepted an overly optimistic (aka. unrealistic) schedule handed down from a manager, and is now suffering the consequences. A duo of lessons that will hopefully be learned:
- Personal schedules are the best bet. Non-technical managers are the last people in the world who should be making development schedules. Most inherit an amazing inability to grasp the intricacies of programming paired with over-zealous optimism and judgement based on previous developers accomplishments under different circumstances.
Even trained developers, who understand all the complexities of code, are notoriously bad estimaters. Known to be off by hundreds of procents. But they're still the best bet. The lesser of many evils.
- Unrealistic schedules make developers less productive. This is contrary to the instincts of many managers and even a lot of developers. Always being late is depressing, forces quick and bad judgement, and leaves a trail of miserable code that'll take longer to debug and which is harder to maintain and extend.