Repost: What kind of room for career growth is there for software engineers at large companies?

My answer to this question on Quora:
What kind of room for career growth is there for software engineers at large companies (i.e. Google, Facebook, Apple, Microsoft, etc.)?

I’m first going to answer the question, then I’m going to give you my thoughts on Software Professionals, career progression, management and leadership.

Typical Software Engineering Career Paths
Software Engineerings or Developers are typically promoted based on their technical skills.  As you improve and add to your skills, you are promoted through the typical technical “ranks”, which typically are Jr. SW Developer, Intermediate SW Developer and Sr. SW Developer.  Different organizations may have different names and different qualifications for each role, but generally, they have roughly the same guidelines.

Seniority Options
As you move towards the Senior roles, you typically have a couple options:

  1. Most organizations (Google is one example) offer a technical lead role, which is a mix of technical with some management aspects.  This is usually considered the best way to try out management-type work without being fully committed.  From this role, most organizations allow progression into either a full-manager role or a senior technical role (see #2 below).  I personally found this one of the most difficult roles in my career because the technical and management roles are very different and require lots of mind-shifting (more on that later)
  2. Senior software professionals typically can also become a technical guru.  Different organizations have different names for this title that range from “Architect” to “Sr. Software Developer” to “Technical Director”.  It’s basically a senior designation for technical roles. This role typically doesn’t have any direct reports, but has technical ownership of a product or piece of software.  The role is a technical leadership role where mentorship and support of more junior software professionals is expected.

Now that I’ve outlined the options, let me say my two cents about software professionals and management.

Great Software Developers Don’t Equal Great Managers
Management requires a completely different skill-set than building software products.  If you’re interested in the differences, I can share them with you — needless to say, the skills are different.  It’s dangerous to assume that a great software developer can be a great manager, because the skills that make them a great software professional don’t automatically make them great managers.   To complete the argument, great managers aren’t necessarily great software developers either, for the very same reason.

Management and Leadership Are Not The Same Thing
One of the biggest mistakes that most junior people (and some senior people) think, is that leadership comes with management.  That is utterly false.  Leadership is not the same as management.  Management is about managing resources, whether it’s people, products, finances, programs, etc.   Leadership is about inspiring, supporting, developing and bringing out the best in people.  By that definition, you don’t need to manage people to be lead them.  So while you’re considering your career progression and growth, think about what you want to do as a senior person. You can very well lead your team without managing them (see option #2 above).


2 thoughts on “Repost: What kind of room for career growth is there for software engineers at large companies?

  1. Which steam do CIO’s typically come from? I would imagine it’s not the technical ladder. If so, how do CIO’s ensure that they fully understand the technology and technical professionals they are managing/leading?

  2. I find CIO’s typically come from a business and IT background. So although they can be technical, it’s not really a software development background. Some software engineering & computer science grads do decide to go the IT route, but it’s more around IT Operations, Governance, Business Process and Customer Service, Support & Satisfaction.

    As for leaders understanding the people they’re leading — this is a typical problem with senior leadership that does not have the experience record to match the organization they’re leading. I find this typically happens for CIO’s, CTO’s, EVP’s of R&D or Engineering — mostly because C-level leaders prefer business savvy over technical expertise and sometimes it’s hard to find both. There are strategies to deal with this type of discrepancy, but I find the most useful strategy is to install seasoned leaders with appropriate experiences within the organization that you can trust to provide you with the technical knowledge that you may lack.

Leave a Reply