Developing Leadership is our story-driven approach towards the future of software engineering. Together, Jason Warner (Redpoint MD and former GitHub CTO) and Eiso Kant (Founder of Athenian) create the blueprint for successful engineering leadership.
In the first episode of Developing Leadership, Jason and Eiso talk about how the roles and perceptions of engineers and engineering leaders have changed over the decades. From the catastrophic offshoring trend of the early 2000s to the golden age of development, the tools, the processes and the culture shifts.
Heard a term or concept you want to learn more about? Jump to the Topic Explainers section
The expectation of engineering leadership has changed tremendously. Way back in the day, engineering leaders struggled to get to the highest level of an organization. Many times, the VP of engineering or CTO did not report to the CEO. Instead, they reported to CIOs or COOs or Presidents. Many times, even at startups, the Head of Engineering was not on the executive staff, which in 2021 would be unheard of. In fact, when you think about it today, if you have to list the second most important executive in most organizations, particularly pre-seed stage, it's a CTO.
In the early 2000s, there was a massive offshoring trend. Almost every large organization in the world was offshoring or near-shoring. And it was considered fiscally irresponsible not to do it, and it was almost exclusively Support folks and Engineers. That had cataclysmically bad outcomes for many organizations, and it had nothing to do with the people they were hiring. It had to do with how they thought of what they were doing.
Later, they realized that the value creation side of their organizations was in engineering, so they started, still offshoring but paying better and getting higher, more experienced talent, which gave them better outcomes. Then they realized, "well, the way we're doing this is wrong too," so some organizations changed early, but some are still trying to dig themselves out of that hole.
I think that, even up to 2008, engineering leadership was not considered real leadership. Engineering leadership was spreadsheet, jockeying, getting stuff done, all of that. The whole idea of communication and organization and all that sort of stuff, the height of that was Agile.
Particularly in early-stage companies, but I think this holds for a long time, the person you choose as your engineering leader, especially when scaling up, is someone who is already in your organization. So, you go into a room, the team has seven engineers, and one person needs to stand up and say, "I'm the engineering leader". And usually, that's the most technical person in the team. But I've always followed the rule of picking the person with the highest empathy, and secondly, the strongest system thinker.
I think Heroku plus GitHub, in a magical moment, was peak efficiency. If you did Rails, Heroku and GitHub, you had the best experience on the planet for developing software for a four, five, six-year period. Then I think a couple of things happened, and we're getting worse, and we're trending worse, in my opinion.