Career path

Howard Rhode was one of my students who graduated fifteen years ago. Last week he returned to CMU to recruit students for his company so I asked him to give a talk about his career path to current students. Following was what he shared in my Software Engineering class:

Howard: “I am always surprised at the number of graduates who get a job, stop learning then live in fear when technology changes because they may not be able to keep their job. It is important for students to understand that learning is a natural progression throughout a person's career. At the beginning of my career, I focused on technical skills: how to be a better tester, programmer, and software developer. CMU had provided me with all these skills so I had no problem at all. Few years later, when I got promoted to team leader, I learned more about tools and methods by taking additional trainings. However, I knew that to advance in my career, I needed more than just technical skills so I started learning about project management and soft skills by taking several courses provided by external companies. After six years of working as a technical person, I knew that I was ready for the next step. Technology is changing fast; I cannot learn everything so when I knew that I could not keep up, it was important that I adapted my skills to new domains. Otherwise I may not increase my value to the company.”

“As project manager, I was focusing everything on management skills so I could improve my effectiveness and efficiency. As I continued in my job, I kept learning new things as the business world was changing too. Since you are software students, my advice is you should focus on technical skills first because that is what the industry is expected of graduates. After getting a job in the software industry, you must learn how the company operates, how they develop software products or services, and focus on learning about the methods and tools that the company is using. After few years, you should focus on other technical skills that help improve a domain area but at the same time begin to learn new skills for career move, such as into technical management, project management or service management. After five or six years, you should put more efforts into learning people skills, soft skills, and how to managing technical people. Learning is something that starts in one place and continues to other place. The key is to keep on learning.”

“I have made some good choices in my career; I am always looking for jobs with new learning opportunities. If you are a developer, you should think about where you would like to learn next then actively pursue those opportunities. If you are a project manager, you should think about how to help developers with more learning opportunities. The more you learn the higher value you are to your company. What I have learned from Professor Vu is that life is too short to waste it on something trivial and lifelong learning is a philosophy that he taught and I follow it in my career.”

“As software projects are getting larger and more complex, the volume of work becomes too large for one person to manage, I learned how to delegate works to others. Delegation involves giving clear instructions and also ensuring that team leaders will execute instructions properly. By learning these new skills, I eventually moved up from project manager to portfolio manager where I managed several projects at the same time. In this new role, I had to coordinate the functioning of multiple large applications that operated from widely dispersed locations. Large company coordinates their operations by developing functional plans that are consistent with each other. For example, production managers develop production plans that support the sales estimates of the sales department. The procurement plans of purchasing department have to ensure timely availability of required supplies to execute the production plans. Planning has to be followed by implementation that involves organizing and control. Managers prepare lists of specific tasks to execute the plans that fall under their responsibility. Some of these tasks might involve considerable organizing, such as assembling facilities and employee teams. Where tasks are assigned to others for execution, portfolio managers have to make sure that these others are properly trained, and given the required resources, to carry out the tasks properly. Finally, portfolio manager must ensure that actual performance is indeed in line with the plans. For this, goals and milestones must be set; performance must be measured and then checked against the goals and milestones. This process is what we call system control. It is control at all levels from lowest level and sales to the company headquarters that ensures achievement of business goals.”

“To continue to learn new things, I read many books, articles, and follow industry trends so I am always ready for the next assignment. Since I did well as a portfolio manager and knew a lot of what happened in the industry, I got promoted to Chief Information Officer (CIO) of my company. The CIO job is more than just technical or management as I have to develop good strategy for the company. Large companies are highly visible to the general public, stockholders as well as competitors. If the company is not doing well financially, the stockholders might demand the resignation the president or CEO so I have to think strategically and make sure that information technology will become a key competitor for our company. Businesses operate in a dynamic environment. New technologies and products emerge all the time, competition levels change with new competitors come in, so managing change is one of the key skills of a CIO.”

“As the CIO, I have to deal with both technology changes and business changes. When market changes, production must change and purchasing managers have to revise their original plan according to these changes. These directions must be communicated throughout the company via emails or public announcement. CIO has to cope with all these changes as well as many uncertainties. I have to deal with unexpected changes from users, from customers, from internal managers and external suppliers. The unpredictable nature of this type of work requires a high level of time-management skills. Keeping the IT group operates efficiently and effective with all these pressures is critical but I did well because I always kept an open mind for learning new things. I can conclude that my successful in the industry is based on my attitude of continuous learning.”

My advice to all of you is lifelong learning is an attitude that you must develop early when you are still in school. If you think that having a degree and getting a job are the ultimate goals then you are making a big mistake. By NOT learning new things you deny yourself a good opportunity to move up, to succeed and to build a good career. By NOT learning new things, you will always live in fear because you do not know what will happen to you as you have no control of your career. By NOT learning new things, you do not have a career path that will get you to advance to be a professional. Basically, to start from a tester to programmer then to developer, you only need to learn from what university teaches you but to move up to project manager, portfolio manager, to director and Chief Information Officer (CIO) you need more trainings, more learning and that is up to you to fulfill your career path. In this dynamic environment, everything is changing and the best way to succeed is to keep an open mind to learn new things because everything is a learning opportunity.”

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University