After publishing a
summary of that guy , two good things happened.
First, that guy began to receive a lot of job offers. More than ever.
Secondly, more than half of these proposals are related to management — either product development, or streaming service development, or solving project problems.
Thirdly, a lot of messages have come - this time to me already - with requests to state the methods for speeding up the development. Well, those who
helped the girl .
And then I learned that in a publication about a girl I had deceived everyone. I said there that she read one article and talked to a guy once. But it turned out she read a book.
')
I have long wanted to systematize the practice of speeding up development, but there was no reason. And then one company approached me and offered to develop a course in order to sell it later in a certain (which is already there - 1Snoy) environment. It was supposed that this would be a video course, with some presentations and tasks - boring, in general. I decided to kill two birds with one stone - to write a text, such as a book, and then a video course would be made from it. Thus, two products would turn out. It would have been a third effort with minimal effort.
The structure of the book has long been known what to write there - too, you just have to sit down and do it. I have written, for the moment, 6 chapters out of 20, i.e. ~ 30%. And, once I went to such a booze, put them in the form of articles. The girl, by the way, read only 3 chapters.
Now will be the first introductory chapter. There is a small specificity - since the book, in fact, was created to order, then it is about developing on 1C. By removing the references to 1C, I would have made a third product out of it - it would take half a day.
But now I didn’t clean anything - read how it is. If it seems to you that development on 1C and javascript is too different, then do not read. My life has shown that, from the point of view of efficiency, there is a difference, of course, in the development of javascript there are even more points of effort and, accordingly, the expected effect is higher. All right, let's go.
Once you get acquainted with this material, I can assume one of two options.
The first - someone made you. Chief, Director, Project Manager - it does not matter.
Secondly, you study this material of your own free will, because you are striving to improve efficiency — either in person or in a team that you enter or maybe even lead it.
It’s easy to guess who you are: you are either a programmer, or a programmer’s head, or you work for a company of programmers, and maybe you own this company.
Why do I talk about all this? Just to say: relax, and have fun. Information will be useful to you, regardless of your role in the company.
This is not a guide for managers, how to squeeze all the juice from unfortunate programmers. This is not a guide for programmers on how to fool managers. This is not a guide to deceiving customers.
This is a guide to improving efficiency. Your personal, your colleagues, your subordinates or department, team or company as a whole. It is written by the programmer, and in combination - by the project manager, team, products. So, I dare to hope, I understand and personally consider your interests.
So let's talk about efficiency.
Look around for the programmers around you. Which of them is working efficiently right now?
That guy over there, let's say, plays tanks. Is it effective at the moment? I think no. You can, of course, pull your ears and say that he is so relaxing after solving a difficult task, and in half an hour, with new powers, will go into programming. But, most likely, after the tanks he will go for a smoke.
And those two people who are arguing about something lively? It seems about the architecture of a solution? Are they effective?
At first glance, yes, of course. After all, the design of architecture, and even in the group discussion, through brainstorming is both important and useful. As they say, one head is good, but two is better. But let's listen to their words.
One says - it is necessary to make a register of accumulation. Another shouts - no, what is the register of accumulation, what are you doing, felt boot? Only register information! How much is this going on? Half an hour? Hour? You look after them there, and then they will fight.
And over there, the wise guy, does not argue with anyone. Sits in headphones, propped up his head. It does not program, it is clearly visible. What does he do? Ask?
Says he designs solution architecture. Well, again. Do you design straight? Do you draw a diagram in your head? No, he says, I think - the accumulation register, or select the information register. Have you been thinking for a long time? Two hours already, the whole head broke. The options are the same in labor costs, and none of them has particular advantages. Is it important for the client whether it will be a register of accumulation, or a register of information? Probably not. The client is Klavdiya Eliseevna, an accountant, she does not care.
This guy is effectively spending time, what do you think?
Well, and that one. The hand quickly turns the wheel on the mouse, focused look into the monitor. What does he have there? Yeah, the familiar list ... These are our tasks! What does he do? Ask?
The task, he says, I choose. I do not know how to start. Half is not clear, half - on thick forms, but I do not know them, because they are young. Here you need to know ACS, and I ... Well, this is ... So-so.
Is this effective?
Let's look at our champion. This one is definitely effective! He gives such decisions, you will download! In one the hardest projects pulls! What is he? Hmmm, some kind of layout draws. Hey, champ, what are you doing? Torg-12 correct? And what's wrong there? It is necessary that instead of the name of the contract displayed the number and date? Seriously? Such a problem?
Well, we, of course, understand - the customers asked, it’s necessary - it means it’s necessary. But why do you, the champion, solve this problem? You seem to have enough big, serious tasks, the level of subsystems and new configurations. What more there is no one Torg-12 to correct? Maybe it’s better that the guy who cannot choose the task for himself can handle it?
The champion is effective, what do you think?
And that guy over there doing what? Why is sitting near the phone, and looks at him like a soldier on a louse? Call, perhaps, waiting? It seems not, the office manager accepts all calls ... We ask?
Oops. He should call the customer, but he is afraid. For two hours he has been sitting and inventing conversation scripts, he even wrote something down in his notebook - some phrases, his own predictable answers. And why should he call the customer? He is an introvert to the bone. So, stop, at us everyone communicates with the clients. Something is wrong here, it seems ...
Well, okay, with these understandable. What am I doing? I am writing the unloading of the UPP in Accounting 3.0. There really is not digging - effective as hell. Or not? Where vague doubts in the soul? Maybe their reason is that we have already done the unloading from SCP to Bookkeeping 3.0? And more than once. Why am I writing it again? Why not get ready? Configurations are typical. Damn, and I will have to work ...
You can continue indefinitely. If people
do not get accustomed , it always
seems that they work effectively. Well, or at least work. In fact, we do not even think that they are effective - we
hope that they are effective.
We
want it to be this way, otherwise the worst will happen - we will have to
delve into it . Understand, measure, analyze, think and try to change something. Much easier to leave everything as it is? And if someone fails to work normally - so well, he himself is to blame! Expel him to hell, and the matter with the end!
All right, laughed, and now seriously. Efficiency - matter unattainable, like the setting sun. No one is ever so effective that nothing can be improved. You can always get better.
So where is the efficiency lost? In the first place - where a person is
not working . In our case, where a person
does not program . Although, as you understand, and programming can be ineffective.
If we consider the value chain - from the appearance of the task to the receipt of money for its solution - then we will see a lot of dark places in which nothing useful happens. My own research has shown that an ordinary programmer can thus lose up to 97% of his time.
He can choose a task, argue, think, choose from two equivalent solutions, be afraid of something, try to meet the deadline, repeat the already written code, and so on, ad infinitum. Options for loss of effectiveness - a huge set.
Just take it for axiom - the programmer is always ineffective. And you - including. And me too.
If you resist this axiom, invent excuses, argue and try to prove something - to me or to colleagues - you will never be effective.
I understand that such a statement - “I am ineffective” - can hit very hard on vanity. But we agreed a little earlier that you relax and enjoy. In the end, because you can not change anything, leave everything as it is and live on, happily in ignorance.
But try, after all, worth it. You never know, suddenly your competitors are also studying this material? If they do not resist, and make efficiency increase their mission? Not a beautiful piece of paper on the wall in the hallway, but the real red thread of all its activities? Then the rules like “I believe - I do not believe” or “I want - I do not want” will cease to act - the tough and inexorable laws of the market will come into effect.
All right, I won’t waste time convincing. If you like to exist with your head in the sand, like an ostrich, then you can not study further. I believe that you want to become more efficient.
There is such a thing - continuous improvement, comes from quality management. We heard, probably, about the Deming cycle, known as PDCA.

The main meaning of this cycle is
in isolation . Actually, therefore, it is called a cycle, and not a process that has a beginning and an end. The Deming cycle governs cultivation, which is iterative, and as a result, endless.
If you are familiar with the theory of restrictions Goldratt, then here's the picture from there.

Words are written by others, but the meaning is the same -
cyclical . Improve, and perfect, and perfect. There is no limit to perfection.
Each iteration is an experiment to introduce a change. It either improves efficiency or not. If increases, it remains part of the process. If it does not increase, then it is thrown out - this is normal, experiments can be unsuccessful. More precisely, they lead to a negative result, have a negative effect on the objective function, but on the whole such an experiment is a success, because he saved us from an inefficient method.
I will offer you two dozen experiments. Each of them, individually, can improve the efficiency of programmers. Or it may not increase - it depends on the environment in which the implementation takes place, and on the person who implements the implementation.
You can try all the methods, you can - only a part. There are cases when the use of only one method increases the efficiency by several times. This is called the “lever principle” when a key cause of problems is found in the system and its solution is precisely selected. But, as you already understood, there is no limit to perfection.
Some methods are designed for implementation in a team. If you do not have a team, you are alone, and will only deal with their effectiveness, then these methods will not help you.
If you have a team, then you are lucky. You can achieve what is called synergy. Although the word and spoiled by marketers, as well as the word "efficiency", but its meaning has not gone away. A team can give efficiency more than the sum of the effectiveness of its members.
There is such a famous synergy formula: 1 + 1 = 11. It literally means that combining the efforts of two people can produce a result that is several times larger than a simple sum. It is clear that marketers have come up with this formula - no one has yet been able to prove it in practice. But the message she gives is correct - the team can do more than the team.
Therefore, we will spend a lot of time working team. First of all, these are, of course, methods based on interaction, exchange of experience and mutual assistance.
Summary
- Any person, at any time, works inefficiently;
- Virtually any human action can conceal a loss of effectiveness;
- If you engage in efficacy proactively, it will not change;
- The effectiveness of any person has endless potential for improvement;
- The effectiveness of the team may be higher than the sum of the effectiveness of its members.