Today I realized that most of my blog entry is a technical programming stuff. There is question on mine mind is it really best value for Software Engineers to become the Coding Guru Guy? So, I like to write about something different than coding, design, measurement of performance or new technologies. I like today telling you about something that can be most important for not only Software Engineer like me, but also for every employee. I think about soft skills like effective communication, negotiation skills, be assertive when that is needed, be a charismatic leader and so on. That are only examples of the soft skills that can be very important at work. Of course it is much more soft skills not only that I mansion.
Soft skills can be seen most often in teamwork. There is a psychological theory of dr. Belbin that there are eight roles in a team. There is also a very good book on this subject, which helps to guess to which one of role we belong, and what role we act as a team. I think that it is important to know our personal predispositions. Then we might like to know what we’re good at and what weaker. And to decide which of our soft skills we want to develop. We can answer the question whether we want to improve our best ability, or improve and in what area we are weaker. Of course, everyone has to make decisions alone. In my case it check that mine role is called Plant. The role was so-called dry that is for an individual who "planted" in each team. Plant tended to be highly creative and good at solving problems in unconventional ways. That is my primary team role. If you are interesting about team roles and want to find yours go check-out more information at Belbin Team Roles Home Page.
For me best way to learn is invest money for a good book, read it and do real live experiments. That feet to me for study programming stuff and also for soft skills too. I think that to become good in something only way is to try do that. At the beginning will be such a mass of mistakes but after year or two we can become better. There are bunch of ideas that can improve your soft skills.
The first one is for communication skills. You should say and ask and asks are most important because that is your feedback and prove for person you speak that you understand everything correctly. And in a production of software area communication mistakes are most often high risk of projects. For better communication was invited Universal Modeling Language – UML. Because software engineers most often cannot understood each other correctly and communicate in a efficient way. So, in my opinion communication is most important and if you communicate efficient your value of soft skills are very high. If not try to think about communication not with question If I said everything I want? But with question If She or He understand everything I said correctly. And like most soft skills remember that emotions like angry produce misunderstood. It is better to speak when you come down and focus on things that really matter.
The second thing I would like to tell you about is negotiation skills that is really important. There are many techniques that can improve that skills but I do not like that at all. I think that is only one rule that matters in negotiation that is use only your mind without feelings in entire process and every negotiation process ends with some kind of agreement and you can always said that you need time to consider everything again, again and again. If you feel that someone try some trick on you it is possible to say that you need more time to make decision or you can said that it is no time to hurry and you back to negotiation after for example three days or week. That time is for you to back to negotiation with clear mind and without unnecessary often bad feelings. And at last remember in negotiation it is always time to decision. If you try to hurry you probably will do something wrong.
The third thing that can improve your soft skills is ability to become more assertive. It is not for push your work to someone else but it is for you to have enough time for done your work. I am not very good in be assertive but I know one thing that sometimes can be useful. You should learn how to refuse sometimes or better buy notes and if you have no time to realize something now you can plan do something for tomorrow or for two days later. So then you do not refuse you simply delay something and that can give you opportunity to finish your actual work. And one most important thing is when you delay something and time for resolve problem came for you be sure that problems is still unresolved, because sometimes someone else may resolve it for your team.
And at last how to be charismatic leader? In that case I can said that there are two secrets of the success, the first one is never say everything… :)