arsalandywriter.com

Visibility is Crucial for Advancing Your Software Engineering Career

Written on

As many aspire to become senior software engineers, the desire for advancement is common in the field. Striving for growth and recognition is a natural human inclination. Starting from the basics, like “hello world,” many dream of reaching the esteemed title of senior software engineer. However, the journey to that goal can often be frustratingly slow for many.

In this article, I aim to tackle that frustration and provide practical advice drawn from both my experiences and the experiences of others. If you're not yet a senior software engineer, are contemplating a career in software engineering, or are working towards becoming a staff engineer, this article is for you. I invite further insights in the comments, so feel free to share your thoughts!

The Complexity of Progression in Software Engineering

Career advancement in software engineering, similar to other professional fields—especially in white-collar jobs—is multifaceted. The expectation is that with each passing day or week, you should improve in your role. This could mean learning new skills, gaining fresh perspectives, or becoming more efficient. There are countless areas of expertise to develop in software development, and this ongoing growth is significant.

However, skill enhancement does not always translate into career advancement, especially within software engineering.

Consider a web developer who is passionate about JavaScript and becomes highly proficient in it. They may be an expert in the language and up-to-date with the latest standards, yet struggle with creating clean HTML templates or effective CSS styling. In many environments, such a developer may find it challenging to advance in their career—unless they join a team focused on creating a new JavaScript library or framework.

Alternatively, there are engineers who repeatedly perform the same tasks for years, like those who specialize in WordPress. After coding numerous sites, their expertise may not easily transfer to different development roles. A senior developer might even face demotion when transitioning to a job outside of WordPress. The key takeaway here is that mastering a singular skill—while commendable—may not guarantee a promotion.

To foster career growth, it's essential to build competencies across a broader technology stack or within varied environments. Strive to avoid limiting yourself to a single framework, like becoming solely a “React Engineer.”

While skill development is quantifiable during performance reviews, career advancement is typically assessed by moving from one individual contributor (IC) level to another. Although transitioning to management is an option, it is often not the best path.

The definition of different levels can vary significantly between companies. For instance, at my first startup, I was quickly promoted to “senior junior developer,” a title that provided recognition but had little value for my resume. Years later, I see engineers proudly proclaiming promotions to “senior associate engineer.” However, standard definitions of levels often differ widely from such titles.

When I began my career, I started at a junior level due to my prior experience being closer to hobbyist. However, my rapid progression to engineer and then senior engineer was not simply due to time spent in development, but rather my ability to take ownership of projects. My visibility as a capable engineer directly contributed to my fast advancement.

As a software engineer, you have significant control over your career trajectory, but it requires proactive engagement.

The Importance of Visibility

The title of this article reflects a key piece of advice I received from a manager while advocating for a promotion to staff engineer. Once I achieved the senior level, my skills and responsibilities aligned, but I realized that visibility was something I had to earn.

For junior engineers, strong performance and skill development are often easily recognized within their team and, importantly, by their manager. In most companies, managers have little justification to provide for promoting junior engineers. If a junior engineer fails to progress within a couple of years, it raises concerns about either managerial effectiveness or the engineer's performance.

Once you reach the senior level, however, the landscape changes. It becomes less about refining your current skills and more about acquiring additional skills, many of which are soft skills that may not have been emphasized before. Many engineers mistakenly believe that simply increasing their workload or hoping for recognition will lead to promotions. While some might achieve success this way, it often occurs in unhealthy work environments.

Interestingly, some engineers intentionally choose to remain at the senior level, believing there may be limited benefits to advancing further. Others may misinterpret IC levels as mere formalities tied to minor pay increases, which is a misconception.

Progressing beyond the senior level means embracing a new role entirely—not everyone is interested in that change. However, for those who are, achieving visibility is essential to move forward.

To be promoted from senior engineer to staff engineer, your manager must present a compelling case. The same applies to staff engineers looking to advance to senior staff or principal engineer roles. Simply delivering more code or maintaining high code coverage is expected of all engineers and will not be sufficient to warrant a promotion.

Framing your career around visibility can yield positive outcomes. However, remember that visibility does not necessitate sacrificing your well-being—work smarter, not harder.

When visibility becomes your guiding principle, your approach to work changes. For example, about a year ago, I recognized the need for an architectural diagram for an application I was working on. I created one and shared it in a widely viewed Slack channel. The response was overwhelmingly favorable, capturing the attention of engineers, senior leaders, and C-level executives alike. By documenting and showcasing the application's inner workings, I contributed to both my visibility and that of my team.

Strategies to Enhance Your Visibility

I want to provide actionable strategies for advancing toward staff, senior staff, or principal engineer roles, based on what I have observed and implemented.

The reality is that engineers often experience faster career progression when they change jobs frequently—not necessarily because of the change itself, but because job hunting compels them to adopt a visibility mindset. When pursuing a new position, you must differentiate yourself, which naturally leads to elevated visibility.

Think Creatively. Embrace unconventional ideas. For instance, my team once needed to rearchitect the UI of a popular learning management system on an outdated Angular.js codebase. By proposing an innovative solution that required quick validation, we successfully delivered the project ahead of schedule. This high-profile work enhanced my visibility among senior leadership.

Identify and Address Gaps. Many teams require someone with the right expertise and motivation. When I was invited to join a struggling team after a senior engineer left, I saw an opportunity to make an impact. My involvement led to significant performance improvements, which enhanced visibility not only for myself but for the entire team.

Establish or Join a Working Group. Being part of a small team addressing critical issues can boost your visibility. In a previous role, I helped create a frontend working group focused on standardizing practices across multiple locations. This initiative garnered recognition and led to productive outcomes.

Seek High-Stakes Opportunities. If you find yourself in a low-visibility role, look for projects with significant impact. For example, I joined a team migrating our frontend architecture, which was critical for the platform's future. This experience increased my visibility within the organization.

Embrace Challenging Tasks. While many engineers prefer exciting projects, tackling maintenance or migration work can be rewarding. Currently, I am involved in a migration effort that has faced multiple failures in the past. Successfully completing this initiative will not only resolve a lingering issue but also enhance my visibility.

Be the Voice of Reason. In high-pressure discussions, a pragmatic perspective is invaluable. Positioning yourself as a rational mediator in contentious conversations can increase your visibility and lead to greater recognition.

Establish an Online Presence. Sharing your knowledge through writing can significantly enhance your visibility. My past articles have varied in readership, but my recent technical pieces have reached thousands. Creating a public engineering blog or contributing to existing platforms is a great way to showcase your expertise.

A Difficult Reality?

You might wonder, “Why can't I just do my job and get promoted?” The truth is that beyond a certain point in your career, simply performing your duties is not enough. Advancement requires demonstrating exceptional contributions and standing out in some capacity.

It’s perfectly valid to remain a senior engineer without pursuing further promotions. Many, like Apple co-founder Steve Wozniak, consciously choose to focus on their engineering roles rather than climb the management ladder.

However, if you aspire to be recognized as a principal or distinguished software engineer, visibility is essential. While it may feel intimidating, it is a crucial component of career growth. Embracing visibility can enhance both your promotion prospects and your skills as an engineer.

Utilize visibility as a tool for your professional development, and your career progression will follow.

Attila Vago — Software Engineer committed to improving the world one line of code at a time. A lifelong nerd, author, advocate for web accessibility, LEGO enthusiast, and craft beer lover. Read my Hello story [here](#)! Subscribe for more insights on LEGO, tech, coding, and accessibility! I also share thoughts on random topics and writing.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Mastering Min and Max Value Retrieval in JavaScript Arrays

Learn how to efficiently find the minimum and maximum property values in a JavaScript array of objects.

Navigating the AI Landscape: Potential Threats Ahead

Geoffrey Hinton warns of looming dangers posed by AI, including misinformation, job displacement, and military applications.

The Pinnacle of Temperature: Scientists Reach 4 Trillion Degrees

Discover the astonishing temperatures scientists have achieved in laboratories, surpassing even the Sun's core.

The Myth of Software Requirements: A Deep Dive into Project Failures

An exploration of the conspiracy theory behind software failures and the impact of unrealistic requirements.

Why I Prefer Mac OS: A Personal Reflection on Its Features

Discover the features that keep me loyal to Mac OS after years of using various operating systems.

Unnoticed Signs of High Intelligence You Might Overlook

Many intelligent individuals may not recognize their own brilliance due to common misconceptions. Here are subtle signs of high intelligence.

# The Value of Mistakes: Embracing Imperfection for Growth

Exploring the significance of mistakes, accountability, and humility in personal growth and trustworthiness.

# Ancient Tomb Discovery Sheds Light on Prehistoric Beliefs

Scientists uncover a 5,400-year-old tomb in Spain, revealing insights into prehistoric beliefs and their connection to the sun.