At the moment, my workflow is built on two threads interacting with each other, one for the soul, the other for the body.
The one for the body is programming on 1C; the one that for the soul is a window in open-source with predominant use of C #. The first connects with reality, the second leads a little away from it, as a result of the action of opposing forces, in theory, I must expand, like the universe, although there are more than two forces there. The interaction of these flows is defined as the connection between my inner world and my outer one. What motivates the development of these worlds, in the first case, people are their talents, in the second, people are their material capabilities.
In the physical world, we all know the measure of motivation, i.e. then how it can be measured, the amount of money, and now this bijective display of the amount on skills and vice versa will be a small subject for consideration.
')
I will begin with the situation that arose in my professional activity about 5 years ago, was a customer, for him it was necessary to implement the project. The project was long and new for me, roughly speaking, the code, which could be applied, was not modified. Initially, the task was narrow, and I understood still far uncertain, without waiting for its detailing to the necessary condition, I decided to expand and universalize it myself. He worked on this project for half a year, realized his plans - found a solution for a quadratic equation, but in parameters. This solution could be applied both for his task and for others from the root field of this solution. We discussed the financial question on the basis of solving a specific quadratic equation. And here, in my mind, these two components of motivation arose, one motivating the solution of a quadratic equation, the other equations in the parameters. We note for the customer such a division is not possible, he is only interested in the first one. After the implementation of this project, there were new tasks from this customer, as a result of which he offered me a constant monthly salary, the amount I expected, he immediately multiplied by two and I certainly agreed. I worked in this mode for a couple of months after that, the customer calls me and breaks the relationship with me on the phone, explaining that he showed me the modifications to the company engaged in the same thing, and the programmers of this company, having isolated the modified code from the standard one, said that it is possible do in a week. What I did for 8 months they could have done in a week, I ended up having a shock at the beginning. I immediately introduced the titans of thought, working in this company, solving equations more than in the fifth degree and even in radicals. Over a little time later, I calmed down, but the questions remained, what are the criteria for evaluating their work. It was necessary for me to develop a system of evaluation and motivation for myself, henceforth, so that I would not enter into shock states and that my hands would not fall after getting into such situations.
Let us return to the project, in order to argue more specifically, I will explain a bit of specifics from 1C to make it clearer for those who are not familiar with it. 1C is a programming environment that works with the configuration file, it describes all the database entities, it also contains modules containing the code, the interface and the system of rights are also described in the configuration. Often, customers have already 1C bases operating on one configuration or another, and in these cases they have to modify the existing code. My main task was to create a new workflow subsystem in a distributed environment. In 1C there are standard data exchange mechanisms between distributed databases, but at that time they worked only at the synchronization level as a whole. I designed the project as external processing, this is another type of 1C translation files, it can be run in 1C runtime. During the startup process, my processing is associated with Visio, and that in turn provides its capabilities for drawing a workflow scheme. Visio used it because there were no built-in drawing tools at that time, and even now they are not developed, they do not have click handlers. The customer by adding elements to the scheme and defining connections between them, thereby drawing a document flow scheme in his information environment. The environment is the nodes of a distributed base, its points of production activity. Documents can move through them, and here the composition, as well as the nature of their movement, is drawn in this diagram. Thus, drawing a diagram is a solution to quadratic equations. Processing should be able to work with the schema metadata and organize the exchange of documents according to it. In 1C 8, it became possible to have a binary data analog BLOB type as the data type of a table field, and that’s where I saved this processing and metadata, and in the process of launching 1C it came from there and loaded into the work environment. Thus, the code was not stored in the configuration, but in the data, and apparently this was not seen by the programmers of that company. They didn’t see why that in the process of project detailing a lot of time is spent on discussion of the project. Further, they did not assume that it was possible during the implementation of the project, conditions changed, and at the same time the code changed and was deleted and rewritten. Finally, they did not realize that in the process of already implementing the project there were questions related to the work with it among end users. Another example, a recent one, asked me to accomplish the task, I immediately evaluated it in monetary terms, the customers went to the meeting, implemented it in about an hour, I had to insert lines of 15 code into the existing configuration. Later, these same customers asked me to do something else, I arrived, an accountant who coordinated the work told me: “Listen, I have a boyfriend, he is also a 1C programmer, I showed him what you did, he grinned and said, you paid too much for it. " To which I replied to her: “Why couldn't he do this?”, “He doesn’t have time,” I heard in response.
They are simply cunning.
I would like to know why such slyness, among programmers, by definition, reasonable people. What motivates this slyness? It is clear that programmers are all different with their abilities and talents, but why should people not versed in these issues be confused, why generate self-interest, greed. After all, in the first case and in the second customer satisfied the price.
Now I come to the main question - what is the motivation? Once I built for myself the following scheme for evaluating my work, which dances from the finished result and the market. But I want to make a reservation right away, I’m not working in a team of programmers (this happened for a number of reasons), which, by the way, is also a very interesting topic, because working in a team I think aerobatics, if of course the team is productive, working on one project and in it everyone is happy. So my nature of work involves the entire cycle of processes, from the formulation of the problem to the implementation. Accordingly, some time is spent on not programming, but it is also estimated. Based on my experience, I determine the amount of time required for the implementation of the entire project, multiplying by the market price per hour for 1C specialist (companies working in the field of 1C are dark, so it’s easy to determine the market price per hour for an expert). Sometimes a big amount comes out or vice versa, then I start to dance down or up accordingly, asking myself one question from one variable (x - amount): “Is the x-amount for the project enough for me?” And in order to find a solution to this question, the head sometimes have to generate a hurricane. As these two components of motivation begin to fight for existence, one for the body, the other for the soul, a kind of scale. Naturally, the one that increases the amount for the body, which that decreases for the soul.
I will explain a little how they change the variable x, the one that will require a strong specification of the project for the body, which ultimately leads to a longer task setting time, as well as the possible appearance of other tasks in connection with this. As a result, the tasks, as a rule, turn out to be more within the framework of one project, they are narrow, easily solved, and all the time for solving these tasks I have the right to include in the final cost. The soul will require the expansion of the project, its development, generalization, which will lead to a more universal solution, but since the solution to the task will be contained in the solutions of the expanded task, I have the right to evaluate it only, since the remaining solutions are not used in any way in the project being implemented. You can certainly think that in the future this universal solution can be more fruitful, but who knows what will happen in the future, a hurricane in my head now, it needs to be reassured now.
I began the article by saying that now there are two streams in my workflow, which, in fact, also have two components of motivation, but they are already fighting for time. And in that stream, which is for the body, the above described hurricane occurs, and that component in the scale of scales, which is for the soul, fights for the time allotted to the “stream for the soul”, ultimately.
What are the schemes of evaluation of work in its material component, I ask this question to anyone who understands what they mean, but I do not see any non-standard answers.
The salary - everything is clear here, it motivates only the accompanying activity, the routine (flow for the body), the desire to search for universal solutions to anything.
Salary with bonuses - trying to allocate a little time for the flow of the soul, such motivation as it involves the search for universal solutions with the ability to use them in the future, with less cost to implement similar tasks.
The percentage component of new projects is the same effect as the previous one, but stronger, here is a direct relationship with preconditions, while the salary with bonuses with a post-condition, roughly speaking ambiguities.
In my opinion, the most advanced method of assessment depends on the economic effect brought by this decision. For example, I try to understand that the project will bring the company, which processes optimizes, for example, as a result of the implementation of some projects there is a reduction in the enterprise, or labor costs are reduced. As a rule, people in teams work on large-scale projects, for example, they are engaged in developing systems with processing a large number of requests, here the performance in its purest form comes first, and the economic effect can be estimated as the dependence of energy consumed by servers on the solution.
I understand perfectly that not everyone has some kind of motivation scheme, I understand that something is moving a lot, and he does not think about it. A person can get into excellent working conditions, with good people, leaders, etc. contentment, interest, he will do his job even without thinking about these issues. But my life was confronted with the fact that I had to think.
I would like to hear what other motivation schemes exist, and whether they suit you.