Computer Science Canada

Confusion between between "Programmer" and "Engineer"

Author:  deathbow2134 [ Tue Dec 15, 2009 8:32 pm ]
Post subject:  Confusion between between "Programmer" and "Engineer"

The career "Programmer" is considered to be different from the career "Software engineer". The US Bureau of Labor Statistics considers them 2 different careers.

I am yet to read anything online that actually clearly explains the difference. According to Wikipedia (and the BLS) the demmand for programmers will go down by 20%, and the demmand for software engineers is going to go up by around 40%. It also says that job applicants usually need a bachelors degree for both careers.

The general view seems to be that Software engineers do more design the software, and the programmers just program it. Is this true in real life? If you need a bachelors degree for both, how do you become a software engineer?

I am not interested in pure programming. What I want to do is design algorithims, solve tough computing problems efficently, and design reliable software. I don't want to program something mindlessly. Programming is boring. I want to design software. Sorry for rambleing.

My question is, do software engineers and programmers actually exist? Or is there not really any division? Also, another question, can software engineers actually became lisenced engineers? (P.Eng)

Author:  jbking [ Wed Dec 16, 2009 11:02 am ]
Post subject:  Re: Confusion between between "Programmer" and "Engineer"

Debates within software engineering has the following tidbits on this:

Quote:
Some people believe that software engineering implies a certain level of academic training, professional discipline, and adherence to formal processes that often are not applied in cases of software development. A common analogy is that working in construction does not make one a civil engineer, and so writing code does not make one a software engineer. It is disputed by some - in particular by the Canadian Professional Engineers Ontario (PEO) body, that the field is not mature enough to warrant the title "engineering". The PEO disputed that "software engineering" was not an appropriate name for the field since those who practiced in the field and called themselves "software engineers" were not properly licensed professional engineers, and that they should therefore not be allowed to use the name.


Quote:
The U.S. Bureau of Labor Statistics classifies computer software engineers as a subcategory of "computer specialists", along with occupations such as computer scientist, programmer, and network administrator. The BLS classifies all other engineering disciplines, including computer hardware engineers, as "engineers".


Just to add a few other thoughts on the question:

My title is "Web Developer" and while part of what I do is program, there are other parts to it as well, such as testing the software, gathering requirements, designing the software, and possibly making strategy recommendations involving other systems that my current project may touch upon. There is a wide variety of different kinds of work environments, from those with heavy amounts of process to those where things are much more unstructured with mostly ad hoc process. How good or bad that is, can be debated for centuries, IMO. "What?s the difference between programmer and software engineer?" has a multitude of answers that may also be useful.

Don't forget that there can exist programs outside of the world of software. Various charities have fundraising programs that usually aren't around software.


: