One developer's career inflection point
Tonight I am sitting here in a coffee shop contemplating what will be my immediate priorities after an incredible 3 week break from the office. This is not that much different than previous years as I typically take time off in December and use that time to relax and vacation with family. This year was different in that the kickoff of my break was attending KubeCon in Seattle and I used that break as a sort of way to ease into vacation and decided to not do family travel this year. In terms of work, 2018 really challenged me to make hard decisions and also made me refocus what I felt was important for me in terms of career development. I am going to share details about highly impactful career decisions I made this year that many will be hearing for the first time in this article.
Downtime for software developers
I think the mind of a software developer is unique in many ways. When I talked to various conference attendees at KubeCon, the shared desire and mindset around experimenting over the break with what technologies they heard about in 2018 and did not have time to fit into their busy work schedule. I love the month of December for exactly this purpose. As I mentioned in 2016 Retrospective: How did I end up here? I outlined my typical holiday break technology adventures and I continued this into 2018 with my article Kubernetes: Exploring Istio for event-driven architectures. This year I decided to take yet another angle and use this time to talk more about my career and an important decision I made in 2018.
My career in nutshell
During my career, I have been extremely lucky to have always been at the right place at the right time for tremendous opportunities. When I talk to colleagues about my roles, there is always that initial reaction that I always get to work on amazing incubator projects and emerging technologies. In each of these projects, we really look to cross new bridges and take different approaches to these projects. My role is often one where we start small where I am very hands on in the beginning and transition to more architect, mentor and recruiter as we grow the team. I enjoy all aspects of the the product arc lifecycle and have done it on numerous occasions and am intrigued by the idea of unicorns.
Searching for the unicorn
The tech industry loves to find unicorns. The most common usage of the term unicorn is to describe a tech company with a valuation greater than $1 Billion. However, it can also be used to describe that elusive designer that can do user research, design, wireframes and also front end development. There is even the notion of full stack developers that can start with architecture with a focus on building internet scale applications to also dabble in UI development as well as backend server development. The truth is that over the course of a career, there are likely many people that have played many of the roles but it is extremely hard to find someone that is knee deep in the latest of all of the disciplines since technology evolves too quickly to be an Subject Matter Expert (SME) in all aspects.
Am I a unicorn?
This is probably a strange question but let me try to explain. This past year I decided to take a new role at IBM and move into a new organization focusing on Blockchain technologies. That decision was months in the making and one that I really needed a gaggle of mentors both inside and outside of IBM to help me navigate. When making my decision to move, I explored multiple opportunities to leave IBM that came as a result of my network and mentors. Prior to this inflection point, I had rarely considered looking for external roles. However seeing many long term colleagues that I respected deeply make the leap, it was my time to find out what I may have been missing. The opportunities that hiring managers presented to me were varied in nature but all came down to a set of common requirements. The roles that I was interviewing for were all senior level architecture roles that led teams ranging from 4 to 20 developers. The roles all required hands on development experience with the expectation that you would spend roughly 70-80% of your work week writing code. Of course, since the roles were architecture level roles, they also wanted me to own the architecture and direction of the project. The roles placed a much higher value on my ability to deliver code and architecture over some of my other skills around gaining consensus, mentoring, building squads, enabling squad autonomy and recruiting. The net of the discussions really centered around my contentment with such a role especially since while I have remained very technical, I was not spending that large percentage of my time writing code at this stage of my career. The comment thrown out there was that I was a unicorn in that I led major products and did the technical architecture related activities but also many things that would fall under manager duties without direct management responsibilities. I was sort of stuck in the middle between hands on developer and manager. Most tech companies I spoke to simply did not hire often for the type of role that I was seeking and rarely went external for those types of roles since they preferred to grow them organically.
Putting my developer hat back on
As I mentioned above, I took a new role developing an incubator project in IBM's Blockchain organization. The role afforded me the opportunity to return to my roots as a developer working on an amazing technology. My current workload mirrors what I was seeing out in the industry and I am extremely satisfied with refocusing more of my energies on writing code. You may ask what has changed with this role compared to previous roles. The main difference is that I have often worked on projects that start small and grow pretty rapidly so I often have to shift my focus to enable developers on the team to be productive and focus more on architecture and longer term design goals. My current project is still in its infancy and has remained smaller in size longer than most projects so there is little in the way that would prevent me from writing code.
Next challenge
To be honest, the current role I have has me quite content. I am looking forward to where we can grow this new incubator and what will be the major challenges for us to deliver something to market that will be a game changer. I think there was a small seed that was planted in me that challenged me to demonstrate that I could still be an amazing developer. The challenge was to do that and still bring to the table the other skills that I have attained since moving into more senior level architecture roles trending to more of a technical executive career path. I have maintained focus on transparency and communication of our progress around the incubator with a goal towards creating a community inclusive of stakeholders and developers that could benefit from our project. I am finding that I able to continue to embrace the things that make me unique and have made me successful in the past. The difference now is that I am focusing more on being more hands on and that code is still what rules in 2019. I think with this new found balance, I will continue to write code which I have definitely found a renewed love affair with but also will be able to continue to do other things that I have grown to love as well.
Acknowledgements
I would be remiss if I did not again acknowledge the role that mentors played in my success in 2018. I believe that mentoring is bi-directional and that everyone serves as a mentor in some capacity. I often seek out building relationships across my network from early career to senior leaders since each perspective forms the nucleus of my overall perspective on things. My proudest mentoring interactions are when a colleague discovers that next career pivot or role that they want to tackle. While that often means seeking opportunities in another project or even with another company, I encourage them to go outside of their comfort zone but know that I am there for them if they ever need support or want someone to just listen. I think that in combination with my transparency with my mentors have enabled me to be to continue to grow in my career and still keep things interesting!
Eng Leader | Systems/Architecture Researcher | Builder | Defensive Midfielder
6 年Nice post Todd. i do the same Dec break and retrospective. I have simlar experience w external folks in terms if hands-onness and what is considered as key req-s for an eng. position. I am not a fan of this as this seems poorly correlated with building out teams and product. Even though you can still make it through, your role quickly shifts to building a squad, plan and mvp. Best of luck with the incubator. Always fun to build something new.
Senior Technical Staff Member, Cloud Continuous Delivery DevSecOps Architect
6 年Good luck, sounds exciting!
Good luck Todd! A recruiter many years ago gave me what in hindsight was great advice, "Stay hands on as long as you can." Even if I don't write (much) production code anymore I find the ability to read code, build POCs and to make informed judgements about risk invaluable.
EY Global Lead Architect | EY Fabric | Director | Client Technology Engineering
6 年Have a good 2019 !! keep coding fella :)