Learning

The concept of learning is facing fundamental changes due to the changes in technology and the global economy. What we learn today may be obsolete few years from now so a software engineer can not be content with what you know but must continuously learning new things because learning is a lifelong activity and you must know how to learn, to unlearn and re-learn. Why unlearn? Because you must forget what you already leaned if it is no longer valid, and if you do not forget it you may not be able to learn new thing. For example, you know how to program in COBOL and FORTRAN but today, people do not use COBOL and FORTRAN anymore so you must learn C++ or JAVA. These programming languages are not compatible, their structure and context are different so you must forget COBOL and FORTRAN in order to learn C++ and JAVA.

Learning is a skill that can help you successfully transition to the new work environment. Let’s look at the learning need of a programmer who is advancing to project manager position because what a good programmer does and what a good project manager does are different. As a good programmer you know all the technical aspects of computing, be able to design and code according to the process, and work in team to achieve a common goal. As a project manager you will need more than technical aspects. You must understand what must be done in a project, how to do it and when it must be completed so you can clearly explain to project team and motivate them to get it done. As a project manager, you needs to recognize the differences between people in the project, not everybody have the same skill or get along well, so you must know how to assign different tasks to them based on their abilities, and help them solving any personal issues so they can work together as a team to achieve the project goals. As the project manager, you do not talk to them like programmer sharing technical solution with each others but as someone who clearly directs them, explain to them about their roles, responsibilities then motivate them to do it accordingly. Theses are the new skills that you must learn and when you learn these skills, you actually will change your view because management is the skill to get something done NOT just do something. You cannot build a new view on top of your existing view since it will create conflict, but you must unlearn the other skill to learn new skill. Letting go of non-relevant view is the first step of learning.

As a project manager, you must know how to give information to people in the project as well as receive information from them; you must know their skills and what they needs so you can support them. As the manager, you must set yourself as an example to solve problem and evaluate their performance to ensure that they are working toward the common goal. Many people ask me why getting and giving information is a new skill when people talk and share information with each other all the time.

Of course programmers talk to each other everyday but they are equal so sharing good new or bad new are not much an issue but to a project manager, programmers may not want to share everything so you must careful review the information that you receive from them then verify it. If you are not careful, the information may be distorted, changed and not factual especially if the new is not good. The people who give the information may NOT tell you everything so you must verify it and information verification is a new skill that you must learn. As a manager you must act according to the information that you have and if you do not have all the facts, you may make the wrong decision. The software project exists for a well defined goal: To deliver quality software within costs and schedule that you promise the customer and as the project manager you must be able to motivate and lead the team toward the common goal as well as keep the team happy. Managing project performance is a skill that you must learn by setting yourself up as an example for the team so they can follow. People will follow you if you are doing your job well, demonstrate your leadership ability, act accordingly, and show a positive attitude. Most of all, you must take care of them by being honest with them. If they trust you and follow you, half of the project work already been done.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University