

Difference between Software Engineers and Programmer/Coders. - parham

Software engineers develop frameworks and tools to be used by coders in software. Similar to the relationship between a mechanical engineer and a driver.<p>What do you all think?
======
gesman
"Software engineer" is what you write in your resume.

"Coder" is what your future manager reads thinking about what salary he can
give you.

:)

------
chisto
I think that the difference between those is, the Software Engineer (SE) is
capable of create and design further than follow instructions or a specific
language, and programmer (P) is like coding only maybe one or two languages
but with a limit view of the application/services etc.

I think are similar but I see a SE with more potential to develop things, a P
too, but I think his scope is limited to what he/she knows, no go further.

~~~
shortsightedsid
The question is really of role. What role does a star programmer play as
opposed to a star software engineer. Ideally, a software engineer is supposed
to bring in engineering qualities and therefore have a good idea of
reliability, scalability, safety, error handling etc. A programmer on the
other hand should ideally focus on getting the best of the platform/tools. So,
I see an SE to be more broader but a P to have more depth.

~~~
parham
I was thinking the opposite, I would've though a SE is more specialised in one
field, but a P has broad knowledge and hence is more flexible in how he/she
applies that knowledge in order to develop a specific piece of software
required by a client.

------
ankurdhama
In this industry we are very good at "giving things name", most of the time
giving new name to old things (aka creating hype, that's what we have been
mostly doing for the last 60 years or so) and then doing long discussions
around these names. I would suggest don't bother with this, it is completely a
waste of time.

------
kohanz
In many jurisdictions, the term "engineer" refers to a licensed professional.
So a software engineer would be someone with the requisite education and
professional experience to obtain that license and be endorsed by their local
regulatory body. It would also mean additional professional and ethical
obligations. In Canada, for example, you can't have the term "Engineer" in
your job title without being a licensed professional engineer. However, this
rule is poorly enforced and mostly ignored.

Now mind you, most software engineers are NOT engineers in that sense, but I
still think of it that way. Most software engineers are really software
developers, but the engineer title is more appealing for whatever reasons
(status?). Programmer/Coder is just slang for Developer, IMHO.

~~~
argumentum
> _However, this rule is poorly enforced and mostly ignored._

Thank god.

~~~
kohanz
IMHO, the current state is detrimental and devalues the profession. We put our
trust in doctors, for example, because we know that someone who has self-
taught themselves medicine and has no formal ethics training or obligations
can't just obtain a title of doctor.

~~~
parham
That is a very loose comparison, as even "trained" doctors have huge
differences in skill levels. I personally ignore all formal programming
education below a PhD in programming as IMHO programming is a discipline which
needs self motivation and individual thought for anyone to excel at it.
Teaching it to someone only goes so far.

~~~
kohanz
For "programming", I would agree with you and that why anyone is free to call
themselves a developer or programmer. We're specifically talking about the
term "engineer" here, so it goes beyond "programming".

------
memracom
Software engineer means exactly the same thing as software developer or
programmer/analyst.

Coder means that the person referred to is at a Junior level. People who write
frameworks are usually at a senior level although even a junior can write a
framework by essentially porting from one language to another.

And all this terminology stuff is nonsense. Basically meaningless in a
professional context. Even HR people should ignore titles because too many
people inflate their titles.

------
mrlyc
I see a software engineer as someone who has a lot of knowledge about the
hardware and can write embedded programs, device drivers, board support
packages and communciations programs. A programmer writes user interfaces, web
pages, databases and various business packages such as CRM, inventory and
accounting tools.

------
atraktor
[http://youtu.be/BDA0t49AaZ4?t=3m3s](http://youtu.be/BDA0t49AaZ4?t=3m3s)

~~~
parham
I have to say, I disagree with him the two are separate disciplines, they need
to be distinguished properly.

------
argonaut
Their level of self-confidence.

Seriously. There is no difference. People who are selling themselves short and
lack self-confidence will (to their detriment) refer to themselves as
programmers / coders.

People who believe in themselves will refer to themselves as software
engineers.

~~~
argumentum
_Truly confident people_ don't depend on labels to "sell themselves", their
work and attitude does that for them. They don't need to pretend to believe in
themselves, because the wealth they create and example they set inspires
others to believe in them.

Many such people who happen to write code call themselves "hackers". But
regardless of what title they put on their resume, _those_ are the type of
people I'd want to work with.

------
jagawhowho
There is no standardization of titles. Any distinctions you try to establish
will be wrong.

~~~
memracom
And yet, there could be a differentiation. How many of you have read and
follow SWEBOK or SEMAT or, better yet, both. Those are the only people who
have a right to call themselves "engineer" as something that is better than
the run of the mill developer.

And there are very, very few such people about, especially in Silicon Valley's
cowboy coder environment.

~~~
warmfuzzykitten
Jesus wept. To elaborate: Focusing on pedantic lists of software techniques
which have not and cannot be shown to produce predictable outcomes does not an
engineer make. No definition of engineering could encompass the fragility and
unpredictability of software projects and solutions.

------
bliti
I think that the term software engineer will replace the common term
programmer and coder. Due to how complex everything is becoming. Plus people
love their titles.

~~~
parham
That's wrong, I think there needs to be an abstract term to describe all but
then use engineer and coder to describe specific roles.

