Question

If you're developer (Senior or Lead Developer) and you'd rather stay with code/design than pursue a management career, what are the available career paths at your company, or any you've heard of? How far can you go?

Is it possible to continue being a geek until you bite the dust or is that too naive?

Are people like Uncle Bob for example still considered developers, as they claim?

Was it helpful?

Solution

I am going to go out on a limb here and say something that is not likely to be the answer you want to hear, but if you don't like management, your career path is going to be very limited. If what you like to do is code, and if you are really good at it, and you don't want to stop, then your career path is on a single trajectory: software engineer and then senior software engineer.

If others recognize how good you are then their inclination will tend towards putting you in a position where you can transmit your experience to others. In other words, they will want you to manage and/or direct. It is hard to take on that added responsibility without taking on some form of management. If you are an architect and responsible for a system's design, and if you want that design to be successfully implemented, you will need to lead and manage others. If you become a founder of a start-up and you become successful, then chances are at some point you will need to hire someone to help, and then you will need to manage them. If you become a CTO then there is no way in hell you will be able to not manage.

That being said, I don't think this question can be answered without understanding what it is about management you don't like. Do you not like managing personnel? Do you not like the idea of coding not being your primary responsibility? Do you not like the burden of responsibility for something's success?

The answer to that underlying question will help point you in the right direction. Or to put in another way, a way we should all be thinking about the work we do, is this: what does your ideal job look like? Forget about titles for a second, forget about the company you work for, just focus on your day-to-day life, and those things that will make you truly happy and thrive. Then work to create that position at the place you work, or at a company you build yourself.

OTHER TIPS

Depends on the sort of company you work for.

Many companies don't value talented, experienced developers as highly as managers, and will never reward them to the same level <- This is not the sort of company people like you should be working for.

Other (usually more tech-focused) companies will value their developers more, and staying in technology should not limit your career in terms of reward and status <- you probably want to work for this sort of company.

If you have a bit of entrepreneurial spirit you could also start your own company - then you'd be the boss.

At my company, the management and individual contributor tracks are separate and mostly parallel. Individual contributors can rise very high in the company (up to Technical Fellow) without being a people manager. It helps to partially avoid the Peter Principle, though never completely.

Although Architect seems to have negative connotations, I think that's the technical equivalent of moving to management.

FWIW, Microsoft (like other large companies, I'm sure) has career paths for non-managers that go to VP equivalent levels (Distinghished Engineer and Technical Fellow). MS is really big on showing a career path for non-managers.

Probably something like this:

Jr Developer -> Developer -> Sr Developer / Team Leader / Lead Developer -> Software Architect

Contracting. There's far more money in freelance work.

There are several paths I've seen taken:

  1. Product Manager
  2. Requirements Analyst
  3. Architect
  4. Team Lead
  5. Configuration Manager
  6. Technical Writer
  7. Start-up Founder
  8. Grant Writer

Depends on the company. A lot of companies offer two paths for advancing developers: technical and management. If you prefer technical, you move slowly up the pay grade, developing valuable dev skills, but sticking with development- you become a guru. It's less money than going management, but if you want to hack 'till you die, it's the way to go.

If you work for a small company being a developer may be the highest role unless you start your own company. You will then become a Developer/Director. Don't worry too much about reaching the highest technical role in a company. Just do what makes you happy.

If you work for the right kind of company then there should be no limit to being a developer as long as you are really good at it. Management is actually one of the easiest ways to climb the career ladder if you are less technically proficient. I have seen this very often in the world of software development.

So I think that if you want to live in the code world but get to the top of the tree, you need to make sure you work for the right company - if you are good enough for long enough, they will make a position for you - ultimately you may end up being a decision maker (but not a manager) due to your vast experience. I have seen developers move into Senior Vice President roles without having anyone to manage, but due to their knowledge, experience and enthusiasm.

Also, it may sound obvious but you should speak to your boss about what your career advancement options are - you may be surprised. It helps if you think about some potential job titles that do not exist in your company and you can ask your boss if you can work towards changing to that - something like "Head of Code Quality" or essentially a title which hints at more than just a developer even though you may still just be a developer - this will make you stand out when it comes to future promotions or even pay reviews. You have to remember that there are less jobs at the top, so you need to stand out. A lot of people say a job title means very little, but that's not true - it can make your career if you choose your own - doing this simple act also shows some ambition.

Texas Instruments had a dual ladder when I was there.

  • Engineer Associate
  • Engineer
  • Senior Engineer
  • ---- from here on, you had to be nominated in by someone already higher up
  • Member of the Group Technical Staff
  • Senior Member of the Technical Staff
  • (maybe) Distinguished Member of the Technical Staff
  • TI Fellow
  • TI Senior Fellow
  • TI Principal Fellow (there was only one of these in the company, as far as I know)

there are many titles that are found in a programmers path if he stick to technical career, such as

  • Lead Developer / Lead Development Engineer.
  • Team Leader.
  • Solution Architect (focused on system design and integration, etc.).
  • CTO (Chief technology Officer) .. this is totally technical but with a spice of being top technical person in the Organization.

Always remember that you can take another path and become a software consultant.. You can also work on other projects in parallel like writing some books or working in a blog...

If you don't like management you should get in to management to change things and make it acceptable to like-minded individuals.

Licensed under: CC-BY-SA with attribution
scroll top