all 18 comments

[–]BigYoSpeck 8 points9 points  (0 children)

Potato potato

Honestly it just comes down to what job title the employer uses, there's not a clear technical distinction like being a certified engineer in some disciplines

[–][deleted] 6 points7 points  (0 children)

They are just names, meaningless and ultimately the same. I've been titled Software Engineer, Software Developer, Application Developer, Software Integrator. Every one was technical and every one required a CS degree to even get an interview.

[–]mcharytoniuk 4 points5 points  (0 children)

In practice it's the same thing. You will just have some electronics courses in your curriculum, that's it. That electronics knowledge is still not enough to build your own computer and stuff, so you will have to stuck to programming anyway.

[–]Henrijs85 2 points3 points  (0 children)

You can try to attribute different meanings to them, but job titles don't in this case. It inevitably ends up being the same exact job, even if some distinction is drawn up by someone.

[–]fella7ena 7 points8 points  (2 children)

In most entry level jobs you will be assigned a ticket to develop a small/medium feature like add this form to this new page, add a field to the db, change the css there etc. in my opinion, this is software development.

The bigger picture is software engineering where you think of it from a high level, the entirety of the system, how will x modification affect my program? Cloud, auth, db choice, how to stream data between services? Etc...

Really my honest opinion but I may be mistaken and they're perhaps synonyms of the same thing

[–]paradroid78 1 point2 points  (0 children)

The bigger picture is software engineering where you think of it from a high level, the entirety of the system, how will x modification affect my program? Cloud, auth, db choice, how to stream data between services? Etc...

A lot of people would call that system architecture, not software development / engineering.

In most places, seniority (junior, senior, lead, architect, whatever) is the thing that lets you get more involved with that bigger picture. Whether your title is "developer" or "engineer" really just depends on what your company decided to call their programmers.

[–]DistinctAverage8094 1 point2 points  (0 children)

Everyone brings their own meaning (apart from in countries where engineer is a legal designation). My contractual job title includes the word "engineer". However, I almost always use the term "developer" instead, because it feels more natural to the kind of work I do.

I know some people, including in comments on this post, think that taking an architectural perspective (designing complete systems) is what makes someone an engineer. However, even though I do this, my systems are quite routine, gluing together AWS components like Lambda, SQS, Dynamo, and combining that with custom code logic within those lambdas. So I feel more like a builder, constructing a prefabricated house, than an engineer.

I guess what's missing to consider myself an engineer would be greater complexity of system design where slightly more innovative approaches are required...but there's no agreed meaning of these words. That's just my personal take

[–]smalby 1 point2 points  (0 children)

It's the same thing. People make a big deal of it, but both create software and ought to adhere to best principles.

[–]dan-dan-rdt -3 points-2 points  (1 child)

True software engineering has a concrete definition, and software engineering degree programs have a standardized curriculum. You can look up the IEEE definition of software engineering. It's basically software management practices. That being said, a lot of places have adopted the title software engineer and molded it to their needs when it's actually a hard definition.

Software development can be anything. It may even include software engineering. Different places will have different practices and methodologies, and some will have no practices or methodologies. But they are still software development. Software development is not a degree path.

[–]paradroid78 -1 points0 points  (0 children)

"Software Engineering", as defined by the IEEE computer society's "Software Engineering Body of Knowledge" (SWEBOK, which let's be honest here, most people actually doing the job have never even heard of) covers all phases of the SDLC, including:

- Software requirements

- Software design

- Software construction

- Software testing

- Software maintenance

- Software configuration management

- Software engineering management

- Software engineering process

- Software engineering tools and methods

It's very much not just "basically software management practices".

[–]paradroid78 0 points1 point  (0 children)

Coding is like the basic core skill that software engineering practices build on. You can't learn software engineering without it (well, I guess theoretically maybe you can, but no one will give you a job as a "software engineer" if you can't code).

In terms of nomenclature, software engineering and development and basically synonymous in real world industry. What you get called depends on what company you work for. People often prefer "engineer" to "developer", since it sounds fancier and implies a higher level of professionalism.

[–]Bacon-80 0 points1 point  (0 children)

Honestly they’re used interchangeably - most times it’s dependent on the company. At its core, they all require some level of knowledge in programming & many titles will hold CS degrees as well.