There’s no “one right way” to build software, and there’s no “one right way” to grow your career in software either. That can make it hard to know what to expect with different companies.
We realised this at Redgate, and spent some time trying to understand what typical career paths look like with us.
Let’s start by looking at our software engineering-centric career path.
Redgate has always been a fan of bringing in folks at the early stage of their software engineering careers. They’re often recent university graduates, especially from our successful intern programme, but we welcome anyone who’s starting their software engineering journey.
These less-experienced engineers aren’t treated much differently from their peers, but we know they can’t do it all from day one. They may benefit from more direct support, which is often handled by pair or mob programming within teams. We also have an active mentoring programme, pairing inexperienced engineers with someone more experienced to help bootstrap their learning.
“There is a huge amount of opportunity for personal development, which has allowed me to improve both my technical and soft skills. I am given the chance to show what I am capable of and I can always be comfortable asking for help when I am not sure.”
- Ben Wood, Software Engineer
Software Engineers — More than just coders
Our software engineers are skilled, motivated individuals who spend their time developing the tools our customers love.
We expect these engineers to be comfortable with our typical technologies and design patterns, and how to successfully deliver products, but we don’t expect them to know everything. Constantly learning is a part of the job at Redgate. That’s true for anyone, from new faces to seasoned engineers.
That’s more than just coding, too. Our engineers get involved with a wide range of activities, including research calls, design, understanding product strategies, and supporting our colleagues.
With so many people at a similar point in their careers, it’s important to have space to make your own mark. Redgate encourages people to find ways to contribute beyond your team. That may mean sharing stories and experiences wider, contributing to communities of practice, or running initiatives like our intern programme.
“Working as a Software Engineer, it becomes apparent that there is so much more to delivering a product or improving as an engineer than just writing code.
At Redgate, you are encouraged to contribute in different areas and improve on a wider scale. It is really exciting to have the opportunity to find your own way to make an impact.”
- Naz Yilmaz, Software Engineer
Bigger than yourself
Our Senior Software Engineers are key members of their teams, but actively aim to be a “force multiplier” rather than just a contributor. They often take on mentoring roles within teams and deputise for team leaders when necessary.
These engineers are often known as the “go-to-person” for some area of expertise, such as different technologies or implementation patterns.
“As a Senior Software Engineer, I always look for opportunities to share practical skills and experience within and outside my team. Writing code is awesome but mentoring new engineers and seeing them succeed is even more rewarding.
There is no shortage of learning in Redgate, and it’s exciting to contribute and influence our company engineering practices.”
- Andrea Angella, Senior Software Engineer, Microsoft MVP
Leading from the front
Here we hit the “dual track” part of Redgate’s career paths. Some people focus on leading people and technical teams, while others prefer to foster even deeper technical skills.
Both of those are crucial to great software development. For the latter we rely on our Lead Software Engineers to lead the charge on improving Redgate’s technical approaches, across all our teams. (We’ll talk about the people leadership path in another post.)
Our Lead Engineers are still primary contributors on one of our teams, much like any other engineering role. They contribute to product code, teach/lead others, and mentor people as necessary.
They add to that by working with other Lead Software Engineers, along with our Head of Engineering, on cross-cutting concerns. That could be anything from sharing different approaches to architecture, teaching skills through our internal engineering academy, or planning how to adopt new tools.
“The Lead Software Engineer role has let me pursue what I really enjoy doing — getting stuck into difficult and deep technical problems and producing quality solutions to them.
I can also put my years of experience to very good use, helping establish a high bar of technical excellence across the company and sharing my skills and knowledge in whatever way I can to make sure we all reach that bar consistently and confidently.”
- Julia Hayward, Lead Software Engineer
Building for the future
Our newest engineering role is our Software Architect. Our architects work in tandem with product management and design to form a leadership group for a product area.
As Redgate’s products continue to grow, we’ve seen them come under more technical pressure. How do we enable multiple teams to work on a single codebase? How do we ensure that codebase is well setup to support our longer-term plans? What disruptive technology could impact our products? These are the questions are architects have a key role in answering.
It’s (very) early days for this role, but we’re looking forward to seeing where it goes.
Fitting it all together
Finally, we have our Head of Engineering. This role is all about owning Redgate’s technical strategy — how do we build and deploy our products?
This is a long way from the “ivory tower” roles some people are familiar with. Our Head of Engineering spends much of his week collaborating with Lead Software Engineers and Software Architects, as well as our Coaches, to keep them engaged with the real challenges Redgate’s teams are facing. That’s made easier by our current Head of Engineering, Jeff Foster, having spent many years as a Software Engineer at Redgate before taking the role:
As Head of Engineering, my challenges have moved away from the nitty gritty of refactoring some tangled code, to thinking about the systems that produced that in the first place. It’s a great challenge!
- Jeff Foster, Head of Engineering
So, there we have it. Every current Redgate engineering role, from first steps through to overall strategy. There are a few different stages and roles, but they’ve all emerged over time as we’ve grown and made ourselves a more engaging place to work. That really helps people see how to progress their careers with us, without being too prescriptive or stifling people’s creative ideas.
Of course, it’s not all about engineering. We’ll be sharing more about our other career paths soon.