Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was under the impression that you start in a programming job, do a good job, demonstrate willingness, get sent to a bunch of internships by the employer, and make your way up until you are given responsibility of an entire project. But a friend of mine told me that you also need at least a Masters' degree to be considered for that job. Is that true? How do people typically get to be in that role?

PS notice I said "typically". I want to hear the general case, not private cases about someone you know.

share|improve this question

closed as off-topic by MichaelT, gnat, Kilian Foth, GlenH7, Yusubov Jul 22 '13 at 13:29

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, gnat, Kilian Foth, GlenH7, Yusubov
If this question can be reworded to fit the rules in the help center, please edit the question.

Start your own. – Aseem Gautam Nov 23 '10 at 17:38
@EpsilonVector are you asking about a particular country? Masters are valued differently in different places. – Alison Dec 2 '10 at 1:58
up vote 10 down vote accepted

A Master's degree may shave a couple of years off your career path, depending on your company and your particular position, but it is by no means necessary for promotion (and certainly not a guarantee).

When it comes down to it, you become a leader by convincing others that you are the best person for the job. It isn't guaranteed by the amount of time you've spent studying or how long you've worked in lower-responsibility positions (not that they won't help).

share|improve this answer

The chief software engineer in a company is going to have the best balance of an understanding of the needs of the business and building reliable/excellent technical solutions to difficult problems.

IMHO some of their traits are:

  1. Favouring time-to-market over elegance of solution. This doesn't mean producing inelegant solutions, just that a solution that delivers earlier will be more profitable in the long-run.
  2. An aversion to ground-up re-writes as they've learned the cost through experience.
  3. Ability to give accurate work breakdown structures to the business with realistic cost estimates and schedules.
  4. Can deliver on (3).
  5. Commands respect with the rest of the engineers in terms of being someone who gets results.
  6. Shying away from shiny new technology until it is well understood and has continuing industry/community support.

Some of these traits develop over time; some of them may get a kick-start by doing a secondary degree. Personally, I think that time spent in the subject of software engineering would equally help towards these goals. Remember that some of the big names in the industry do not even have degrees.

Fundamentally, getting promoted up to this role is going to require all other engineers to leave/die, or saying and doing all the right things such that those with the power to promote you to this position do so.

share|improve this answer

By wanting to be in that role and playing the politics game quite often?

Many code monkeys I know just want to be better code monkeys at the code face. Some want to be line managers (of development teams) or project managers or "architects" (whatever that means these days) but very few would want to be chief software monkey.

If you have experience, the masters degree should be irrelevant, It shows education and learning ability, not suitability or aptitude for a chief software monkey role.

Degrees are over rated anyway: does not infer programming skills...

share|improve this answer

It is my experience that an MBA is something that most senior management people in any field have.

share|improve this answer

To be chief software engineer for a company, you have to be great at being chief software engineer. And more importantly, love doing the work of a chief software engineer.

It's all you need to know.

share|improve this answer

Know the business and the company procedures. As the top software guy, your boss isn't going to be a software guy, and you'll have to communicate with everybody outside your department in business language, not software jargon.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.