Hot answers tagged

107

It's up to the company really, as I don't think there's a legal framework to enforce a denomination or another, or at least not that I am aware of and this might vary from country to country (for instance, the use of the term "engineer" is actually fairly regulated in France, but there are variants that are allowed for the "abusive" cases). That being said ...


74

When hiring, we look for a distinction between someone who is going to be able to help us architect our system, define processes, create technical specifications, implement advanced refactoring, etc. and someone who is going to help us complete programming tasks off a checklist. I believe you could call the former a Software Engineer and the latter a ...


64

"So all things being equal" They're not. These titles are not equivalent. I would rank them like this, highest to lowest: Principal Engineer Senior Staff Engineer Staff Engineer Senior Engineer / Senior Research Engineer In general, "senior" implies depth of experience and maturity to work independently with less direct guidance in day to day ...


55

While the terms can be and often are interchangeable, I view a developer as someone who's involved in the whole process from requirements gathering, through specification and coding to testing and, yes, support. They might not be fully involved in all stages all of the time. A programmer is someone who just concentrates on the coding and has little ...


53

They are not supposed to be employer specific. Actually they come from the United States Bureau of Labor Statistics, which maintains a database of occupational descriptions. This database has a list of standardized job titles with fairly precise definitions for each one. In many professions, including computer programming, they have several bands based on ...


52

Yes it is a bad idea. If you attract somebody who is strong in that skill set, presumably they have other options, they will more than likely leave. If you attract somebody who is not strong, presumably they don't have other options and misled you as well, they will stay but not be the candidate you were hoping for. Either way you are worse off than you ...


41

Software engineers are people who work at companies that call the people who write software for them "software engineers." Programmers are people who work at companies that call the people who write software for them "programmers." There are also developers, or software developers. They are people who work at companies that call the people who write ...


40

Wikipedia gives a good overview of corporate titles and under the hierarchy for Information Technology companies you have the following: Chief Executive Officer Vice President Senior Project Manager / Senior Product Manager / Senior Software Architect Project Manager / Product Manager / Software Architect Project Lead / Senior Team Lead / ...


33

It's pretty much as you say - an attempt to imply coolness and eliteness (frequently among those who are neither) by making highly tenuous comparisons. Personally I hate the phrase (along with "Rockstar Programmer" which makes we want to batter people to death - you can be a rockstar programmer when you've got a drug habit an alcohol problem and have ...


33

The best way to answer this is to look at what the difference between a Developer and a Senior Developer. Assuming that it's not just a time served thing, generally I'd expect both Developers and Senior Developers to be able to: Write code competently in the languages required by the role Diagnose and fix bugs Write unit tests Follow standards and ...


30

The Short Version: There is no industry standard for these things, they're specific to each company and in some cases won't even be consistent within a single company. The skills and abilities that make someone a developer in one company might mean that they're a senior developer in another company, and a technical architect somewhere else. The Longer ...


29

There is no standard hierarchy of software job titles. Titles are peculiar to each company. If you have a question about a job title there's no point in asking anybody except that company.


28

To my mind there are a few parallels between a Ninja and a good programmer: Hidden weapons/unorthodox style - If you ever saw the G.I. Joe cartoon from the 1980s you may remember the character of Storm Shadow. He had a sword and some throwing stars but with just the right sequences of punches and kicks managed to take apart a tank in an episode. In a ...


28

The only way to know for sure is to get a job description (list of responsibilities, expected skills) for each position. The qualifiers on these titles seem arbitrary and will vary from company to company.


28

Never attribute to malice what can explained through incompetence I've seen this a few times, but I'm a bit more sympathetic: I blame incompetence rather than malice here. It's not even usually an individual within the organization, but the organization itself and the natural pressures and incentives at work. What happens is that an organization, ...


27

That BLS definition sounds like it came from 1973. Around Silicon Valley, the terms "programmer", "software developer", and "software engineer" are used pretty interchangeably. I don't think I've run into a systems analyst since 1985 or so, but there may be a few of that dying species cautiously snuffling around the waterholes at mainframe shops. However, ...


26

Being deliberately deceptive is certainly a nasty way to operate and will result in high-turnover. However, even if everyone is totally "honest", how often does a job description truly reflect reality? Most jobs change over time. At best, the job description is a snapshot of what employer "thinks" the job means at the time of hiring. Perhaps in some cases ...


24

Warning: Anecdotal evidence follows.... In my experience, at least here in the Australian market - the terms Programmer, Software Developer and Software Engineer are more or less interchangeable (I've held all three for doing the exact same actual work). The "Software Engineering Director" described in your CNN link is not the same as "Software Engineer". ...


23

It depends who I'm taking to I guess. If I'm talking to average Joe, I just say I'm a programmer because they generally have a clearer picture than "developer".


23

They are employer specific defintions. But generally they are a way to grade developers (for the purpose of salary and seniority). Each company is different but it will generally look like this: SD Requires no Experience. SD I Requires X years in the industry or Degree SD II Requires Y years in the industry SD III ...


21

Is it actually possible to develop software without also architecting it? Yes, and either: Your software will suck or Someone else must be performing the role of architect. In order for software development to be effective there must be an architect, and if their team is large enough to warrant developers that are not also "architecting" (or ...


20

Is software development engineering? If no, what are the things that it lacks in order to be qualified thus? Software development does not have to be software engineering. I have a degree in Software Engineering and consider myself to be an engineer, however not everyone sees it that way, either as individuals or as organizations. Wikipedia defines ...


19

With the fact that there's no universal standard between what is considered a 'Junior' Developer vs. a Developer vs. A Senior Developer, I would always put Software Developer, even if the position called for a Senior Software Developer. My experience tells them what level I'm at, not a job title. Shameless Plug: As someone who has spent a lot of time ...


18

What do you call a developer with automated testing specialty? A good developer.


18

Project manager's point of view You are the single (or default) point of contact for anything related to the technical side of things. You are expected to keep the work of the other developers' moving by sheer force, leading by example, or whatever your method is. Not-lead developer's point of view You are the role model. Expect the lesser-experienced ...


17

Software Architects who become too disconnected from the actual coding process become ineffective. They must be developers themselves. As Uncle Bob Martin once put it: Even though [the software architect] is designing the whole thing, I think it would be appropriate for him to be able to dive down into [coding] for a day or two and make sure ...


17

Similar to Martin York's answer but I think the real way these things come about is the need for Finance (and subsequently HR) to define people as a cost.* When a new SE is needed, the manager will make a request to Finance through HR for a new headcount at particular job level. A better justification will be needed for an SE III than an SE I. ...


15

So there is the "Software Engineer", the "Programmer", and also the "Developer", "Coder" and you can never forget the "SOA expert" These are all marketing terms for people who cannot say something meaningful in their CV, such as their actual role (not just job-title) in previous positions. On job ads, the difference is down to the HR person. Bottom line: ...


15

One concept that martial arts experts and good programmers have in common is that economy of effort. Martial arts experts avoid wasted motion; good programmers avoid unnecessary code. The concept of invisibility translates to transparency in library writing. A good library has an intuitive interface, and you can plug it in and not worry about it. EDIT: I ...



Only top voted, non community-wiki answers of a minimum length are eligible