Is it necessary to keep track of the programmer’s work time and, if necessary, what tools to use for this and how to make sure that employees are not annoyed.
My answer is quite simple and obvious: time records should be kept in mind when working with non-staff employees who are on your hourly basis. That is, you initially agreed with them that their work is paid at the hourly rate, which you also jointly approved.
For freelancers, for freelance people, an alternative to the hourly payment option is piece-rate or project payment, when you evaluate the cost of each task and pay for the completed task, it does not matter how much time the contractor spent on this.
We choose the option of hourly payment when working with more or less constant freelancers, when there is a stream of small tasks that are problematic to tinker with, evaluating and coordinating the cost of each small task.
Any time tracking tools can be used here, I will not recommend anything specific, because our company does not have any standard, each employee takes into account the time and how it is convenient for him, even with a stopwatch. The main tool here is trust – you have to work with this person, trust him and his estimates of the time, because it is impossible to check how much time it really took to work, any tool can be fooled. It is advisable that you personally have experience in carrying out such work, so that you at least roughly understand how much time this is done, how much time you would spend. If a person systematically gives a significantly overestimated time to complete tasks (compared to your estimates), then this is an occasion to look for a replacement for him, not trying to find out what is the reason – whether he works too slowly, or is cheating, there is no difference for you.
If you think that you should not conduct time tracking, then how to control programmers?
This question, apparently, concerns the control of full-time programmers, those who work for you full-time. Yes, I believe that with full-time employees, time tracking is not just not needed, but harmful.
An attempt to use programs that take into account how much time the programmer spent at the computer working tasks is a sign of weak and stupid leadership. Stupid, because you don’t understand how living people perceive such control. It turns out that it doesn’t matter to you how well a person works, whether he likes to do it, the main thing is that he, like a slave in a galley, unscrew the oars set by the oars. And you don’t understand that programmers are very savvy in computers, programs and how to deceive them. They will find a way for the program to show what you need, but there will no longer be trust between you. Weak – because you follow the path of least resistance, don’t want to spend time on individual work with people, don’t try to involve them in work, build work processes, find out existing problems, but stupidly want to get the result right away. Actually, this is the answer to the question of what to do and how to control programmers: do not treat them as a mass labor force. Otherwise, they will work, as in a factory. You need to find time for regular, preferably daily, communication with each person. You need to know what tasks he is solving right now. To wonder how things are going with the current task, is he stuck somewhere, is he walking in a circle, or is he banging his head against the wall. Ask how he sees the chain of the task, what stages he broke it up, how he estimates the current stage in time, what can be done to reduce this time, think who and how can help him. If you don’t have time for all this – find someone who has it. If you are too lazy to do all this – find yourself another job.