Career Progression For Software Engineers: How To Seize Opportunities (Part 2)
Tips On Finding Opportunities, Having Agency, And Managing Career Risk
Hi, this is Samuel from Enginuity 👋 This post is part of the IC Leadership track and focuses on finding and seizing career opportunities as a software professional.
You can find all three tracks in the main menu of the Enginuity Newsletter.
Your career progression requires not only hard work but also the strategic seizing of opportunities that align with your long-term goals.
In this post, you will learn how to effectively identify and capitalize on these opportunities.
I will share 8 tips that have significantly helped me in my career.
Following these tips, we’ll look at two crucial concepts every software engineer should internalize: having agency in one’s career and effective risk management.
This post is the second in the series focusing on career progression. If you haven’t yet read the first one, start here:
🧲 Taking on Challenging Projects
Challenging projects allow you to showcase your skills and your ability to take on responsibilities.
They increase your visibility and demonstrate your value within your company.
The more positive momentum you build, the easier it will be for you to participate in high-visibility projects in the future.
1️⃣ Express your interest
It all starts with expressing your interest in taking on more challenging projects.
Leverage your regular 1-on-1 meetings. One of the main topics in these meetings should be your career growth (not project status updates, which is often the case).
Discuss your current skills and past experiences and how they can be leveraged in future intra or cross-team projects.
2️⃣ Propose solutions
Identify gaps or problems in current projects and propose solutions. Having such initiatives can open opportunities to lead or participate in these projects. For example:
Are customers always complaining about the low performance of your product?
Then, not only solve the performance problem but identify a way to proactively monitor performance—ideally in a way that will benefit multiple teams or the whole platform.
Participating in Cross-Team Projects
Cross-team initiatives offer a unique opportunity to learn from different departments and expand your skill set.
They also help you build a network across the organization, increasing your influence and visibility.
3️⃣ Be a champion for your team
Look for projects, guilds, champion programs, or committees that involve multiple teams, and volunteer to represent your team.
This shows you are willing to collaborate and contribute beyond your immediate role. Examples:
✅ a security champion representing your team
✅ an active member of a frontend guild
✅ a member of a committee for the software engineering hiring process
Use the tip n.1 to discuss it with your manager. I’ve never met a manager who would be unhappy because their subordinate is showing initiative and drive.
4️⃣ Be active in internal chats
Leverage any internal platforms, such as Slack or Microsoft Teams, or meetings where cross-team initiatives are discussed to express your interest and availability.
Sharing your knowledge and participating in discussions can build your internal brand. It’s one of the best ways to get noticed outside of your current team or project, and the best thing is that it does not take much time.
5️⃣ Showcase your contributions
Document your contributions to projects. It helps you showcase your impact and value to the organization.
One of the simplest ways to start is to keep a running document with your accomplishments.
recently wrote the article Managing up: 3 things I wish I realized sooner, which describes his process of removing uncertainty by documenting weekly plans and achievements.At the same time, someone other than your direct manager might be one to decide whether you will participate in the new projects. It might be agreed at higher levels, and having a portfolio of your work, including goals, contributions, and outcomes, can come in handy.
Building Relationships
Building relationships with colleagues from other departments can often lead to being invited to join cross-functional projects.
As with anything in this world, your skills also need to be “marketed”.
And the best way to do it?
6️⃣ Help others
There are many opportunities to help other colleagues every day. Go beyond what is required.
When solving a customer issue, offer help to customer support folks or customer success managers
When collaborating with product managers, offer ways how to collect or connect customer data for making better data-driven decisions
When someone asks for knowledge-sharing, think about who else can benefit from it and schedule a knowledge-sharing meeting or at least record and share it
7️⃣ Connect
Seek out coffee chats or lunch meetings with colleagues you don’t usually interact with.
Unlike other tips, you don’t need to be strategic about it. Do it for the sake of getting to know your colleagues better.
Use these opportunities to learn about their work and the problems they face in their current projects and discuss common interests.
8️⃣ Find a Mentor
Look for mentors within or outside your organization who have followed a career path similar to the one you want.
recently wrote a post that gave great advice about how to pick a relevant mentor: Know Who to Take Advice FromApproach them with specific questions or areas where you need advice.
A mentor can provide valuable advice, share their experiences, and offer insights to help you avoid common pitfalls.
🏹 Having Agency in One’s Career
Having agency means:
✅ taking control of your career
✅ being proactive
✅ making intentional decisions
✅ recognizing that you have the power to influence the outcomes
It’s about recognizing that you are the primary driver of your success and that your actions, choices, and efforts directly influence it.
Self-Belief:
You have the ability to influence your career trajectory. Recognize your strengths, talents, and the unique value you bring to your organization.
Reflect on past achievements and how your actions contributed to those successes.
Ownership:
Taking ownership of your career development means setting your goals, seeking opportunities for growth, and being accountable for your progress.
Having agency means accepting responsibility for your choices and actions. It means making decisions and being accountable for the outcomes.
⚖️ Risk Management
Taking on new opportunities is stepping into the unknown, and therefore, it naturally involves a certain level of risk.
The goal is to keep the risk level in a manageable range.
The first step to do so is assessing what can go wrong in three main areas:
Project-Specific: Risks related to the specific project or opportunity, such as technical challenges, resource limitations, people already involved, or tight deadlines.
Personal: Even though some projects might look good on paper, getting involved in them might impact your work-life balance because of extra workload or your long-term goals because the project would require you to put them on hold for the time being.
Organizational: There are opportunities that might affect your standing within the company or your relationships with your colleagues. Even though a project promises, for example, to revolutionize the tech stack within the company, it can backfire if there is not the right time and circumstances to do so.
The main point is not to go to a new project mindlessly. Think about possible red flags and their probability.
When it comes to identifying opportunities for career growth, you don’t want to grab the first shiny thing that comes your way; you want to be strategic about it.
Summary
I hope you’ve found some inspiration in this post.
Fully taking responsibility for your career decisions and outcomes can feel scary in the beginning, but the alternative of aimless floating and not fulfilling your potential should be even scarier.
The first step in building a great plan is understanding that you have agency in your career. The rest then starts falling into place.
Before you go, I’d appreciate if you could leave feedback so I can create content that is valuable for you:
📣 Top Picks
10 common ways engineering managers get stuck by
inHow to build good relationships inside and outside your engineering team by
inAre You Getting the Most Out of People by
in
📖 More From Enginuity
In the last post in the Product Engineer track, I looked into how going beyond a traditional software engineering mindset and expanding it with a product mindset can elevate your career:
Coming from an AdTech Sales and Marketing background, much of your advice I would recommend to non-engineers, it's a great piece. Be your own hero, lean in to show you want to solve larger problems and keep creating human connections.
Love this tip: Taking on Challenging Projects
It's easy to skip out on this and just do what's easy. But the challenging projects help you grow the most and help your team the most. An important lesson that took me awhile to learn.
Thanks for sharing, Samuel and thank you as well for the shout-out on my managing up article!