Skip to main content
5 answers
Asked Viewed 114 times Translate

Are there any advancements/promotions in computer programming and if so, what are they?

I am a junior in high school and i am interested in computer programming. I know some python and started learning in c++

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you


5 answers

Updated Translate

Janet’s Answer

Absolutely! Most companies have multiple career paths for employees with computer science degrees, each step providing increasing responsibilities, autonomy and higher compensation. There is usually a path of advancement for specialists, architects, test and quality assurance and technical managers and project managers, all starting with entry level positions. The path in which you advance in depends on where you excel (your talents) and what type of work you prefer. All paths benefit from the solid base that a computer science degree offers. A typical company career path will have 5-7 levels over the course of your career. There is also the possibility to move laterally between paths. For example, some senior developers may be encouraged to lead a team in a first level management position. They may find it's a great fit or they may not like it at all and want to return to the senior specialist track again. There is no one direct path for everyone but I can assure that no matter where your talents lie, there will be opportunity for advancement.

Janet recommends the following next steps:

Taking a personality test such as Myers-Briggs might give you some ideas of the types of positions you would like (management, specialist, etc).
Updated Translate

Rebecca’s Answer

Thank you for your question and I am delighted on you are interested in Computer programming.
I think this is also subject to what are you looking for and your interest as well. Different people may have different expectation in terms of advancement / promotions.
For example, some people are really have great interest on programming. They would find themselves can participate as a developer as high complexity programming work as an advancements / promotions. Some may think about to take up a project lead, system architect or management as the advancement / promotion. Different people have different view and talents.
You may explore more different roles in programming and determine what is your interest when your career moving forward.
Hope this helps! Good Luck!
Updated Translate

Dan’s Answer

Of course! There are many advancements in the world of Computer Science, some lateral and some vertical. Since you expressly asked about Computer Programming, I will focus on that.

The path is definitely not linear, however, to give an example, a linear path for a Software Programmer may look like the following:
(SWE = Software Engineer)
Level 0 - Possible start as an intern at a company
Level 0 - Associate/Junior SWE
Level 1 - SWE - 0-2 YOE
Level 2 - Senior SWE - 2-3 YOE
Level 3 - Lead SWE - 3-6 YOE
Level 4 - Staff SWE - 4-7 YOE
Level 5 - Senior Staff SWE - 6+ YOE
Level 6 - Principal SWE - 8+ YOE
Updated Translate

Noah’s Answer

C++ is a great language to learn, as-is Python. Those are 2 of the most popular languages around, and if you know them, it will be easier to learn other languages. As you progress into the field you may find it valuable to learn other interesting languages (e.g., Java, Ruby) and explore different paradigms (e.g., relational databases like SQL). Also keep in mind that "Git" (a common tool for managing source code) is really helpful to know for working in teams. Try visiting github and setting up a free account there.
Updated Translate

Jim’s Answer

C++ and Python are extremely versatile languages. Between the two, you have a solid background to work in Computer Science as well as learn more languages based on where your interests lie. If you are thinking about backend microservices, Java would be a great language to learn. If you want to work with large data sets and messaging streams, Scala is a useful language to know. If you want to pursue a career in more of the web full stack environment, I recommend also learning Javascript, React, and similar languages as they are predominant in that arena. If you lean more towards mobile development, I highly recommend Kotlin (for Android) and Swift (for iOS). Knowing multiple languages enables you to move between different environments so you can gain experience in many areas.

In any of these environments, design also plays a critical role. Ensure you take courses around systems design as you will need that as you work on more and more complex systems.