Most of the programming tasks have a due date for yesterday, but best case until end of the day. At quite a lot of companies it is a common practise to ask you to not to go home until your task is not done or asking you to cancel your holidays because of the current work situation.
On the other hand however people thinks that programmers have no life, most of the cases it is not true. Programmers have family, hobbies, friends and need for simple having rest.
And there is something what is called work-life balance by HR people, first it can sound as bullshit, but it is very important in fact, it is very important for you.
So normally you are working on a task which has a due date. And this due date is usually earlier than it should be. What can you do?
Do some over hours/work on the weekend or during your holiday and finish it in time
Being late with your task
Show to your manager before starting your task that it is not possible to finish your task in time before you’re starting it
What will happen in case of the first solution: you are working when you shouldn’t. You will achieve the due date. Your manager will be satisfied and will find your next task immediately. So you can continue to work on the next day and you are loosing the time to spend with friends, family or having rest. On long term if you are doing it frequently your manager will know that you can achieve the critical tasks in time and will assign all urgent tasks to you. And this situation will happen to you more and more often. On the other hand your boss will be satisfied with you, but to be honest at most of the companies it is not honoured enough.
In case of the second option your task will be done late. Of course your boss and manager will be unsatisfied. There won’t be any feeling of success from your side. And you can block your colleagues in their work as well, since they may are waiting for you or for your inputs. It is a loose-loose situation.
The third solution it the one I would suggest to follow. For that you need to be able to estimate your tasks as precise as possible. It’s up to the company and working model who is estimating your tasks. It’s either you or one of the most experienced colleagues of you. If it’s you then it is pretty easy. Otherwise always check the estimation/planned due date before start to work on the task and if it is unrealistic for you let your manager know about that. Always inform your manager about the followings: what if a realistic due date in your view and how did you calculated it (show him all subtasks you identified and their estimations). If there is a possibility to skip any of the subtasks to make it faster (not testing a part, less documentation, less nice solutions etc.) let always mention it with advantage and disadvantages. Then it should be clear to your manager that your task won’t be done until Tuesday, only until Thursday. He can adapt his plan and you won’t block the others. And you can finish the task until Thursday without doing overhours.
Of course there are situations when it is not possible to change the plans such way, but most of the cases it is possible.
This is the way of working which turned be best for me to be successful in my work and having time for my family and friends as well.
If you have any other idea feel free to share it with us in a comment!
All the best for you!
RelaxedProgrammer
http://howtosurviveasaprogrammer.blogspot.com/