Career Progression For Software Engineers: How To Own Your Success (Part 1)
Value-Based Career Goals & Tips For Long And Short-Term Goal Setting
Hi, this is Samuel from Enginuity 👋 This post is part of the IC Leadership track and focuses on career goals and progression for software professionals.
You can find all three tracks in the main menu of the Enginuity Newsletter.
There are two types of software engineers—those who plan their professional growth and those who are surprised every year why they haven’t been promoted yet, why they are overlooked, and why no one recognizes their contributions.
This post is for both types.
For those who are already proactive about their career, I want to provide practical tips for fine-tuning your plans and goals.
For those who want to start planning their growth, I want to provide clear steps on where to start.
Aim for career security, not job security. — Gergely Orosz
Understand What You Want to Achieve in Your Career
Navigating your career progression begins with understanding your personal and professional goals.
Start by asking yourself:
Which aspects of my current role do I enjoy the most?
Which aspects of my current role do I dislike?
What skills and experiences do I want to develop further?
Does my current job allow me to grow in a way I need?
How do my personal values influence my career decisions?
Where do I see myself in the next 2 to 5 years?
“If a man knows not to which port he sails, no wind is favorable.”
— Seneca the Younger
It’s ok not to have answers to these questions immediately. The important thing is that you start thinking about them.
This process helps you gain clarity about what drives you and what you aspire to achieve.
It’s essential to look beyond the day-to-day tasks and consider the broader impact you want to make. The direction you’ll set for yourself should be both fulfilling and strategically sound.
🪴 Align Your Career Goals with Personal Values and Interests
When your professional path reflects who you are and what you stand for, you’re more likely to stay engaged and resilient, even during challenging times.
The goal is to cultivate a sense of purpose.
Examples:
Values:
If you value innovation, engage with projects that require creative problem-solving and pioneering new technologies.
If collaboration is important, find opportunities to work in team-centric environments.
If you value independence, build a side project that can, with a bit of luck, start your entrepreneurship career.
Interests:
If you have a passion for data analysis, extend your expertise in data science.
If mentoring others excites you, look for roles and projects where you can coach and guide more junior colleagues.
If you are interested in UX, engage with a UX design group in your organization.
A Japanese concept called Ikigai (translated as “a reason for being”) refers exactly to this. It describes a set of circumstances that give a person a sense of purpose:
🎯 Define Success for Yourself
Success is not a one-size-fits-all concept. Your definition of success might differ from that of your peers.
And that’s perfectly okay.
Not everyone needs to be a manager, a C-level executive, or an “ivory tower” architect.
Here are some success markers for ICs that you can use to construct your definition of success. It’s not an exhaustive list, but it should give you enough inspiration:
Technical Mastery: Becoming a go-to expert in a specific technology or domain, continuously expanding your knowledge and skills. This might be needed more than ever in the age of AI, as LLMs are great for surface-level tasks, but connecting dots to unlock deeper-level insight is not their strong suit.
Business Impact: Leading significant projects that drive meaningful change within your organization or industry. It shows your ability to solve complex challenges and provides satisfaction from helping users solve their pain points.
Recognition: Gaining acknowledgment from colleagues or fellow professionals validating your contributions and expertise. It can be through publications, speaking, courses, etc.
Innovation: Creating patents, developing new tools or technologies, contributing to open source—making a dent in your field, and demonstrating your forward-thinking capabilities can be worthy goals.
Mentorship: It can be deeply satisfying to play a role in mentoring and developing others. Contributing to the growth and success of your peers can be the whole purpose of your professional and personal life.
Self-Assessment As a Guide
Self-assessment is critical. It involves a deep and honest evaluation of your skills, experiences, and aspirations.
By taking the time to reflect on these, you will gain clarity on your career direction and be able to make informed decisions about the future.
The goal is to understand:
what you have achieved
what you need to work on
gaps in your skills or knowledge
opportunities for growth
Identifying Strengths, Weaknesses, and Opportunities
A thorough self-assessment involves identifying your strengths, weaknesses, and opportunities for growth:
💪 Strengths: List your core competencies and areas where you excel. It will allow you to leverage them in your career planning and seek roles that capitalize on what you do best. These could include:
technical skills
problem-solving abilities
leadership qualities
education in other fields that can be relevant (marketing, sales, …)
unique experiences that set you apart
⚓ Weaknesses: Acknowledge areas where you need improvement. It’s not about self-criticism but rather about recognizing areas for development and planning how to address them. This might involve:
technical skills you're less confident in
soft skills like communication or teamwork
lack of self-confidence
time management
experiences you lack
🚀 Opportunities: Brainstorm about opportunities inside or outside your organization that align with your strengths and career goals. You need to proactively seek them out and position yourself for growth. These could be:
new projects in your organization
creating a side project (open source, micro-startup, …)
learning emerging technologies
professional development programs
networking opportunities
courses to address areas you want to improve
Below is a shortened example of such analysis for an IC data science engineer with aspirations to learn more about artificial intelligence and become a tech lead:
Setting SMART Career Goals
By using the SMART criteria (Specific, Measurable, Achievable, Relevant, Time-bound), your goals will be well-defined and achievable.
I’m not going to dive into the concept of SMART—I recommend you read this Atlassian blog post—but let’s look at some practical tips for goal setting.
🏠 Tips for Defining Long-Term Goals
Long-term goals should define your career trajectory and overall vision. They help you stay focused on what matters, guide your short-term efforts, and allow you to say “no” to unimportant things.
Define success for yourself: As explained in the first part of the post, this is the most important part of your goal setting. Without it, your goals will be random and have little to no impact on your career.
Don’t plan for 10+ years ahead: I recommend your long-term goals be within a 1-5 year time range. Of course, your career vision might be to be CEO at Apple, but that’s not a goal. You need to break down your vision into smaller, achievable milestones—long-term goals.
The best time to plant a tree was 20 years ago. The second best time is now. —Proverb
Be open to change: The industry or your personal circumstances may evolve. Look at recent events—the end of ZIRP, AI hype, etc. In such cases, reassess and adjust your long-term goals to keep them relevant.
🧱 Tips for Defining Short-Term Goals
Short-term goals are the building bricks. They provide immediate targets to work towards, keeping you motivated and focused.
Each short-term goal should bring you closer to achieving your long-term goals.
Avoid vagueness: Being as clear as possible will help you focus your efforts. For instance:
Vague goal: Improve coding skills
Clear goal: Complete an advanced Python programming course
Don’t be too ambitious: Setting overly ambitious goals can lead to frustration and, if you push yourself too hard, even burnout. For example, if you have a full-time job, set a goal to complete one course over a quarter rather than attempting to finish multiple courses and, in the end, not finishing any of them.
Prioritize: Not all goals you set have the same urgency or importance. Focus on the goals that will bring the most benefit or are prerequisites for other goals. Decide based on their impact on your long-term career objectives and current job performance.
Evaluate and adjust: The benefit of short-term goals is that you can evaluate their effect in a relatively short time (weeks, months). Consider:
Have this goal moved me in the correct direction? If not, what mistake did I make when defining it?
Have I learned something I didn’t know about before based on which to adjust my future goals?
Is my effort sustainable over the long run?
Summary and Part 2
Setting meaningful goals starts with understanding where you are and where you want to go. Self-assessment helps you identify the former, and reflecting upon your values, interests, and long-term vision will help you with the latter.
Set aside time to think about where you are and where you want to go. It’s worth it.
In Part 2, you will learn how to seek opportunities for advancement and how to showcase your achievements for a successful career progression. See you there!
📣 Top Picks
5 Writing Tips to Overcome the Blank Page by
inProbabilistic Thinking - Mental Model by
inManaging up: 3 things I wish I realized sooner by
inOptimizing Your "20% Time for Technical Debt" by
in
📖 More From Enginuity
Last week’s post was focused on the System design track, and we looked into how Walmart’s data platform leverages Google Cloud Spanner to combine the power of SQL with the scalability of NoSQL:
I'm a huge fan of S.M.A.R.T goals.
Great article, and thanks for the shoutout!