views:

849

answers:

22

I'm studying in a engineering and I keep hearing that software engineer does the Requirement / Design and more technical dude will do the programming job. "They" qualify programming as "translate well shaped design class into a computer language". I'm curious to know your opinion about that.. and particularly, what YOU consider you are.

I'm not sure what to think about that.. I do think however that the best designer are the best programmers out there. I can't believe a dude who has difficulty to program will create the nirvana-perfect-design-which-is-portable-efficient-easy to maintain-bug free-etc.. I do think however that some people don't like to take huge decision/risk while designing and prefer to code relax with a coffee.

As I said, I want to know about YOU, not about what is the difference between these two names.

+3  A: 

My job title is software engineer but I prefer to call myself a programmer. I write code all day and design applications.

dreamlax
A: 

I am an engineer (EE) and all I can say "software engineer" sometimes sounds like an oxymoron to me. There is very little of engineering in software, this is a field that has lots to evolve, nothing wrong with that. But IMO it does not raise to the level of engineering yet.

So in my case I'd say I am an engineer that happens to work as a programmer.

Otávio Décio
+3  A: 

I consider myself a software engineer, because to me it seems to encompass more of the actual process of creating software. A lot of what I do on a day-to-day basic goes beyond programming - gathering requirements, writing specs, triaging issues, etc. The actual time I spend writing code is one small part.

Michael
A: 

I don't think my mom (or any of my friends) knows the term "software engineer"

GvS
maybe you need smarter friends (and help your mom) ;-)
Steven A. Lowe
+1  A: 

I see a Software Engineer as someone who designs, documents/describes and writes computer systems. A programmer is someone who writes code. I consider myself a software engineer.

I would agree with you that to be a good designer of systems you need to be a good programmer first.

Steve Claridge
+2  A: 

While I don't see a large difference in the terms, I prefer a title with the word "Engineer", for two reasons:

  • I think it looks better on a resume (to some)

  • I obtained my undergraduate degree from the College of Engineering

Colin
+3  A: 

Funny you should ask: Developer vs. Engineer vs. Programmer

moffdub
+1  A: 

My degree is in Computing Science so I don't feel comfortable calling myself a software engineer. Programming isn't exactly a science--more of a mathematical study--and I don't care for using the term "architect" to describe what I do. "Programmer" suits me fine, or "Software Developer" for situations that require something more business-y in flavour.

Parappa
+1  A: 

I've been a:

  • Programmer/Analyst
  • Software Engineer (and Sr. ...)
  • Software Developer (and Sr. ...)
  • Systems Architect

The first three were all essentially the same job description, with varying levels of responsibility. The last one was the "design the solution for the programmers to implement" job.

JMD
A: 

the name of my major is Computer Engineer, but i like to think my self as a Software engineer and not only a programmer. programming involves writing code while engineering implies technics and methodologies

Oscar Cabrero
+1  A: 

There's an article from the IEEE Computer Society that might be of interest.

And I consider myself a software engineer. And yes, software engineering IS engineering. Don't get me started on that one.

Thomas Owens
+3  A: 

When asked "so what do you do?" I tell people I'm a computer programmer and then they usually stop talking to me :(

Damien McGivern
amen. those that ask a follow-up question out of politeness have been know to glaze over and pass out
Steven A. Lowe
+2  A: 

I see "software engineering" and "application development" to involve much more than cracking open the source and writing code (Steve describes what a software engineer does). Sometimes an internal process that can take hours must occur before the first line of code is written.

My last job involved work as an enterprise support tech. I wrote simple programs to test our product's API. I've worked in software QA and wrote test automation code. When writing test automation, you don't have to concern yourself with half the things a software engineer does when building apps/systems. I think a programmer is anyone who writes code.

Sam
A: 

An engineer is someone who has an exam in engineering. Studies in engineering are not academic studies. Studies in engineering are always designed to prepare the individual for a particular profession.

I am an EE. I would not label myself a Software Engineer, although I work with software engineering to some extent.

So to me the only people who should call themselves Software Engineers are those who have an exam in Software Engineering (and Computer Science).

The rest of us are what we are, i.e. programmers, software developers, designers, architects etc.

JMHO

fredarin
+2  A: 

I do a little bit of the whole spectrum. I design the systems, how they will interact as well as how they interact with the "legacy" systems for my project. That, to me, is Architecture. I then design how each system will work. What classes I will need, what each class will do, how they will fulfill their role in the architecture. That, to me, is Engineering. I then will implement that design by writing code, mark up and SQL. That, to me, is development or programming.

So I'm a Software Architect some of the time. I'm a Software Engineer some of the time. I'm a Software Developer some of the time.

I'm probably doing Engineering most of the time.

So I call myself a Software Engineer. :)

Drew
+8  A: 

some days, i am a scientist:

  • designs are theories
  • programs are experiments
  • new concepts and constructs push the boundaries of the field, and touch upon the artful

other days, i am an architect and/or engineer:

  • fairly elaborate, large-scale architectures
  • systems designed to last for several decades
  • precise tolerances for interfaces and interactions
  • detailed plans for implementation, deployment, and maintenance

most days, i am a developer:

  • help clients understand their business better through the eyes of information systems
  • make useful things for real people

some days, i am a programmer:

  • write code
  • test code
  • comment code
  • read code

But every day, i am a student and a teacher.

[but my business card says "Consultant"]

Steven A. Lowe
Your business card is bordering on false advertising. A consultant does none of the productive, helpful or useful (choose two) things you listed.
jonathan.cone
@[jonathan.cone]: LOL! Consultant is what i do for the customer, the stuff above is what i do afterwards to astonish the customer ;-)
Steven A. Lowe
+10  A: 

To non-techie friends I am a programmer.

On my resume I am a software developer.

In the credits of Godzilla:Unleashed I am an engineer.

In the credits of Coraline I am a "render resource assistant".

I consider myself a hacker.

postfuturist
Hollywood and old fashioned geek culture has firmly rooted my understanding of 'hacker' as someone involved with computer security in some way.
Ilia Jerebtsov
old-school definition of 'hacker' was someone who just got things done, but not necessarily in any structured or predictable way ;-)
Steven A. Lowe
A: 

I'm a programmer because this country (Portugal) has an order of engineers that requires that you finish a high education institution to be granted the title.

I'm not sure how is it that you can just claim to be one on a whim, but it'd sure be nice. I'd also love to be called "Your Holiness, Lord Jerebtsov" while I'm at it.

Ilia Jerebtsov
you can put anything you want on your business card, when you own the business ;-)
Steven A. Lowe
True, up until the point a client demands to see your credentials.
Ilia Jerebtsov
Not in Texas. To put engineer on your business card you are supposed to be a licensed engineer. There is no licensing process for software engineers in Texas.
Darron
@[Darron]: is there a licensing process for the title 'Your Holiness Lord so-and-so'?
Steven A. Lowe
+1  A: 

If someone wants a technical term for my position, then I say I am a "Web Developer," though in broader context I'll say that I am a "Software Developer" since sometimes people don't think the Web is really that technical.

Programming is only half of what I do. Troubleshooting/problem solving is the other half and this can involve looking at code, data, and hardware like networks to find why the error occured. Additionally, there can be some requirements gathering, design and analysis, testing and maintenance that can also be part of the job that aren't necessarily what a "programmer" does on a day-to-day basis.

Edit: My double Honor's Bachelor of Math degree had majors in Computer Science and Combinatorics & Optimization which is likely one of the more technical majors out there in terms of branches of main sciences. Usually I'll get an eye roll on saying that second part as C & O aren't common words for most people.

JB King
A: 

My title is programmer. I work with another programmer. We do every step of the "software development" process...so I really don't know what I am. But I know it's more than just programming!

dotjoe
+2  A: 

"Engineering" is a vocation, not just a job title. I do have an actual engineering degree, and I take huge offense at people who just assume the title on a personal whim. I also agree that there is a lot of engineering in software--much of it is "softer" than typical engineering study, but it still involves many of the same intellectual processes.

Just don't take the title of "engineer" unless you are one :)

blakelyc
How would you define an engineer from a programmer?
Drew
A: 

I'm a programmer, but I prefer to call myself a scientist.

William

related questions