One of the most satisfying parts of being a software engineer is that the role can challenge you and change – without you having to switch jobs. There are always new languages to learn, platforms to understand, and business problems for technology to solve. Many developers start as juniors and progress into senior and team lead roles. But there’s more than one direction to grow as a software engineer.

A slightly different path can earn you the title of a software architect.

Software architect is the designated software expert responsible for making executive decisions on system design, infrastructure, and tech standards including language, tools, and platforms, for a given product. The architect sets the vision and oversees the system as it’s built. A software engineer builds it.

The road to being a software architect is different for everyone – some gradually grow into the role while others train like a marathon runner to get there. No matter which route you take, here are some tips that’ll get you on your way to being a software architect.

1. Sharpen your communication (and charisma, too)

To put it plainly, you’re going to need to speak several different languages. You’ll need to be fluent in business speak when you talk with stakeholders, managers, and VPs – and then translate everything into requirements for your development team to understand. Get sharp at modeling your ideas – either in UML or hand sketch –  and explaining components of your system so a fifth grader could understand.

Being an effective communicator, however, is about more than bridging languages. You’ll need a few ounces of charisma, too. If you’re not a natural, invest some time researching, watching great speakers, and adopting nuances of what’ll make your voice the one people listen to.

2. Upgrade your tech knowledge

Think of a software architect as an orchestra conductor. While the conductor may not be the premier player of any given instrument, s/he knows what role each instrument plays in a piece, how its sound interacts with the rest, and when it needs to be cued into a piece or make its way out.

The same goes for a software architect. You’ll need to know what roles your team members play, who does what best and what they need from you to feel motivated – or understand how their pieces fit into the big picture of the product. To do that, you’ll need a stack of skills that range from front-end to back, ops to data storage.

Study programming patterns and project structures. Write code and explore different ways of making things happen. Practice seeing the various instruments in your orchestra playing and learn how to lead them to play the right notes.

3. Surround yourself with better

Remind yourself: there’s always someone better than you. It’s a hard thing to admit in the competitive field of tech. But it’s an essential tool for growing into a larger role, like software architect, and continually getting better at what you do. And the most effective way to start is to surround yourself with people better than you.

They might be better programmers, leaders, communicators, problem-solvers, or work/life balancers. Finding people who challenge you to get incrementally better, every day, will help you grow professionally and personally, no matter where you are in your career.

You’ll grow more confident in your own skills and realize that surrounding yourself with people who better one another is central to building a winning team.

4. Get a mentor, be a mentor

Now that you’re not looking at others as mere competition, look into your network for mentors – and mentees. Mentors take many shapes. Senior tech pros are the go-to choice here. Find a software architect who’ll let you look at their code, question their decisions, and talk in-depth about how they got where they are today.

Don’t be afraid to think outside the box – or beyond tech – to find your mentor. Connect with people whose career trajectories you can learn from or whose roles (think product manager or project lead) it’ll pay to understand.

You can also flip the relationship. Oftentimes, teaching others what you do is the best way to slow down and see your work in a new light. Consider volunteering to teach at a coding boot camp or kids tech program to gain a new perspective and even find someone who you can mentor into a strong career of their own.

5. Be ready to step up

When the next project comes along, step up to the challenge and responsibility of software architect. Ask to lead the project – or be willing to shadow the person who does.

How do you get ready to step up? Check-in on your progress, on the regular, and be aware of where your skills development stands. Taking responsibility for an entire project is the kernel of the software architect role. Only you know if (or when) you’re ready to accept that challenge.

Grow on with it

Your desire to grow into a software architect position shouldn’t be a surprise to your superiors. Seed the conversation early and keep it top of mind with your boss and other leaders in your company. Make sure they know what you’re doing to grow – professionally and personally – and where you stand when new projects come up.

If you’ve surrounded yourself with the right people, they’ll be up to the challenge of helping you grow and take on this new responsibility.