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've been a programmer for most of my life.

I recently interviewed for a management job in a company and the interviewer looked at my CV asked me "How do we know you're not just a programmer". Which in my opinion is quite a rude thing to say, but it's not an isolated incident and I've heard other similar things in other settings.

It does seem that for some reason being a programmer is viewed as having a lower station, especially in settings where they have a separate IT department which is viewed as a support role.

Is a career in software development doomed to being a second-rate support citizen?

share|improve this question

closed as primarily opinion-based by Robert Harvey, Thomas Owens Jun 10 '14 at 16:06

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

I would have understood the phrase as "Since you have no previous experience in management, how do we know that you have the skills required for the job?". And could have asked both to a programmer or a winner of the Nobel Prize of medicine – SJuan76 Jun 8 '14 at 22:24
Strange... there are some companies whose biggest problem is they cannot get enough programmers or they can't pay them enough. The fact that there are employers these days who consider a programmer 2nd rate seems absurd to me. – Brandon Jun 8 '14 at 22:24
Also, Dilbert provides some reasoning: – SJuan76 Jun 8 '14 at 22:35
Yeah, I agree with SJuan76 - the evidence you provided may or may not (tending towards not) imply looking down on programmers. Do you have any more conclusive evidence? – Dukeling Jun 8 '14 at 22:46
To me that just means "but you're a programmer, do you have any experience in finance?". Nothing to do with judging programmers specifically. – Jon Jun 9 '14 at 9:30

Job titles in the Information Technology field get so mangled. You've got code ninjas, code monkeys, wizards, gurus, software engineers (only in some states), architects, developers, programmers and almost every other way to describe a programmer.

There are some that consider a programmer to just be someone who writes code. Just that. This perception is on both sides of the desk - some developers see it that way, some managers see it that way.

To this extent, you are being asked "what have you done to show that you are capable of managing a team?" Programming is often seen as a solitary thing. What have you done to mentor someone? Mediate a architectural debate? Handle the paperwork of management? Instruct, direct, and do all those things that managers need to do.

Managing is a very different skill set than being a programmer and I have seen more than a few programmers follow the managerial path only to find that it's a completely different world.

Consider also that philosophies of management that consider everyone working for them to be 'lesser'. In this world view, everyone who isn't a manager is a second rate citizen. This isn't something that one can correct in a single meeting or interview.

Anecdote: I once over heard some jr. managers talking with their mentor about having to pay programmers more than they were making (and were quite upset about this)... Their mentor told them that if they had programmers making more than they were they should be quite happy about it and may have some of the better programmers in the Valley and they should strive to have all their programmers making more than they are.

Further reading: How to be a programmer by Robert L. Read (pay attention to the 'team skills' and 'advanced serving your team')

share|improve this answer
In some states software engineer is a licensed profession. In others, companies are free to use the job title as there are no legal requirements for what the title means. – unholysampler Jun 8 '14 at 22:53
Licensed? What states? I'd like to move to one where I would be treated with respect! I know that Professional Engineers are licensed in most states, and are considered nearly on par with doctors and lawyers as respectable professionals. OK, well, nearly on par with licensed "nail technicians" and beauticians. It's always irked me that "engineer" is thrown around so casually by garbagemen and boiler room attendants, which is probably why real engineers are so low on the totem pole. – Phil Perry Jun 9 '14 at 13:18
@PhilPerry Yeah that's a problem too, why is the guy who checks the fuses in your house called an electrical engineer? – CaptainCodeman Jun 9 '14 at 13:21
I would hope that my electrician does not call himself an EE! Unfortunately, in most if not all states there are no legal restrictions on who can term themselves an "engineer", including train drivers, except for PE's. – Phil Perry Jun 9 '14 at 13:31
Licensed or not, don't make the mistake of thinking that "engineer" is generally any better off than "programmer" or "developer". – J0e3gan Jun 9 '14 at 18:32

Is a career in software development doomed to being a second-rate support citizen?

In many companies, yes.

The fact of the matter is that software development is a second-rate citizen in many companies, since software "isn't what makes the company money". Car companies don't sell software, they sell cars. Restaurants don't sell software, they sell food (and booze).

This is absurd of course - cars with faulty software won't sell. Restaurants that can't handle seating or drive-thru will quickly close. But software is new enough that many people in industries where software isn't the product haven't caught up. They don't understand that software is just as vital these days to success as product design or customer service or more traditional support operations. And sometimes those companies have just as much blindness to those traditionally second-class support operations as software.

But these situations are not universal, and they're decreasing as time goes on. To avoid these things, focus on the leadership sort of things you've done. Have you lead teams? Have you done scheduling? Put that in your resume.

I've actually suffered the opposite problem recently - since I've been leading teams for 4 years, people ask me if I can still code (even though my title has been Sr. Software Engineer).

share|improve this answer
To be fair, a car with no wheels won't sell either, and whoever designs the wheels isn't necessarily considered the single most important person in the company either. Not every essential component can be your company's defining value-add compared to your competition. Although naturally it's nice if those who aren't the main focus at any one time, are nevertheless properly recognised :-) – Steve Jessop Jun 9 '14 at 10:09
+1 completely agree. And @SteveJessop I could be wrong, but I suspect tires are designed by some very smart engineers who are highly valued for their craft. Similarly, I've heard good developers are highly valued by car manufacturers - I would say that is one less than apt analogy here because the auto industry is among the most technologically advanced industries there is which values good engineering far more than most industries. That said, I agree with what Telastyn said completely. If you want to understand the perceptions and decisions businesses make, understand their revenue stream. – Jimmy Hoffa Jun 10 '14 at 16:10
@SteveJessop but software manages the whole car. Surely mind is more important than limbs. – Den Jun 26 '14 at 14:28

Just because you can write English, doesn't mean you can write (good) poetry.

If I was pedantic, I would say that programming is just process of expressing ideas and design into a code. It is the process of getting those ideas and figuring out the design which is the most important and problematic part. If you have the design done, writing it down in code is just grunt work. So calling yourself programmer means that you just do that grunt work, while real work is done by software designers and analysts. And for many people, there is strict distinction between all of those roles.

That is why I call myself Software Developer and not a programmer. Because it implies much broader skillset than just programming. Including analysis, design, implementation/programming and testing.

share|improve this answer
I don't think I've ever encountered such a point of view. It seems more likely that someone will look down on programmers because they just have no idea what is involved (or that OP just misinterpreted the statement in question). – Dukeling Jun 8 '14 at 22:50
I have. You may not have the "luck" of working for a company with this mindset. It is very common among consulting firms which specialize in bringing in large numbers of people on short notice and the companies which use them. – Alan Shutko Jun 9 '14 at 1:52
If I were pendantic, I would say you should have said "If I were pedantic" instead of "If I was pedantic". :) – Almo Jun 9 '14 at 20:14
I think in reality there is no such thing as "just programming" as opposed to mindful program analysis and design. I would be happy to be just a programmer for a week, getting good specs and documentation. This just does not happen. I always have to do some (if not most) of the design work (except graphics design) for the project that I'm working on. And when you do the programming part well, you will always find ways in which the spec can be improved (or has to be improved). That's because the final spec requires a working program. And in many cases there is no real spec besides the source. – Michael Jun 9 '14 at 22:24
I'm also familiar with this distinction between programmer and developer. The distinction is sometimes made by HR departments, for example. I would definitely avoid using the word "programmer" on a resume. A programmer is someone with no creative input. They take the spec from the architect/designer, and implement it. They are told what a method is called and what its arguments are before they begin coding. – rich remer Jun 9 '14 at 23:30

I would interpret this sort of comment as "you don't seem to have much experience outside of your chosen speciality". If one is "just a programmer" the future is bleak. We need to look forward, embracing change, evaluating the good stuff and weeding out the new products that are essentially rubbish.

The organisation I work for is COBOL and Java based. The programmers who have stayed with COBOL may be expert, but time is running out. The ones who have moved (often with great pain) to Java, are now finding a rewarding new career producing web applications - something that is very difficult to do in COBOL.

So if faced with this sort of comment, return with a list of the new technologies you know about and are actively persuing (e.g. Your own website, mobile apps for IOS or Android, mobile hybrid apps, Ruby, Scala). A good reputation score on StackOverflow is another plus.

The best employers are looking for people who can grow as technology advances. "Just a programmer" suggests to me that the interviewer thinks that the candidate has stagnated.

share|improve this answer
COBOL on Cogs makes it easy! – Gaius Jun 10 '14 at 9:30

I guess programming is sometimes viewed as a second-rate role because "sometimes" (in fact, typically) programmers are not the most important people in a randomly-selected company, and also are not the ones who take the highest-level decisions. I wouldn't say myself that project managers or hedge fund managers are inherently superior to programmers. But if someone is of the opinion that they are, then clearly programmers will be viewed as secondary. And in a certain context they objectively might be superior, in the sense that if you need someone with particular skills then someone who has them is superior to someone who doesn't (or at least, whose role doesn't say they do). So in that context again programmers are inferior.

Leaving aside when programmers are viewed as inferior, be aware that the word "just" means "only" (this and nothing else) as well as "merely" (no better than). Saying "are you just a programmer?" does not necessarily imply that programmers are inferior to something else, and likely wasn't intended to mean that. It questions whether or not you are something else in addition to being a programmer. So, while I think there's a perfectly good answer to your question, I don't think your question is fully justified by your example :-)

I would say that pretty much always, if you want to move from role X to role Y you could reasonably be asked "are you just an X?", as a (rather blunt) challenge to prove that you're fit for Y. So a hedge fund manager who talks about writing triple-A game titles might well be asked "aren't you a hedge fund manager?" and vice-versa.

In the company where I work, a small programming department supports a large group of analysts. Programming is secondary to what the company really does, which is not to produce software. As such, in the context of a discussion about analysis, I am "just" a programmer. I'm not completely unfamiliar with the analysis, but I'm naturally not as familiar with it as the analysts are, and I could not simply step in and start doing their jobs. If that made me feel "second-rate" then I'd have a problem. What's really happening though is just a consequence of specialization. A hammer and a screwdriver are equally useful tools, unless you have a nail to knock in.

Finally, consider that the career path of "someone who makes software" might leave the word "programmer" behind as you get more senior. Words like "developer" or "engineer" or "software architect" all suggest that literally programming, that is to say typing code into a computer, is not all that's required to make software. In that context, again, someone who is "just a programmer" is by implication not a senior software engineer, and so might be considered directly junior to one. That senior software engineer would be "more than just a programmer" as far as that company's hierarchy is concerned.

share|improve this answer
Agreed. After you get a few years of experience under your belt, to call yourself just a "programmer" implies that you are just a code monkey, with no design and architectural skills, and usually no management skills. I don't know what wording the OP's CV/resume used, but "programmer" is somewhat toxic for anyone beyond entry level. – Phil Perry Jun 9 '14 at 13:50
@PhilPerry: Yes. I happily describe myself as "a programmer", but in this environment I wouldn't want it as a job title. I guess in much the same way that the head of finance is "an accountant" but is not "just an accountant" and wouldn't want the job title "accountant". – Steve Jessop Jun 9 '14 at 14:07

Many different companies have many different opinions on what their employees should be able to do and terms are used to describe that position. It is possible that they are looking for someone that can also lead a team instead of just being a team member for the position you were applying to.

You say that you feel that developers are seen as a lower position? Lower than what? You also don't mention the field of work the company was in. If the company does finance and happens to develop software in house for some of their tasks, it is very possible that the company just views software as a means to an end. A company that makes their money writing software would have a different opinion of developers.

share|improve this answer

The programmer was viewed as a "second rate role" IN CONTEXT.

The context was that you were being interviewed for a "management" job over other programmers. More to the point, this is a company that has a "management" track distinct from a programming track.

In some companies, the progression might be something like junior programmer, senior programmer, programming manager, department head, etc.

This company, on the other hand, views management as a separate (and not continuing) function of programming. In their view, they might bring in a "manager" from another department such as accounting to supervise programming.

So their question to you was, what makes you think that you are "management" (as opposed to supervising programmer) material? In that context, "programmer" would be seen as "second rate" compared to management.

share|improve this answer
If there is a lack of progression from technical to management roles this can often either mean that the technical roles are respected and subject to their own progression, or often treated as very 2nd rate and worthless compared to the management functions. – Kickstart Jun 11 '14 at 8:15
@Kickstart: That's true. And usually the latter. – Tom Au Aug 26 '14 at 18:59

In my view, the main factor is the traditional split between theorist and practitioner in many professions, with the associated prestige that the theorist role usually takes. In programming, this was expressed in the separation of architect/analyst and developer/programmer roles. Even Wikipedia defines developer, in the disambiguation page of the term, as "one who programs computers [...] to match the requirements of a systems analyst" .

Note that the construction analogy implied by the term "architect" extends to both roles: a property developer is "one who builds on land or alters the use of an existing building". I think this is misinterpreted by many managers, specially in non-English speaking countries, to mean "unskilled construction worker".

What these managers fail to see is that the analogy between software and construction only goes so far: construction architects draw on thousands of years of expertise and established practices, while software architects only have decades of a constantly changing field. Drawing a strict line between "designing" software and "implementing" software is as risky as asking someone who has never seen a set square to build a pyramid.

share|improve this answer

I got an IT Support job, because I had qualifications in programming. Now to think of it, I think I got the job because no one actually knew then what programming/software development was all about. I don't think programming/software development can be seen as a second rate job class. I have had experience where the interviewers on the panel had no idea what programming/software development entailed. It all depends on the type of managerial job that you are applying for. Applying for a managerial job at a software development company will have more serious IT interviewers than a company that just does help-desk type of interviews. Also it depends on how you sell yourself. If you sell yourself as just a programmer then it is going to be slow getting ahead.

share|improve this answer

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