Reply to comment
It was several years ago when i started assembling my first software development team, although i didn't have the experience i have today it was a success and the team delivered the expected result. Back then i didn't have any well thought work-flow and my decisions were mostly based on each particular case and experience. today however it's quite different and i take these task very seriously.
What makes it very difficult is the fact that it's very sensitive and there is no room for any mistake, if you make one you either have to live with its consequences or replace most of the team members which is very very costly and not always possible and that's what happend to my third team.
My third development team unfortunately had the worst possible ending, they left the company when they've been almost useless. It wasn't all their fault of-course, many things happened during the life of this team that one can say was part of company's growth, for example i wasn't responsible for managing them for over a year and by the time i've been asked to took over again, it was too late, they have became irresponsible. distracted and unconcentrated, and since their coding skill were also limited, company's outcome dramatically decreased and the result was several unhappy clients due to many missing deadlines and poor quality. Some old clients who knew me but didn't know the team was no longer under my supervision objected that why no one works there!!
I didn't hire this team to be hard core developers at that time i spent more than six month to fully train them so i couldn't expect more out of them according to their test and the company wasn't ready for a professional team back then. The funny thing was they actually cost pretty much for the company!! , they couldn't work effectively with me, and with each other and i had to clean up after them almost all the time.
To fix all this and get the company back on track, i've been promoted to Software department's manager. Despite all my efforts and endurances with some old team members they were too tired and disappointed to change. Although surprisingly they still had company's trust and could have been part of the next team they refused to cooperate so i had no choice but to replace them. Since i'm usually younger or at the same age as my team, CEOs believed that some of them were jealous , knowing them , it wasn't unexpected but considering the disaster of their over a year freedom they proved they're not capable of managing themselves.
The goal of this new team was more stable , focused, and friendly dev team. so to meet that goal and prevent this kind of condition from happening again i slowly started fixing the work-flow by introducing new dev tools , training system, convincing CEOs to change office's location, changed many rules & conditions, and since i wanted to hire smarter people and establish more friendly environment i took few steps back to let them get more involved by contributing their ideas and experiences in order to have better result. Sometimes their suggestions are not as effective as they think it's. But it does not hurt to let them try and gain more confidence, so they understand that when i refuse a suggestion it's not a personal opinion that's because it doesn't work. After all i really enjory working with smart people and establishing professional relationship is not going to happen if i do not respect their character and talents.
It took me six month to apply my new plan and three month to train the new members (half the time of the previous team) and i'm satisfied with the result. the new team is much better than the previous team in almost eveyr aspect, they're smarter, better people, better programmers, work more responsibly, waste less time and work much better as team, with me and with each other, also i prepared a new reward and punishment system to make a healthy competitive environment as much as the company's policy and budget limit allows. I was also more strict at hiring this new team than i usually am. because i didn't want to waste my time, i knew the new system is going to work but i wanted the result to be very good. Some needed more help some less and there is still a long way to go but after the training they managed to deliver the expected result (Thank you for all your efforts :) ). CEOs were happy with the result and noticed the change as well.
The goal of the next (fifth) software development team i'm going to assemble is standard and strong development for competing with international companies! So i'm going to be very strict this time, the interview includes IQ test as well for the first time! the training system remains the same but more complete and complex and the dev work-flow is going to be the number one in my country (hope so). I've already started preparing and looking for smart , dedicated software developers in various fields. Whenever i assemble a new team it's much better than the previous one and in less time so i have a very high hope for this new team.
On the next post, i may write about management , its importance and why almost everyone think they deserve to be a manager!!!