Mark As Completed Discussion

Engineering Career Focus

Following that logic, two software engineers with the same level of technical depth (in terms of writing a React component or a Django API, for example) should seek to improve upon their project management, communication, and team-building knowledge. This will let them improve upon their value-add to an organization.

And if you've been working in the field for a while, you'll know that it's especially false in higher level roles, such as engineering management. A software engineering manager's biggest value add is getting stuff out of the way and building up engineers. Ultimately, what gets produced is still code, but it's through a different vehicle and skills.

Similarly, in senior individual contributor roles, there's still responsibilities that go beyond pull requests:

  1. Mentoring junior engineers
  2. Designing/architecting systems
  3. Producing documentation
  4. Project management
  5. Managing stakeholders

However, to play devil's advocate, one can also argue that the ultimate goal of this analogy is whether you should focus on developing one skill or multiple. At the end of the day, to get to senior levels of software engineering, you still need to be a reliable technical contributor.

This is to say, there is still a minimum bar to meet-- you can be a regular speaker at frontend conferences, but if your personal site looks like a 1999 geocities page, you won't command much respect. Thus, despite the line of thinking that software engineering encompasses many different skills, and should be seen as a "winner takes all" market, technical proficiency will still need to be one of (if not the) overwhelming focus.

What are your thoughts? Is software engineering a "winner takes all" or "auction profession"?