A few (well only 2) people asked as to how I managed to create a second line of command in such a short span. Umm… I have not really documented the process and there is no magic formula which will work… besides I am an awful manager. I am sure a lot of management gurus out there must have got this honed down to a fine art but none the less here is what we did.
Some background first – None of my current project managers knew PHP when they came to SANIsoft which was a good thing because I got to teach them PHP exactly the way I wrote it – complete with all my finesse, flaws and work flow quirks. So in many ways, in the end, they were my coder clones – that made my job easier – I knew how they worked.
One fine day I just switched the daily reporting method. The top three (based on experience) now got daily reports from three newbie/trainee/junior programmers each. These reports were summarized and then sent to me. Over the next few days they learnt that what was written had to be verified and not taken on face value, I nudged them into realising that if they kept tabs on what was happening throughout the day instead of trying to gather things at the end of the day it would be simpler for them.
What took me by surprise was they had to told to be more forgiving towards mistakes of the juniors and the difference between what was good enough and perfect and when to opt for either (roughly views, controllers – good enough. models – perfect). Then came judging – who could be trusted with what level of code… this last part is still on going and perhaps will go on forever – I need to evolve this into a kind of employee gradation process.
Since all of the above was happening on live projects – I had to, for some time, work bit more with minding the minded and the minders ensuring that the clients did not suffer in anyway. In the end it has been a hugely successful exercises for everyone involved.
Well thats about it.