Software engineering has been an incredible career choice, providing me with opportunities to be part of remarkable organizations and contribute to innovative projects. However, as the years pass and experience grows, you come to realize that your value extends beyond simply solving individual problems. You may find yourself standing at a crossroads, contemplating whether to embark on a ‘management’ career path or remain a dedicated technical practitioner.
But there an interesting question to ask: Is it possible to have the best of both worlds? Can you maintain your technical prowess while leveraging your leadership skills as a force multiplier? In this blog post, we’ll dive into the art of staying technical while harnessing your leadership abilities over the course of a long and fulfilling career.
First, staying technical as a software engineer requires a dedicated pursuit of learning. I firmly believe that one of the key contributions I bring to any team is the ability to quickly absorb and apply new knowledge. So learning has to be important. It’s vital for you to cultivate a zeal for learning, making it an important part of your routine and personal practice. By embracing a lifelong learning mindset, you not only keep up with the rapid evolution of technology but also enhance your value as a versatile and adaptable team member.
Devoting time to teaching and guiding the next generation of software engineers is both a responsibility and a significant opportunity to make an impact. The act of sharing knowledge and guiding aspiring engineers not only enhances your technical and leadership skills but also can lead to feelings of pride.
Watching the individuals I have mentored thrive and achieve success has been incredibly rewarding. Witnessing their growth, making wise decisions, and avoiding the mistakes I’ve made is a source of immense satisfaction. I like to think I’ve helped them along the way.
It is also important to actively seek out mentoring relationships that can benefit you. I have experienced the benefits of having wise mentors in my own career. Having someone who provides sound and actionable advice has been a game-changer, reducing stress and offering valuable direction. Being able to rely on the guidance of experienced professionals has helped me navigate complex challenges with more confidence and vision.
Staying technical is important, but may need to now focus more on a team or a group of people with whom you work. You need to find the right balance of individual contribution to tasks and force multiplication by making many people better. Sometimes your role may be more strategic and the net effect is that, while you never write zero code, you will find yourselfe writing less. It is OK to oversee projects, coordinate teams, and help make important decisions.
I like to say that “soft skills are a super power for a technologist”. This is where that becomes evident.
- Learn to delegate and give others the opportunity for greater contribution. Be there when they need you. Don’t take all of the cool or difficult tasks. If there is something particularly challenging that only you can do, bring someone else along so they can learn.
- Learn to communicate better with different people from different backgrounds.
- Create a time management plan. Dedicate time to technical and leadership-related tasks and learning.
- Many of these skills may be new to you so you’ll need to lean in to your passion for continuous learning to add new skills to your toolbox.
- Be at ease with new hybrid roles that combine your leadership/force-multiplication skills and your technical skills.
- Regularly seek feedback so that you can learn what is going well, and what can be done better and pivot quickly.
Honing these skills and embracing new roles will put your projects and your teams in a better place and positively impact careers.
Your unique leadership qualities that have come with years of experience with multiple projects have likely been associated with many different industries or client-bases. That means you have a lot of experience that can be applied broadly. This brings the opportunity for you to collaborate cross-functionally across multiple business groups wherever you find yourself.
Your perspective allows you to bridge the gap between technical and business teams. By collaborating across disciplines (like product management, design, or marketing) or domains (insurance, finance, manufacturing, etc…) you will build bridges that contribute to project success.
Overall, cross-functional collaboration provides opportunities for growth, expands your skill set, and enhances your ability to lead and work effectively with diverse teams. It’s a valuable part of staying technical while leveraging leadership skills over the course of your software engineering career.
Personal Projects and Side Hustles
If you’re anything like me, writing code is important to you. There’s something fulfilling about creating your own tools to enhance productivity, experimenting with new frameworks, and tinkering with physical devices that serve practical (or sometimes not-so-practical) purposes.
To fuel that passion, it’s crucial to keep engaging in personal projects. Whether for small projects just for your own enjoyment or contributing to open-source initiatives, make it a point to continue doing the things that initially drew you into this field.
A friend once told me that side projects are the ones where you have complete autonomy and can freely explore your own ideas. Embracing this mindset has had a positive impact on my approach. It allows me to delegate exciting tasks to colleagues who could benefit from the experience for work projects, take on important yet less personally interesting projects, or even revive poorly executed endeavors to benefit a client. Embracing personal projects has not only helped me maintain hands-on technical skills but has also been a source of growth.
By actively pursuing side projects, you keep your technical skills sharp, nurture your creativity, and continuously expand your knowledge. These projects serve as an outlet for your interests, enabling you to stay connected with the roots of software engineering that sparked your interest in the first place. They provide a space where you can freely experiment, take risks, and bring your own ideas to life.
Staying technical while leveraging leadership skills over the course of your career is an art worth mastering. Hopefully it fits in with your current personal traits of:
- commitment to lifelong learning,
- seeking and providing mentorship,
- balancing roles effectively, and
- embracing the power of side projects.
Your career is ongoing. There is so much to learn and do. Contribute with your technical skills, your wisdom, and your leadership. It may be challenging but you will make many people and teams better.
Seek growth opportunities, and stay curious.