Grow Beyond Senior: use your Java Expertise to Gain Autonomy and Impact the World

Bruno Souza

Where Are You in Your Career?

Before we get into the paths beyond senior developer, let’s take a moment to reflect. Think about where you are:

Are you still studying, and not a professional yet?
Are you a junior developer? Mid-level?
Are you a senior developer?

A common goal for juniors and mid-level professionals is to achieve the much desired senior level position.

You can see the path to get there. There are professionals you work with in your team that are seniors. Seniors seem to do similar things than you, at a higher capacity. You learn from them, they pick up the more complex issues, they guide you on the solutions you don’t know. You look up for them. More… You expect to be there some day.

I’m sure that reaching senior level was an important milestone in your developer career. As a senior, you have flexibility, work on interesting technologies, get involved in complex projects. A senior developer has a good level of autonomy. You continue to increase your salary, and grow in skills, in knowledge and in reputation.

Yet… What happens after that? The path beyond senior level is less clear…

Many times there is no way to see what’s next. Besides the salary promotion, many companies have no “next” step. As a senior, it is common that you are one of the top professionals in the team. Many seniors never work with anyone that does the same thing as you, who operate at a higher capacity.

The people “above” are usually doing “other” things… They manage people. They talk with customers. They write documents. You may not see yourself in them…

How about the team’s tech lead. Or the architect? That sounds like a next step, doesn’t it?

Because of this lack of future perspective, some developers stay at the senior level for a long time. And let me say upfront: that’s completely fine.

I recently spoke with a developer in Germany who became a senior developer around the time of Java 1.2. That version of Java came out in 1998! It is over 26 years, and he’s still a senior developer. And… He is happy in his role. He still gets salary increases, and work on interesting projects. For this developer, at least at the time we talked, there was no need to do any next step.

If that is you, and you love what you do and are happy staying at senior level, there’s no problem with that.

However, for some developers, the senior position can start to feel like a ceiling…

Maybe you’re feeling bored. Maybe your salary has plateaued. You are tired of solving problems that would not exist if better decisions were taken earlier. Maybe you want more influence in the direction things are going. You want to have a larger impact in other projects at your company. Maybe you want more autonomy, so you can do the things you think are the right ones.

If that sounds familiar, then it’s probably time to think about what’s next.

The Fear of Specialization

Before we discuss career paths, let’s talk about a common fear. It frequently shows up when seniors need to grow beyond: specialization.

This is a common question…. I’m touring Europe visiting several events and Java User Groups this month. And in almost every place, I got some variation of: “should I be a generalist or a specialist”

A lot of developers resist specializing. They fear missing out on opportunities, the famous “FOMO”. What if I focus on Java and miss out on Kotlin? What if I decided to do Cloud and I lock myself out of AI?

Yet… Specialization doesn’t mean limiting yourself. Specialization is not about what you do, learn or work with. To be a specialist is to influence how people see you.

It really means positioning yourself as an expert.

It is like an API. The important part of the API is how external systems interact with you. You need to have a clear boundary and some clear reason why people should “call” you. If your API does everything, no one will think about using it, because it is unclear, and confusing.

Yet… Inside the API implementation… You can do whatever you need to do to solve the problem. You can use many tools, and technologies and frameworks and architectures.

A few months ago, The Java Champion Heinz Kabutz said something that really stuck with me:

“If you position yourself as an expert, you get called to solve the hardest problems. And when you solve the hardest problems, you become the expert.”

Heinz Kabutz

When I have a coding issue, I’ll think about which API I should use to solve that. The same way, when I have a problem, I’ll think about who can solve it. And if I don’t think of you, I won’t call you.

And then… You never get to work on the hardest problems. And never get to become the expert…

Specialization isn’t about cutting off options or staying away from tools and technologies. It’s about choosing where you want to have impact so that the best opportunities come to you.

Building that position has everything to do with the “next step”. Because the beyond senior positions are all more specialized and require more trust.

Five Paths Beyond Senior Developer

After years of speaking with developers about career growth, I’ve identified four main paths for you to grow beyond senior developer. A couple of years ago, during the JCrete conference, talking with multiple Java Champions, I realized there was a fifth path.

They are umbrella definitions, that cover many real world titles and positions. Although we do have some general categories, each professional takes the path a little different.

So, let’s discuss the 5 “umbrella” paths for you to grow your career beyond senior position.

Starting from the one I think is the easiest. Not because it is an easy path, it’s not. All the beyond senior paths are hard in their own ways. They require new skills, new responsibilities. And in all paths you to drive the process.

Yet… This first path is one that companies want to push you towards. And also one that many developers (maybe you too) simply do not want to take…

The People Path (Management)

The People Path is when you become a manager, director, vice president. You grow into positions that manage people.

This is an amazing path, if you like to manage and direct people to a common goal. It has a large impact, because you get to make a lot of important decisions. Including who to hire, how the team works, who will do what and more.

And, as I said above, many companies will push you towards this.

Developers in general have more trust for managers that were technical themselves. Because of that it is normal that leaders at companies want technical people to grow as managers.

If you become a manager, you move into roles like:

Manager
Engineering Manager
Director
VP of Engineering
CTO

On the other hand, most developers don’t want to be managers. They love coding, solving technical problems, and building things. Managing people is seen by most as a completely different skill set.

Because companies need developers to take that path, if this is something you want to do, it is common to have training and support. Even if your company does not officially offer it, they will usually help you, even paying for training and mentoring, if you ask for it.

Many developers follow this path just for the salary increase, and not because they actually enjoy managing people. If that’s you, don’t worry. There are other paths.

The Technical Path (the Staff+)

This path has existed for a long time. Usually on tech companies, where the founders were technical and wanted to provide a career path for their tech team.

Yet, it is also a very new path, that many developers never heard of. It’s so new that the official name for this path, Staff+, came during the pandemic. As far as I know, it was named in the book “Staff Engineer: Leadership beyond the management track”. This shows how recent it is. Companies of all sizes and industries are slowly being adopted this path.

The Staff+ path is composed of high-impact, technical roles, yet, without management responsibilities.

The names are different in different companies, yet, you will usually see things like:

Staff Engineer (equivalent to a manager)
Principal Engineer (equivalent to a director)
Distinguished Engineer (equivalent to a VP)

These roles give you autonomy, impact, and influence. While allowing you to stay technical. They come with a high level of responsibilities. Also, salaries that are equivalent to their managerial counterparts.

For example, when I worked at Sun Microsystems, I was a Principal Engineer (Director level). My boss was a Sun Fellow (similar to the Distinguished Engineer, VP level). Yet… Since my boss didn’t manage anyone, I reported “dotted line” to an admin manager. He took care of expense approvals, vacations and other management tasks.

While I was at Sun, the Father of Java, James Gosling, was a “Sun Fellow”. VP level. He later went on to take similar positions at Google and Amazon. He had a high position, with full autonomy and responsibilities. Yet, as far as I know, James never managed anyone.

If this sounds like something you would like to do… It’s important to notice that these roles are rare…

Here are some real numbers, from a recent conversation with a developer. It’s a large company, with around 3,000 junior to senior developers. Their beyond senior numbers looked something like:

130 Staff Engineers
12 Principal Engineers
3 Distinguished Engineers

That is… About 5% of the engineering team is on the Technical Path… It is a tiny group…

Because of that, two things are common:

One is that to reach these roles usually there is no clear, defined process. They will rarely just be offered to you. You have to drive the process and actively work toward those positions.

Even at companies where those positions exist for a long time. Even though they have processes defined, each employee usually go through a different, unique path.

And in companies that don’t traditionally have those positions… Well, you will have to make your own path. Usually through negotiation, advocating and showing the value for the company. They have to see clear results of you having that kind of autonomy and responsibility.

Second is that it is hard to be hired into one of those positions.

Although not impossible by any stretch, one does not usually jump from senior in one company to staff or principal in another. You may have to already be inside this tiny group before other companies will recognize your position.

Yet…

Once achieved, those positions give you a lot of satisfaction and results. Because they are positions with a lot of autonomy, you get to work on things you feel are important to work on. And that multiply your impact many times.

The Community Path (Developer Relations & Advocacy)

The third path for beyond senior positions is when you become the technical person in a non-technical area of the company.

The Community Path is often merged (even by me) with the Technical Path. Many companies will have positions that are the same, with just different roles. Yet, I believe it is different enough to deserve its own reference.

Especially because they are usually not under the technical leadership of the company. You can be the technical person in areas like Marketing, HR or Sales.

They are usually roles that are externally-facing. So, you need both deep technical knowledge, and also good communication skills.

Roles include:

Developer Advocate
Community Manager
Technical Evangelist
Sales Engineer

Those positions are very special. They provide a lot of visibility and allow you to build a strong reputation in the industry. It is not by chance that a good number of speakers, authors and Java Champions are on this path.

It is also a path of autonomy… As one of the few (many times the only) technical person in the non-tech department, you are responsible to figure out what needs to be done. It is common that no one else knows what you do, so you are the one responsible for making the decisions.

I remember working as an evangelist in the late 90’s at Sun Microsystems. My boss had no idea what I did, and the way he managed me was by holding me accountable for the things I told him I was going to do. Autonomy requires responsibility!

Talking to a Java Champion a few months ago, who is on the Community Path, she told me: “I report directly to the CTO. My boss does not know what I do. So, I have no boss. And I’m also not the boss of anyone.”

If you love engaging with the community, speaking at events, and helping developers, this path could be a great fit.

Freedom and Autonomy (a little detour)

As I hinted before, autonomy is one of the most important career results you can build for yourself.

When you have autonomy, most of the issues that I hear developers complaining about, just melt away.

Are you unhappy with the technologies you work with? Or the lack of time with your loved ones? Are you working on boring stuff? Would you love to go to events, work on open source and build your reputation? Do you disagree with your company on how they see quality, would love to do more testing and implement clean code? Do you want to use the newest Java version, kubernetes or Rust? Would you love to work on an AI project or do something relevant and that improves the world?

The answer to all of that? Autonomy.

Autonomy is the capacity to decide what you will do. If you have autonomy, you can decide to do what matters to YOU.

Always remembering that autonomy and responsibility goes hand in hand.

The one thing in common with all the beyond senior paths discussed here, is the increasing autonomy that they provide.

And, although not perfectly, autonomy does increase in the order I presented the five paths in this article.

What takes us to the last two paths, which are the ones that can give you the most autonomy.

All the previous paths are mostly done inside a company, and are dependent on the existence of teams and hierarchy. The next two, are more independent paths, that don’t depend on either teams or hierarchy. They work well if you do them standalone, and also if you combine them with any of the previous paths.

And before I even talk about path number four, the Independent Path… If you have over 10 years of career, and especially if you are approaching the 20 years mark. I would strongly recommend that you at least experiment with one of the two next paths.

Autonomy is extremely important. So, building your full autonomy and independence is an exercise that will get you much further than you can imagine. Even if you do in in a small fraction of your career,

And I don’t say that lightly… I’m pretty reserved in suggesting any specific path to anyone. My main belief is into helping YOU to go after YOUR goals, not to do what I think is the best goal…

Yet… It is also my belief that gaining more autonomy will help you reach whatever goal you want!

(And, to help you with that, at the end of this article, I’ll give you a gift to help you plan and build your autonomy…)

Ok, with this little detour out of the way… Let’s now take a look at the two paths of full autonomy and independence. They are also two paths that don’t have a salary ceiling….

The Independent Path (Consulting & Freelancing)

If you want freedom and flexibility, this path is worth considering.

As an independent, you are basically selling your own work. And instead of working for one employer, you work for multiple clients.

Some common ways that this manifest are positions like:

Consultant
Freelancer
Instructor
Contractor

By having multiple clients, you have more autonomy to choose what to do, more freedom to make your own decisions, more security in your career. This allows you to take more risks and get higher rewards.

A good friend of mine, a Java Champion and open source developer, works with five different clients (it was six, he fired one of them recently). And he has full autonomy to decide what to work on, when to work on things, and so he drives his career any way he wants.

Now… One word of warning… Professionals at the Independent Path frequently assume they have to charge per hour. Assume that they are selling their time.

Nothing could be further from the truth. That is not the only way, and probably not even the best way.

I find interesting that professionals on the “People Path”, are usually not prey to this “sell hours” limitation. It is common to see directors and VPs that sit on multiple company boards for example. Or who help many companies. And they can receive large monthly payments, not tied to amount of hours worked. Something to consider…

This can also be true for technical professionals like you and me.

My developer friend above works for customers without selling hours. That allows him to basically run one meeting per week with each client (about five hours of work per week). The rest of his time? He works on open source and other projects that he chooses to work, which benefit all his clients.

This path does need you to be very clear on what you do, and to do that well. Yet, the real skill here is your ability to present and sell yourself. If you have 10+ years of experience, this should be easy. Especially because this path allows you to work on the most complex and interesting challenges. And across many companies. Making it even easier for you to show your value.

Again… It is not a coincidence that many open source developers, authors and Java Champions are on the Independence Path.

The Entrepreneurship Path (Building a Product)

The last path I will mention here is what I call the Entrepreneurship Path. It is somewhat like the Independence Path, and often it even starts as that.

You became an entrepreneur not when you have a company of lots of people. But when you are not selling yourself anymore, and you sell a product.

This could mean:

Starting your own company
Becoming a CTO or early investor (putting your time)
Building a SaaS product
Launching a service product

In the Independent Path, you sell your expertise.
In the Entrepreneurship Path, you sell a product.

Sometimes those things get blurred. Many would consider that if you build a consulting company that sell the hours of several developers, that is to be an entrepreneur. Having done exactly that, I think that is just a more scalable and secure way of the Independent Path.

Contrary to selling hours, when you have a product, even if it is a service product, you have more autonomy on what you do, the tools you use, the process you have.

Many developers build successful businesses around open source tools. Also SaaS applications, or developer-focused platforms.

They can be more risky for sure. Yet, both the Independence Path and the Entrepreneurship Path have an added benefit of not having a salary ceiling. Several Java Champions have built, scaled and even sold business like those for millions of dollars.

The Key to Growth: Building Trust & Reputation

No matter which path you choose, those paths are about building your own autonomy.

Autonomy goes hand in hand with Responsibility. They are probably two sides of the same coin.

The larger the problem you solve (responsibility), the more autonomy you have. That is why when you achieve the entrepreneur path, you are solving a large enough problem, full responsibility, full autonomy.

And all of that you get by building trust and reputation.

If you’re visible, trusted, and known as an expert, you’ll be the first person companies call when an opportunity arises.

Be it as an employee, or an independent. Or even as a company that customers reach out to.

That makes growing beyond senior not about waiting for promotions. It’s about actively taking responsibility for your own path.

My goal is to help developers that are over 10 years of career to think about the best path to follow. To that end, I built a process of thinking about your career. In it, you can get clarity on your goals, and build your own path to achieve them.

My gift to you: I wrote a small book, The Best Developer Year, that is this process in book format. The book asks you the right questions to help you to think about what path you want to follow.

If you would like to build your Best Year, get the book for free here.

If you go to the above page, you will get an email from me with the free book. Reply to that email with your questions and challenges. My main objective is to help you achieve your most amazing career dreams.

That way, you can commit to, and succeed in whatever beyond senior path you choose.

Total
0
Shares
Previous Post

BoxLang 1.8.0 – A Landmark Release Delivering Modular Compilation, Modern HTTP Capabilities, and Enterprise-Grade Stability

Next Post

Always Up to Date – with Every New Free PDF Edition!

Related Posts