When you start learning programming, you know what an ideal programmer should be, and you are sure that you will be. You see the mistakes of programmers are older and more experienced, and you are absolutely sure that you will never repeat them.
When you got a job in the company at Junior Developer’s position, you look around and see how easily your older comrades hammer into templates and write two identical classes with different types of variables. How do they hardydy the size of the view in the code. How they read habr at work. And you know for sure that when you grow up to a Senior Developer, you will be better, more reliable, more responsible, any block of your code can be shown to descendants.
You have worked as a programmer for three years, you are (probably) looking more and more closely towards project management. Your PM is no longer a king, and no god, and his work does not seem difficult and incomprehensible to you. You see that you work a lot more than him, and he is lazy to make you a Code Review and praise the original integration of a third-party library. He does not even look at your ideal code in the most complex docking of the curved API and muddy business logic. And you know for sure that when you are lucky to manage a project, you will do everything better. You will be more careful in monitoring your developers, reviewing every class of them, praising successful decisions and blaming them for obvious mistakes.
')
If this sounds familiar to you, read on. I have long wanted to write something like that, but I finally made up a case when one rather experienced programmer at our company after about a year of work officially stated that he doesn’t even represent the role of a project manager on a project. Not mine, but close to me, and I knew that a good experienced PM works there. The problem is global, you need to work with people in this direction - to ensure that everyone understands the role of the other and provides support.
Well, let's start:
PM, 8:30(
Wake-up call ) God, how do you want to sleep. I am sleepy! Why so early??? Damn, what did I do yesterday? And, exactly, the customer called, he sat with him the whole evening on Skype ... they called technical support of some company, she was on the Pacific Coast, 11 hours difference ...
She, nifigaaa, I will sleep again, the work is not a wolf ... they all went to ... just an alarm clock re ...
PM 10:00AAA, ffak, your mother, to sit until night again ... well, let anyone say a word - I will ask about money for yesterday's overtime!
Developer 11:30Again, the work was late, brute. Why do I come to work at nine every day, but why is it possible?
PM 11:30Soooo, let's check the mail ... damn, 46 letters in one box and 18 on the other! And they are not too lazy to write ... soooo, we’re notifying, we’ll see a trifle ... 20 that need to be answered. Well, in one and a half hours we will overcome ...
The developer, 11:35From the same pancake, he came to work and immediately for his letters ... not only did he fix on dinner, he still didn’t come up ... job - write letters, they are all ... hell, I myself will say that I did all the work I knew, and the rest - who in the end needs it, me or him ... he gets paid for it. (
opens habrahabr.ru )
PM, 13:00Fuh, the correspondence is finished - thank God. Oh, everyone left for lunch ... damn, tomorrow I will come to 9. Well, we have a
meeting with the commander after dinner (he is
scoring a rally in Outlook ). Scattering while in Jira
Developer 13:59(
Returned from lunch ) Aah, 1 minute before the rally! Is it really impossible to plan them in the morning ?? Do we even have a management?
PM, 14:06(
spoken ) Hello!
Developer 14:06(
thinks ) And good morning to you, maiden ...
PM, 14:06(
thinks ) you need to give the team more participation in the life of the project. I know how to make architecture, we did it a couple of years ago, but let the guys express themselves - how little has changed, and learn to think and not just do. (
speaks ) Wan, here is such a task, what do you think is best done?
Developer, 14:07(
thinks ) you are PM - and you think. I will do the architecture, can I even answer letters? And what are you going to do, the code to write the crown from you will fall? (
spoken ) I don't know ...
PM 14:07Well, you think the client needs such and such functions as web services will do?
Developer 14:08(
thinks ) Well, here I am hooked ... well, I will answer a detachable one. (
spoken ) Well, you can do this ... But in general (
inspired ), there is one technology here, it will be easier, we have SOAP now (an
explanation follows than this technology is better than the one used now ).
PM, 14:13(
interrupts ) Wait, technology is cool, but how long will it take?
Dev, 14:13(
thoughtfully ) Nuu ... 5 days, if possible earlier, but maybe not ... but what?
PM 14:14(
thinks ) Nah, John doesn’t agree in life ... and only one additional service is needed. (
spoken ) No, you know what, let's just do it the old way.
Dev 14:14(
indignantly ) is this your decision or customer?
PM 14:14My.
Dev 14:14(
sly look ) Maybe you better ask the customer?
PM 14:14(
thinks ) yeah, I’ll tell REST, WSDL and SOAP pharmacist, he will transfer 5 days into bucks, and you can forget about the project ... this is how I feel the difference between aspirin and paracetomol. (
out loud ) No, let's do it anyway, so quickly.
Dev, 14:15(
thinks ) Well, why did you ask my opinion, anyway, did what you want. (
out loud ) come on, I don't care.
Dev, 15:00(after the rally) one more useless rally, no matter how much code I could write ...
PM, 15:00Fuh, shot out ... The middle of the day is the most relaxed, meetings with customers will begin after 4, give while I read the habr (
opens habrahabr.ru )
Dev, 15:10Damn, he also sat down to read Habr during working hours! No, I myself sat down that reprogrammed!
PM, 16:00Okay, after 15 minutes the rally with the company management. Aw, hell, a new quota has come, you need to process ... (
in Skype ) Wan, is there free time for estimeat?
Dev 16:01(
thinks ) Fuck, you have time for a habr, but no estimate! Taskov in bulk, just sat down to write! (
out loud ) Okay, I'll do it ...
PM 16:01(
thinks ) Phew, the miracle that such a person is, always insure. We must praise the leadership. Although at the meeting something nonsense flooded ... well, it happens to everyone, maybe it did not give ...
PM 16:30(
phone rings, looking at the number ) Damned Americans ... that they can't sleep! From the same w habit has entered the mobile phone to call! Okay, I'll go talk.
Dev 16:30Oh, I went on the phone to gab.
PM 16:35(
finished talking, thinking discerning ) “Vasily, please stay later today. We have urgency and emergency. Appreciate all your help! ”Fuck, but when you didn’t need something urgent! You value ... money you value!
PM 16:45Bliiiin, this is what I promised Svetka today to reduce in a cafe, already I ordered a table ... and at work until at least nine ... (
runs away to call )
Dev 16:46Oh, again gab! What does he get paid for?
Dev, 18:00(
thinks ) Phew, stayed out, set off. Arividerchi, I will go to drink beer with the boys, we will play billiards! Well, I forgot the code today, it's already a pleasure, the day was not wasted!
PM, 21:23(
thinks ) Oh crap, what's a fucken day! Seems like ... Fuck, I'm already starting to think in English. Another day in the ass ... Sveta was clearly offended, on the weekends a restaurant and apologies from me ... the boys are already booties, it will be uninteresting to them ... I will go home. How long, how cool ... Eh, it would be better to put the beds here, anyway in the morning to work ... Damn, I ran all day, didn’t have anything really, okay, everything tomorrow, everything tomorrow, sleep ...
Well, something like that, or close to it. I’m writing the words of a programmer not by hearsay, I thought so myself for a long time. And now it is bad to think about top managers, and somewhere deep in my soul I am sure that I would manage a company better ... Such is, apparently, human nature - it requires you to learn everything on yourself.
Mnogabukaf turned out, but I still summarize everything said above and try to give two specific advice. You can not read them.
1) Hold developers accountable. Not for criminal offenses, but in the draft. More often, give them some solutions, just by monitoring and correcting their execution. Do not forget to call them beautiful words - if you address “Wan, you have established yourself as a good architect, you need advice on how to do it here”, Vanya will feel like an architect and not a simple performer, and, most surprisingly, it is likely that they will be faster than you think.
Do not think that you are hurt by your self-esteem - you have enough nishtyakov, you are so PM, and the person will be at least very nice.
2) Give your developers the training of juniors instead of their own to engage in their training. First, they will stay in your shoes. Secondly, a person who teaches someone something learns quickly. In particular, to understand who teaches it.