What's the difference between a software engineer

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
Software Engineer is involved in the entire software process from design, requirements gathering, interface control, development, test (maybe), etc.

Programmers usually just write code.
 

Kyteland

Diamond Member
Dec 30, 2002
5,747
1
81
A software engineer would write the interface for a system where a programmer would write the implementation of that interface.

My off the cuff analogy is:
software engineer = architect/general contractor
programmer = construction worker

As tfinch2 mentioned, people who do software engineering often do a lot of programming. People who do a lot of programming don't necessarily do any software engineering.
 

ahurtt

Diamond Member
Feb 1, 2001
4,283
0
0
Originally posted by: gamepad
Is the software engineer sort of a leader of a team of programmers?

Yes in a way. You can think of the software engineer as the foreman of a construction crew. He reads the architects blueprint and decides how best to construct it. Sometimes the line gets blurry where the engineer can be doing a little bit of architecting and vice versa. Sometimes programmers do micro-engineering or micro-architecture of various smaller components of an overall system. Some engineers even do some actual programming and implementation. The software engineer is supposed to be kind of the senior guy (or gal) capable of leading programmers like you said. So short answer to your question: Yes.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
Originally posted by: tfinch2
Software Engineer is involved in the entire software process from design, requirements gathering, interface control, development, test (maybe), etc.

Programmers usually just write code.

A software engineer may be involved in the entire project, but to think that a software engineer writes the requirements, writes the code, tests the code, etc does not sound like an accurate portrayal. A software engineer will typically take a role in one of the 4 stages of software development (design, implement, test, maintenance) and there's usually a task to be done for every role in each segment.

For example, a tester may work with the design people to ensure the requirements are testable and not too ambiguous yet that the requirements don't specify implementation. Then a tester may work with the developers in the implementation stage to see how exactly they're implementing a questionable requirement compared to their own interpretation.

There's a lot of hu-bub that goes along with being a software engineer....

EDIT:

Originally posted by: ahurtt
So short answer to your question: Yes.

I've never seen a software engineer being a leader of programmers. Typically, there's a "Senior Programmer" who leads the others, just as there are senior software engineers that lead the "younger" engineers.

Also, like I said, software engineers can be programmers (i.e. their main duty is the implementation phase).
 

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
Originally posted by: gamepad
Do software engineers require different schooling than programmers?

Would both be Computer Science? (My CS major has a degree plan option that focuses on Software Engineering, amongst other things) or do some universities have software engineering as a major? Two of the universities that I have attended do not offer that as a major, but rather as a subset of CS.
 

mlm

Senior member
Feb 19, 2006
933
0
0
One of my professors was telling us that software engineers are coming under fire (at least in Texas) because of the use of the word "engineer." In order to legally use the title, you have to be a licensed engineer.

Has anybody run into this?
 

statik213

Golden Member
Oct 31, 2004
1,654
0
0
Originally posted by: mlm
One of my professors was telling us that software engineers are coming under fire (at least in Texas) because of the use of the word "engineer." In order to legally use the title, you have to be a licensed engineer.

Has anybody run into this?

Heh, I was wondering about this as well... I like how I can call myself an "Engineer" with just an undergrad CS degree....

 

Reel

Diamond Member
Jul 14, 2001
4,484
0
76
Originally posted by: mlm
One of my professors was telling us that software engineers are coming under fire (at least in Texas) because of the use of the word "engineer." In order to legally use the title, you have to be a licensed engineer.

Has anybody run into this?

Licensed engineer as in PE exam? To sit for the exam sequence, you need an engineering degree from an ABET university. If you choose not to pursue the PE, you can still be a degreed engineer, just not a licensed engineer. Licensing just grants additional legal responsibilities in the engineering process above and beyond the standard engineering process.

If Texas only considers people licensed with the PE an engineer, what do they call all the engineers who have recently graduated and have no intention of taking the exam or have only passed the fundamentals exam?
 

ajchun

Junior Member
Jan 29, 2001
22
0
0
Originally posted by: Schadenfroh
Originally posted by: gamepad
Do software engineers require different schooling than programmers?

Would both be Computer Science? (My CS major has a degree plan option that focuses on Software Engineering, amongst other things) or do some universities have software engineering as a major? Two of the universities that I have attended do not offer that as a major, but rather as a subset of CS.

i don't know many software engineers that had specialized training for it. we all have computer science or computer engineering degrees. i don't think my school offered anything specific to it.

kinda funny, i've been a software engineer for two years now and i didn't know the difference between a computer programmer and software engineer. now that i do know, i don't think i'd ever be happy in a computer programmer role. the design of software is so interesting.
 

mlm

Senior member
Feb 19, 2006
933
0
0
Originally posted by: Reel
Originally posted by: mlm
One of my professors was telling us that software engineers are coming under fire (at least in Texas) because of the use of the word "engineer." In order to legally use the title, you have to be a licensed engineer.

Has anybody run into this?

Licensed engineer as in PE exam? To sit for the exam sequence, you need an engineering degree from an ABET university. If you choose not to pursue the PE, you can still be a degreed engineer, just not a licensed engineer. Licensing just grants additional legal responsibilities in the engineering process above and beyond the standard engineering process.

If Texas only considers people licensed with the PE an engineer, what do they call all the engineers who have recently graduated and have no intention of taking the exam or have only passed the fundamentals exam?

I really don't know the specifics, but it seems to be a touchy subject that originated in Texas. If you do a search, there are quite a few ACM hits on it.

 

Lord Banshee

Golden Member
Sep 8, 2004
1,495
0
0
Wow about the Texas Engineering thing.... I was thinking about moving to Austin to find a job when i graduate next year with my BS in EE and i too do not plan on getting a PE. You bet i would be pissed if i can't call my self an engineer after taking the classes i've taken and sacrificed five years of studying my ass off.

And i agree with the other have said about software eng vs programmer.
 

mlm

Senior member
Feb 19, 2006
933
0
0
Originally posted by: Lord Banshee
Wow about the Texas Engineering thing.... I was thinking about moving to Austin to find a job when i graduate next year with my BS in EE and i too do not plan on getting a PE. You bet i would be pissed if i can't call my self an engineer after taking the classes i've taken and sacrificed five years of studying my ass off.

Well, from what I can tell, it's okay to call yourself an engineer at a company as long as there are x number of PE's already there.

(no idea what x is)

 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
I don't think there is currently a formal distinction, to be frank. Neither are CS-related careers. In fact I don't think these two terms apply to different types of careers. "Programmer" is what we called ourselves ten or fifteen years ago in a much simpler world. The idea of the "Software Engineer" is meant to imply a more disciplined, process-oriented, predictable, and controllable approach to delivering a specific set of features on time and on budget. It's an aspirational term even today, as anyone who works in the business knows. The evolution of the formality in the trade is not different from what has gone on in every other technical trade that emerged out of crude innovations: aeronautics, mechanical engineering, botany, etc.

A software architect (my job, for the most part) is responsible for the overall logical and physical structure of a system, including the scope and quality of the interfaces to the system (if not their actual implementations), and collaborates with analysts and customers to understand the translation of the requirements into functional reality.

Computer scientists are a different breed, whose utility I, as a mortal, am not able to judge. I don't hire them to do web apps, though.
 

statik213

Golden Member
Oct 31, 2004
1,654
0
0
Originally posted by: Markbnj
I don't think there is currently a formal distinction, to be frank. Neither are CS-related careers. In fact I don't think these two terms apply to different types of careers. "Programmer" is what we called ourselves ten or fifteen years ago in a much simpler world. The idea of the "Software Engineer" is meant to imply a more disciplined, process-oriented, predictable, and controllable approach to delivering a specific set of features on time and on budget. It's an aspirational term even today, as anyone who works in the business knows. The evolution of the formality in the trade is not different from what has gone on in every other technical trade that emerged out of crude innovations: aeronautics, mechanical engineering, botany, etc.

A software architect (my job, for the most part) is responsible for the overall logical and physical structure of a system, including the scope and quality of the interfaces to the system (if not their actual implementations), and collaborates with analysts and customers to understand the translation of the requirements into functional reality.

Computer scientists are a different breed, whose utility I, as a mortal, am not able to judge. I don't hire them to do web apps, though.

best reply
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
To muddy the water even more.
I'm an electrical engineer with programming skills for programming embedded microprocessors.

so I guess that makes me an engineering programmer ?
 

dighn

Lifer
Aug 12, 2001
22,820
4
81
Originally posted by: Modelworks
To muddy the water even more.
I'm an electrical engineer with programming skills for programming embedded microprocessors.

so I guess that makes me an engineering programmer ?

that probably makes you a firmware / embedded developer.
 

Apathetic

Platinum Member
Dec 23, 2002
2,587
6
81
A software engineer is a computer programmer who insists on using a fancier title.

Dave
 

Schnieds

Senior member
Jul 18, 2002
518
0
0
Originally posted by: Schadenfroh
Originally posted by: gamepad
Do software engineers require different schooling than programmers?

Would both be Computer Science? (My CS major has a degree plan option that focuses on Software Engineering, amongst other things) or do some universities have software engineering as a major? Two of the universities that I have attended do not offer that as a major, but rather as a subset of CS.

Titles are a strange animal as they seem to mean something different to each organization that uses them. Over the years I have held a variety of titles:

-Web Programmer
-Software Engineer II
-Lead Senior Developer
-Senior Systems Analyst

The funny thing is that quite honestly the organizations that gave out the titles didn't have any formal definitions of what the title meant. People with the same title would play very different roles and there didn't seem to be much rhyme or reason to why a given title was used.

My opinion of the difference between an engineer or architect & a programmer or developer falls in line with a lot of what has already been stated here.

The engineer or architect role is concerned with how the system will be designed. They focus on the best way to implement the functionality with extensibility, interoperability, stability & supportability in mind with the rest of the organization's infrastructure. This role is also concerned with the right software architecture for the project. The technologies & software principles used to develop a system is just as important as the development. This role ensures that all of these things are in line with the organization's strategic technology direction, will meet the needs of the business users and has a high chance of success. The person in this role should have senior level development expertise and be on top of the technologies & development techniques available.

The programmer or developer role is the down and dirty coder. They are the ones that implement the architecture that has been designed and do most of the implementation of a system after it has been designed.

In my experience those that are successful in the architect or engineer role have been senior level developers / programmers in their career. The architect or engineer role takes s certain personality that can see the big picture, communicate very effectively with business users & all other areas of IT and has expertise in software development. The people who end up in this role usually don't choose to go into it per se, but their skill set matches what I have described above.

One last note is that in my opinion a great programmer / developer does not mean a they will make a great architect / engineer. I know lots of programmers / developers that can code the heck out of something, but they can't see the big picture of how to architect the whole system.

Just my long winded opinion.... :)

-Schnieds