A career roadmap for software developer

A Computer Science graduate wrote to me: “I graduated last year and currently work as a developer at a software company. Why do I still need a career plan after getting a job?

Answer: Whether you are a college student or software developer, you still need to have a plan to manage your career. Getting a job is not enough as you could lose it; so you must learn to keep your job. But keeping a job is not enough as you must move up and advance your career. A career plan is the roadmap that helps you to achieve your goals. A career plan establishes all the steps that you should follow to get a job, keep a job, and grow on your job by identifies long term and short term goals for you to achieve. When you are student, your goal is to learn certain skills and pass exams. When you graduate, your goal is to get a job. After getting a job, your goal is to keep it and advancing it into better positions, that is why you need a flexible career plan that allow you to add or remove certain steps as your goal changes.

By having a career plan, you also have a clear vision of the path that you should take as well as track your progress toward your goals. By monitor and improve your plan, you can establish certain priorities to help you recover if you make a mistake, or set up new steps as you are making progress at work. All of my students told me that they felt different from others after complete their career plan. A student said: “Now, I know what I want, I know what to do, and I know what my future will be when others without a career plan are still walking in the dark with no direction.” Another graduate came back and told me: “After having a career plan, everything is clear as I know what steps I should take to get a promotion. Most of my co-workers only work hard and believe that hard work will help them to success. In the end, I got the promotion but they did not.”

As a developer, you should know where you want to be next and what are your abilities and skills. You must identify what knowledge and skills that you need to achieve your next goal and write all the steps that you need to follow. Of course, they might change in future, but at least for now you should have some steps that you can follow. The usual next positions for software developer could be senior developer and Technical team leader so you will need to identify additional skills that you need to get those positions. Beside the technical skills you also need additional soft-skills and this depends on your interaction with other team members and your manager. You need to understand that the more you work well with people on the team, the better you become their leader. This is the necessary step where you learn more about project management before you can switch to project manager position.

From the project manager position, you will learn more about how your company operates and how the business is conducted where you also interact with other business people and you can determine your next steps and approaches. If you still want to stay in technical area you may want to set your goals to become a senior architect where you use your technical skills and experiences to design the architecture for many software projects. You may want to combine your technical and management skills to prepare for the Requirements Engineer, or Business analyst where you work with customers and users and develop requirements to projects. Another path is to switch completely into management area where you interact with company senior management and set your goal to be the Software director, Chief Technology Officer (CTO) or even Chief Information Officer (CIO).

Of course depending on the size of the company where you have several options. However having a career plan will help you to make each step in an organized way where you learn how to position yourself within the company. A good career plan should be based on your personal ambitions, your knowledge and skills as well as your performance in the company. You should define, organize your career plan and monitor your progress etc. You will learn that to keep your job is much more difficult than to get a job and to advance in your career is more difficult in keeping your job as you always need more knowledge, additional skills, especially your soft-skills because it is your soft-skills that help to advancing you to your next positions. There is no easy way to move up but with carefully planning your career and determination, you will succeed.


  • Blogs of Prof. John Vu, Carnegie Mellon University