Climb from intern to principal engineer at Ziverge
John A. De Goes
At Ziverge, we recently introduced a formal career development program, which is inspired by The Programmer’s Pathway.
We recently gave all of our engineer’s the opportunity to choose one of the separate tracks that fits with the nature of a custom software development and consulting organization like Ziverge.
One track was selected by more than any other employee: the track of the Principal Engineer.
The Principal Engineer track, which starts at Intern and goes all the way up to Engineering Fellow, is the generalist track for the true lover of software engineering and computer science.
Though knowing little more than “Hello World” at the start, by the end of the track, the Principal Engineer has become an unstoppable force of nature–adept at architecture, implementation, debugging, distributed systems, infrastructure, computer science, and virtually every other topic that might be relevant to the task of forging technology into an agent of positive change.
In this post, I will outline the journey you can take, at Ziverge and other companies, to become one of the greatest software engineers the world has ever seen.
I often tell aspiring software engineers that the hardest step they will ever take in their career is the one from having no professional experience writing software, to that very first position where they contribute their first line of code to a production system.
The reason is simple: no one wants to hire someone with unproven skills.
Fortunately, the intern position exists to help straddle the gap between aspiring software engineer and professional software engineer.
You don’t need to know too much to become an intern, but you should know at least one computer programming language (the one you will use on the job), and be able to write simple but useful programs in that language.
Your journey to Principal Engineer starts here.
An intern has some theory of computer programming but lacks practical experience contributing to production systems. Interns require close supervision and guidance to deliver value.
You can expect to go from knowing nothing to an intern with around 1 - 4 years of knowledge and experience gained from self-teaching, university, or trade school.
After a solid internship, which gives you experience writing real world software, your next stop is junior software engineer.
What a junior software engineer may lack in knowledge and skills, they make up for in passion for learning, and since they are just starting their journey, they learn a tremendous amount in a short period of time.
A junior software engineer has transitioned from theory to practice and can deliver value to production code bases. They possess a solid foundation and write clean, maintainable code.
You can expect to go from intern to junior software engineer in around 1 year.
After enough time struggling to write, debug, and maintain larger systems, you will grow from junior software engineer to software engineer.
When a software engineer, you begin to come into your own: you develop skills and learn theory that will power your rise to ever greater heights.
A software engineer has a strong grasp of development principles and can work independently on complex tasks. They design and implement robust systems that meet requirements.
You can expect to go from junior software engineer to software engineer in around 2 - 4 years.
The senior software engineer is the workhorse of our industry. Many projects live or die based on the percentage of senior software engineers working in them.
A highly coveted title, the harsh reality is that many so-called “senior” software engineers suffer from title inflation. No one can really be called a senior software engineer unless they’ve been working professionally for a decade or more. Even then, due to lack of interest or ability, some will never graduate to senior software engineer.
A lot of engineers think that they have made it once they attain the position of senior software engineer. In some ways, they have, as job applications become easier given the wealth of industry experience seniors demonstrate.
But in other ways, senior software engineer is just the starting point for the profession.
A senior software engineer has extensive development experience and leads the design and implementation of large-scale systems. They are domain experts who mentor junior engineers.
With sufficient breadth and depth of experience, and the right mentors, you can expect to go from software engineer to senior software engineer in around 4 - 6 years. This means that the road to becoming a senior software engineer takes a decade or more.
In any team of senior software engineers, at least one of them will often stand out. This individual combines a passion for their finely-honed craft with the experience necessary to absorb both the small picture and the big picture, the technical side and the business side.
Combined with an ability and willingness to communicate proactively, both to colleagues and to management, these rare engineers have cultivated leadership skills, and they quickly become the go-to engineer on the team for the toughest challenges.
At Ziverge, demonstrating these leadership skills is what gets you promoted from senior software engineer to lead software engineer (unlike at some other companies, at Ziverge, lead software engineer does not imply management responsibilities of any kind).
A lead software engineer emerges as the go-to expert on any team they join. Their deep knowledge and ability to drive projects make them highly sought-after for guidance and advice.
For those with the aptitude and drive, you can expect to go from senior software engineer to lead software engineer in around 4 - 6 years.
As you climb the ladder of principal engineer, the next stop on your journey is that of staff software engineer.
Though also subject to title inflation, a true staff software engineer is rare and highly valuable to an organization–literally the last person in a team the organization would lay-off in a crunch.
Staff software engineers have more experience than senior engineers, and combine their cultivated leadership skills with a technical ferocity that allows them to plow through problems that would stump some junior engineers for a lifetime.
A staff engineer is a technical leader who drives innovation and shapes the organization's technical vision. They are multi-domain experts who tackle the most complex challenges.
You can expect to go from lead software engineer to staff software engineer in around 4 - 6 years. Not everyone who wants to become a staff software engineer will become one, even given an unlimited amount of time.
After becoming a staff software engineer, the next step on the ladder is that of the senior staff software engineer.
Senior staff engineers are not only remarkable engineers, but they have broader visibility outside the organization: they contribute to open source, they do novel work in some technical domain, they speak at conferences, and they have a name and reputation.
Senior staff engineers are a dream role model for every engineer to aspire to.
A senior staff engineer is a world-class technical leader who pushes the boundaries of what's possible with technology. They are recognized thought leaders who make a major impact.
You can expect to go from staff software engineer to senior staff software engineer in around 4 - 6 years. If you made it as far as staff software engineer, your goal of eventually progressing to senior staff software engineer is quite high.
The final step on the journey for many highly talented engineers is that of the principal engineer, the culmination of literally decades of experience across numerous projects.
Principal engineers have such depth they can tackle the greatest challenges, which would stump other engineers for decades. They do so with confidence, not because they know the answer to every problem, but because they have no fear (having been tasked with the impossible many times before) and they have developed systems that ensure steady progress.
A true principal engineer is a force of nature.
A principal engineer is a visionary technical leader who defines the organization's technical direction. They own the overarching technical architecture and uphold the highest standards.
Although this varies you can expect to go from senior staff software engineer to principal engineer in around 4 - 6 years. No one rightfully gets to the position of principal engineer without decades of experience spanning a multitude of diverse projects.
Once in a while, a principal engineer's accomplishments are so great, they change the face of software engineering forever–and not one time, in a minor way, but consistently, in major ways.
These engineers take the last step on the ladder, to the engineering fellow.
The engineering fellow is literally the accomplishment of a lifetime, and the highest possible honor that a software engineer can attain.
An engineering fellow is a world-renowned technical pioneer who shatters limitations with groundbreaking achievements. Recognized as one of the greatest engineers in the world.
There is no set time frame for going from principal engineer to engineering fellow. The timeline is often driven by highly innovative technical contributions, such as multiple novel inventions and patents, or becoming globally recognized in multiple fields.
The journey to becoming a Principal Engineer is long and challenging, but ultimately rewarding for those with the passion and tenacity to see it through.
Starting as an intern, you'll progress through the ranks of junior, mid-level, and senior engineer, acquiring knowledge and experience along the way. As you grow, you may take on leadership roles like lead or staff engineer, driving innovation and shaping technical direction.
The truly exceptional may reach the heights of senior staff engineer, principal engineer, or even engineering fellow–a pioneer who shatters limitations and transforms software engineering.
This track requires decades of hard work and continuous learning. But for those determined to succeed, the rewards are immense: tackling the most complex challenges, mentoring the next generation, and leaving a lasting legacy.
If you're ready to embark on this incredible journey, remember that every step counts. With dedication, hard work, and a passion for your craft, you too can climb the Principal Engineer ladder and achieve greatness.
If you want to continue your journey at Ziverge, please see our Careers page.
Stay ahead with the latest insights and breakthroughs from the world of technology. Our newsletter delivers curated news, expert analysis, and exclusive updates right to your inbox. Join our community today and never miss out on what's next in tech.