Learn about the theory of values, abilities, and skills and how they relate to career progression in software development.
I know 4 programming languages and have experience with a ton of libraries – am I ready to apply for senior-level roles? What do I need to know to apply for junior-level positions? I have two years of experience – am I ready to become a Middle Software Engineer?
To better understand your career status and define your growth plan, you need to know the theory of values, abilities, and skills. The concepts are simple, but by realizing them and mapping them to your career position can give you insight on how to climb the career ladder faster and, what's more important, become better at what you do.
You may already have many skills. And you'll have plenty of skills, no doubt. But what are skills? Skills are learned tools and in software development career they are all sorts of technologies you're working with. Frameworks, libraries, programming languages, practices, and standards are all skills.
What's more, soft-skills are also skills! That was a mind-blowing insight when I first realized it. Simple explanation – you can be an introvert, and you'll be great at soft-skills. And you can be an extravert having team-communication issues. And that's completely fine because soft-skills are just something you learn.
These are the ways you think and behave. You can be great at learning new things fast, processing multiple streams of information at the same time, or being great at details. When speaking about examples of abilities, there are things like great time management, persistence, flexibility, consistency, empathy and many more. When thinking about your abilities, you'll most likely find something, but no worry if you lack something that you want to have – abilities are something you can gain as well as skills, but it will require more patience, effort, and work.
Values are the deep-seated beliefs that motivate behaviors and determine people's compatibilities with each other.
Values are things that are important to you, and they will guide your behavior and decisions. Some examples of values are honesty, loyalty, and freedom. They are difficult to recognize, and it’s even harder to change them – usually they are deeply rooted and shaped by upbringing, culture, and experience.
Knowing where you are and what’s your desired destination, you can prioritize the need to work on your skills, abilities, or values. It can be represented in a simple matrix, shown in the image below:
Let's review how career progression works. For Junior Developers who are in the early stages of their careers, it's expected that they possess skills like knowledge of programming languages, frameworks, understanding of Git, and Agile methodology, and others. Juniors are relatively new to the industry, and they may not understand their abilities and values fully, but it is possible to develop them. While having values is great, juniors may not have enough opportunities to demonstrate them, as they are often far away from decision-making processes where values matter. However, recognizing your abilities and knowing how to demonstrate and use them is a huge advantage, and this is what will be required for middle-level positions.
At some point in your career, you will have solid skills and abilities that will allow you to reach a middle-grade position. Working on your skills is still important because you need to build a solid foundation of tools, so you can switch from merely learning tools to understanding underlying concepts and reasoning about what's best in different cases. However, middle positions are the time to improve your abilities further. You might have some direct reports that you are responsible for, so it is essential to work on empathy to understand them better and, as a result, be more valuable. If you want to manage teams in the future, you should learn how to become efficient at multitasking. Developing your abilities will also help you find your values and achieve a Senior-level role.
Senior roles are where significant decisions happen, and companies prefer seniors who share their values. No matter how skilled you are, if the company values a team-first approach, and you prioritize personal success, you will not be a good fit. You may be able to join the company and work there, but it may not be beneficial for both you and the company. Therefore, remember to keep working on your abilities. You already possess a ton of skills, and they are not so hard for you to gain, so they are the least important.
Values, abilities, and skills can be represented as a pyramid with skills at the bottom and values on the top. Solid skills are the foundation you need to have before making abilities your top priority. And great abilities will help you to build strong values. Keep working on what matters to you right now, be it skills, abilities, or values!