"If you are a scientist, and you cannot briefly explain to a five-year-old child what you are doing, you are a charlatan."
(Kurt Vonnegut)
Ave, habrahomines, morituri vos salutant. Going to death hakrachelochestvo welcome.
')
Get ready for a merciless duel. Today, on the hot sand of the Colosseum, a manager and a programmer will converge in a bloody fight. A manager is like a retiarius armed with a net, a trident and a dagger. The programmer is a worldmillion with a shoulder pad, a shield and a gladius.
For some reason, this historical comparison always comes to mind when it comes to the formulation of the so-called technical assignment, simply TK. One gets the complete feeling that the manager and programmer speak different languages, and one of them is Gaul, and the other is, let's say, a Thracian.
Manager can be understood. It is important for him to take the job on time. It is sometimes difficult to explain to the manager that it takes a little more time to complete the work than he planned. The manager thinks in units of time, man-hours. He has no apparent reason to pay the employee for the complexity of implementation.
Every programmer at heart is a big child. He is like Dr. House, who is much more interesting to solve riddles than to save human lives.
And riddles happen. Sometimes - in the simplest place.
The owners of a large foreign Internet portal have turned to our company with a request to help them unwind on the Runet. You understand, the client is serious. Aware of all his responsibilities, the manager assigned the work to our best web programmer.
Here it is necessary to say in a nutshell that it is customary for us to trust our employees and ask their own opinions on the amount of time required for the implementation of a particular technical task.
The manager asked the programmer to start twisting a couple of icons in the navigation menu and honestly asked: “Yura, how much time do you need for this?” - “20 minutes,” Yura answered no less honestly. - A fun thing.
An hour passes. Other. The result is missing. A manager in Moscow, a programmer - in Lugansk (in the past, we just
wrote our topic, if you remember, about the vicissitudes of televorking).
Three hours, three o'clock. Four. The manager begins to slowly but surely go crazy. Of course, after all, besides the programmer, he has an anxious client at the other end of the wire, who can call at any time and ask how he is with promotion in Runet.
Finally, after five hours, the "trifling matter" was done. After receiving a notification of the work done, the manager, of course, is outraged and asks: "Why so long?"
The programmer is crumpled, after which the manager writes a letter of the following content:
... It is difficult to explain to a non-programmer, but I will try. We give the analogy car service.
I am a car mechanic, with good experience, a lot of things remade. A driver arrives in a car of an unknown brand, some kind of pure American. He says something knocks. I listened, everything is clear, you need to change the bearing. Where he usually stands and what he usually does, it is known, the overall design of all cars is about the same.
We drive the car to the pit, to the bearing ... and there PPC ... not reach it ... with no tools. To change it, you need to remove the engine! And work, time and money to remove and put the engine back in - this is another matter of principle ... Here and the fly ...
But the price is negotiated, the contract is signed ... Popadalovo ... Bearing diameter
5 cm ... Need to shoot the engine ...
We started to remove the engine, but it is also very tricky ... I had to look for a complete description of the design, how it was arranged, in what order to unscrew the bolts ...
In our case, everything is complicated by what to do on the go, at the moment
while the car is driving!
In other words, I was able to accomplish the task, only by raising the engine on my server and studying a hefty PDF manual in an incomprehensible language ...findings
1) A professional can explain any of his “stitching” with the help of a simple, but figurative Russian language, without using words beginning with the second, seventh and twenty-third letters of the domestic alphabet
2) Any technical task should be measured not only by time units t, but also by the complexity factor k
3) Any work must be paid for by the formula S = k * t, where S is the monetary equivalent
4) The complexity factor may vary in the process. The manager must take into account the complexity factor and the possibility of changing it.
5) The responsible employee should be able to inform the manager about the changed complexity factor in time. The responsible employee should not be afraid to demand from the manager the need to raise S due to the suddenly discovered k
6) Any TK, no matter how complex, can be described by the formula S = k1 * t1 + k2 * t2 + ... kn * tn, where t1, t2, etc., are time intervals, and k1, k2 and t . D. - the coefficients of complexity for a given time period.