These 12 years gave me tremendous amount of exposure in various parts of organization. It was great experience. I have conducted and facilitated trainings and workshops ranging from core programming topics to softskills like Mindmapping. I worked on some pretty difficult algorithmic projects like ClassA surface design, sheet nesting to building a ALM (Application Lifecycle Management) infrastructure for the company. In all my projects, I got tremendous support from my team mates.
This is just a small list of what worked for me.
- It is easier to say 'sorry' than get permission.
I think this is true for most organization. In my experience, starting a new initiative on your own and getting support is easier than explaining the idea, getting permission etc. The person who is suppose to give permission may not be as passionate about the idea as you are.
- Treat your team members as 'adults' and trust them.
If you treat them as 'kids' you get the behaviour of kids. I have already written a small post about it.
- Target to make myself redundant in a project within 1-1.5 years time
In every project, I have put target that within one year I should be redundant for the project. Some one else should be able to take over from me. I have to identify and mentor my replacement. This gives me freedom and incentive to learn new things. When I want to shift to new project I could go to my manager and say 'my team member xyz, can now handle project on his/her own and he/she should get a chance. Give me some other project/responsibility'.
- If I make a mistake, then I have to admit and own the mistake.
Everyone makes mistake sometime or the other. So if I make a mistake and realize it, then I have admit and own the mistake. I do have a hot temper. And sometimes I have been a 'temporary a** hole'. If that happens, I have to say 'sorry' to the concern person, irrespective of he/she is junior or senior to me in the hierarchy.
- I have a responsibility towards my team mates
I have a responsibility towards my team mates to help them in case of problems in whatever way I can. Sometimes it is just sympthetic listening and advise, other times it is arranging a plane ticket in case of family emergency. It means following up with company bureaucracy on behalf of your team mate and ensure that things move. It also means I will be the one giving the bad news to senior management and customer in case of problems.