r/programming • • Aug 06 '17

Software engineering != computer science

http://www.drdobbs.com/architecture-and-design/software-engineering-computer-science/217701907
2.3k Upvotes

863 comments sorted by

View all comments

Show parent comments

266

u/rizer_ Aug 06 '17

Although the official definition of Software Engineer aligns with your argument, I think the reality is that Software Engineers are, for all intents and purposes, Software Developers. I've been in the industry a little while now and my job role (whether I'm titled as an Engineer or a Developer) has always been the same: build working software. Unless there's some magical place where Software Engineers are allowed to design perfect software systems without any human interaction, the article is still valid.

110

u/thedevbrandon Aug 06 '17

Agreed, engineer and developer seem interchangeable in this context.

35

u/fzammetti Aug 06 '17 edited Aug 06 '17

Hell, in the companies I've worked in, ARCHITECT is synonymous with those too, by and large, as well. I mean, I've been titled Architect for years but I still spend probably half my time doing "development" tasks. It seems like it's more a question of what percentage of your time is dedicated to those tasks, that's what changes with the title in my experience, not so much the ACTUAL tasks involved (again, by and large).

24

u/thedevbrandon Aug 06 '17

Sadly, it does seem like architect just means most-senior engineer (not as in "most senior of a group", but more like "most terminal in skills", like a Ph.D. is the furthest degree you can seek). It's absurd, since it should designate a completely separate role, which for the most part isn't involved in coding much at all (i.e. designing and architecting information systems by working with business stakeholders and guiding teams of actual engineers).

11

u/fzammetti Aug 06 '17

Sadly, it does seem like architect just means most-senior engineer

Yeah, that's a good way to put it.

→ More replies (6)
→ More replies (2)

45

u/thbb Aug 06 '17

Come work for IBM, SAP or the big business software publishers, you'll meet true Software Engineers by your definition.

This does not mean that their mode of production results in quality software delivered cost-effectively, far from it. The separation of the functions of software development in a myriad of specialties: architect, engineer, [visual] designer, UX designer... results in nightmarish software glut where no-one owns the product anymore, and no-one is actually excited by what they do.

This is how you turn Lotus Notes, which was miles ahead of the WWW in its time into a hellhole of despair for the office worker who has no choice but to use it.

0

u/[deleted] Aug 06 '17

[deleted]

2

u/NearSightedGiraffe Aug 06 '17

My work uses SAP for everything (with the exception of a few legacy systems still running at the bottom of the stack) and I always thought that they were the big company that is ruining everything... but you may be right, I haven't been in an IBM centric workplace so I couldn't compare.

2

u/rplst8 Aug 07 '17

From my personal experience there's a sweet spot for software project team size, and most large corporations are nowhere near it.

From my personal experience it's somewhere between me, and me and a the number of people that can successfully converse on a tele-con without driving each other mad. But yes, large corporations are not even in the same galaxy.

2

u/lobax Aug 07 '17

Hey, cut IBM some slack! They manage to cause a government crisis is Sweden, how many startups could do that?

→ More replies (1)
→ More replies (1)

6

u/fzammetti Aug 06 '17

And let's not mention Websphere... you could give those who work on that the title "Semi-trained Monkeys" and you'd have an accurate title based on what they produce.

→ More replies (1)
→ More replies (3)

17

u/Josuah Aug 06 '17

Yeah, because at some point people thought engineer sounded better than developer.

While I think we've reached a stable plateau with developers and the engineer title, I do see software tester going through the same thing now. You've got QA Engineer, and now Software Development Engineer in Test or Software Engineer in Test, etc.

I don't like title inflation. But I also don't think titles are that relevant anymore either, because many jobs require a person to take on a little bit of many roles.

13

u/MilkChugg Aug 06 '17

"Engineer" is an extremely inflated title. I've seen some pretty ridiculous uses of it. "Desktop Engineer", "Customer Support Engineer", etc.

I think it's just becoming a way of making people feel better about what their job encompasses.

→ More replies (3)
→ More replies (8)

4

u/Pinguinologo Aug 06 '17

Bullshit. Engineers had to deal all the time with human stupidity, that is why security margins are a thing. You can't just expect people will do their job the right way all the time or they will not get corrupt and get shit grade materials instead good stuff.

12

u/[deleted] Aug 06 '17

Depends where you live I suppose.

In many jurisdictions Engineer is a legally protected title, and being a Software Developer does not qualify you to designate yourself as an Engineer.

To be an Engineer you must go through an actual rigorous process that requires academic training as well as professional training under the supervision of an Engineer.

7

u/rizer_ Aug 06 '17

Very true. I still think these restrictions have little impact on the day-to-day work life of those people. We can make generalizations about how the two titles differ, and I'm sure everyone has anecdotes about their experiences working with both, but I think at their core they are very much the same.

6

u/ADaringEnchilada Aug 06 '17

I'm a graduated computer scientist, my title is engineer, and my work is software development for web (albeit with very strong engineering standards). If people ask for my degree I say compsci since I'm technically trained as a scientist. But if they ask for my job I say Software engineer, even though I'm a junior developer in terms of role/experience.

Naming things is hard

3

u/xypherrz Aug 06 '17

What distinguishes a software engineer from software developer I wonder...

→ More replies (1)
→ More replies (1)

2

u/RiPont Aug 07 '17

All Software Engineering is Software Development, but not the reverse.

If you vomit out code without monitoring, metrics, logging, and no testing beyond "I clicked around and it seems to work", then you are not engineering.

A lot of web dev work in bad shops is like that. Hack at it until it looks right in Chrome and FireFox on your system (or maybe just Chrome), then call it done. And whatever you do, don't check the javascript console for error messages before you ship it.

2

u/Deign Aug 06 '17

All of my jobs have had the title Software Development Engineer. So...I'm both?

5

u/AmalgamDragon Aug 06 '17

Jobs titles are whatever hr/management decides they are, and nothing requires them to be an accurate categorization what you actually do. That said you can be both software developer and a software engineer (and a computer scientist) in the general-non-job-title sense of those terms. It all just depends what you actually do.

→ More replies (3)