I thought a lot about the ideal culture for a research and development organization recently. Since I graduated from school, I have been in different development organizations. In each organization, there was something I like and others I dislike. Well, life is always like that. You almost have to swallow the sweetness along with the bitterness because they come together.
Although any organization has its pros and cons, there is nothing preventing me from imagining a perfect organization which has the ideal culture, with my own standards. It can serve two purposes for myself.
First of all, it can serve as a benchmark for me to evaluate any organization I am part of or will be part of. Since, in my opinion, the culture is the most important factor that affects one's effectiveness in an organization, everyone should seriously consider the culture if he or she considers job satisfaction and career achievements important in his or her life.
And even better, I can carry the culture with me. No organization is perfect. But, at least I can change myself to follow the principles that I deeply believe. Mahatma Gandhi said, "Be the change you want to see in the World". By practicing the culture I desire, I am able to create a environment/atmosphere around myself anywhere I go. After all, it should be we change the environment, not the environment changes us.
After working 7 years in one organization, I finally made the move and joined another team. I am still working for the same company, but different location, totally different project and different colleagues. It's like a new company to me.
It's always hard to move into a new environment and start to work with new team mates. I need to learn the new project, new technologies and new ways of doing things. The worst part may be that I have to rebuild my reputation. I need to earn my credit again as well as make new friends in the new organization. In the first several days, I really missed my old work place and my old friends.
However, after I thought it over, I considered the current situation a new challenge for me. As we all know, only challenges make one grow. If one always stays at the familiar spot and never goes out to the adventure land, he/she will never grow. It's the response to the challenges that brings the best out us!
As a developer and later a technical architect, I have been doing software development for almost nine years after I graduated from school. I witnessed the fast evolvement of new technologies, for example, from Java Applet in the early days to AJAX recently in front end field and from EJB to Spring in the business logics field. However, the process we do software development changes much slower. In one organization, the same process is usually used for all types of projects, from new and complicate multi-year projects to simple and repetitive bug fix releases. I feel the knowledge we have in software development processes are way behind the knowledge we have in technologies. To me, the software development process and methodologies are more fundamental and important than specific technologies. Because it affects the entire lifecycle of software development project, the entire software development team and every aspects of the software product.
I started to work for a new manager last year. The first thing my new boss asked me to do is to buy this book, "StrengthsFinder 2.0", and take the test online. He assured me I would like that. Obviously, he took the test himself before and it has been tremendously helpful to his own career growth.
I bought the book, certainly. The introduction section explained why they think people should focus on their strengths instead of their weaknesses.
No one is perfect. We are all naturally good at something and fall short on other things.
It's our talents and strength that makes out standout, in a good way. Not the shortcomings.
We are more engaged and happy when working with our strengths than working with our shortcomings.
It's more efficient to develop our strengths than to remedy our shortcomings.
By the way, they are a group of psychologists working for Gallup, holding Ph.D and Master degrees in Psychology.
In the summer of 2002, I was promoted from a senior developer to a manager leading a four person team. I was thrilled.
As other technical managers, my thinking was really natural. Since I was promoted, that means my way of doing things was the right way. Now, I just needed to require everybody to behave like myself and my team would be the best!
I failed in no time. It's impossible to require everybody to behave like myself. I was young and single. Just got my master degree of computer science from a good university. I can adapt to new technologies easily. I can work 12 hours everyday including weekend. All my team mates were married and have family to take care of. They were much older than me. They couldn't frequently spend their after work time working over time and learning new technologies. And they had their own ways of doing things and learning.
Fine. I would take all the work. Whenever they didn't know how to do the job, I took over. Gradually, I found this wouldn't work either since I barely have any free time left. The output of the team was not satisfactory.
I was very strict on every one's job, maintaining a very high standard. I constantly criticized my team mate's work and asked them to redo it multiple times. Eventually, I found that they started to ask me for very specific instructions and wouldn't start the work until they get the instructions. I felt I was exhausted and couldn't handle it anymore.
Why didn't they listen to me? Why couldn't they do the good jobs as I did? Why did they keep asking questions? Why cannot they work independently by themselves?
At my darkest moment as a new manager, I started to question myself. Maybe it's because ME? Maybe I am not a good manager?