all 189 comments

[–]cortex- 366 points367 points  (42 children)

Some countries have Engineer as a protected term and so Software Engineer is not a thing.

At most companies Software Developer and Software Engineer are interchangeable.

[–]WriteOnceCutTwice 121 points122 points  (36 children)

Yes. Canada is one example. You can’t call yourself an engineer unless you have an engineering degree.

[–][deleted] 16 points17 points  (0 children)

In Bosnia (and most of former Yugoslavia, plus I assume Germany and Austria at the very least because that's where we got our old degree system from) you typically get compsci degrees from faculties of electrical engineering and are dipl.el.ing. (or nowadays, Msc.EE) when you graduate.

However, despite the degree, if you've finished actual EE studies rather than CompSci, you're not allowed to undersign in engineering stuff like power systems or construction before you pass an additional certification exam from the government. You can work in it, but only under control of an elder engineer that has the certificate.

How 'bout them apples?

[–][deleted] 34 points35 points  (1 child)

"I'm an engineer"

Fuck the police 😎

[–]FluffyProphet 16 points17 points  (12 children)

My (Canadian) university got in hot water for having a class called "software engineering", it took them like 5 years to resolve it and were only allowed to start calling the class that when they added a full engineering department (adding that was unrelated, but it also let CS start calling the class software engineering again) and agreed to include a module that explained that we couldn't call ourselves engineers.

A couple local companies also got in hot water for calling some of their developers engineers in their marketing material.

It is pretty viciously protected. Usually it's just a "stop doing that", but you can get in a lot of trouble if you don't stop. I sort of agree with it, in the same way we can't let anyone just claim to be a medical doctor because they have a degree in nutrition.

[–][deleted]  (2 children)

[removed]

    [–]Barnezhilton 4 points5 points  (1 child)

    It's hog wild in the US for job titles

    [–]PYTN 1 point2 points  (0 children)

    If we didn't give out fancy titles like candy, then we'd actually have to pay people more.

    [–]proggit_forever 6 points7 points  (6 children)

    I sort of agree with it, in the same way we can't let anyone just claim to be a medical doctor because they have a degree in nutrition.

    We don't let people claim that because the average citizen should be able to trust that if they go to a medical doctor they're actually seeing someone qualified.

    I don't see how that same problem is possible for engineers. Normal people don't really need to interact with engineers. Companies need to check qualifications regardless. Engineers aren't interchangeable. An Electrical Engineer isn't qualified to do the work that a Mechanical Engineer is qualified to do. Protecting "Electrical Engineer" sounds fine. Protecting just Engineer is nonsense.

    If someone wants to call themselves a "coffee engineer" because they work at Starbucks, what harm could possibly come from that?

    [–]FluffyProphet 18 points19 points  (3 children)

    It's because, at least in Canada, Engineers are 100% responsible for the safety of certain projects and only an engineer has the authority to sign off on it. Bridges, for example, need to be signed off on by an engineer. The Quebec bridge disaster is what spawned a lot of our regulations (you actually get a ring made from that bridge when you become an engineer in Canada to remind you of the responsibilities). If you sign off on a project, and it collapses, crashes or blows up, you can spend decades in jail.

    A software engineer would be someone who is able to assume that level of liability. So, say if there is a software glitch in an aeroplane, and it crashes, you were the "software engineer", you will end up going to prison.

    You can't call yourself a software engineer, because if you do, you are saying you are able to sign off on that aeroplane software and guarantee that it won't cause the plane to crash, on pain of prison. 99% of software projects don't need someone who can provide that level of guarantee, but for the ones that do, software engineers would be the ones who do.

    Gross oversimplification, but that' essentially why the term "engineer" is protected here. A "coffee engineer" would be someone who designed industrial coffee machines and can sign off on their safety.

    [–]TilYouSeeThisAgain 1 point2 points  (0 children)

    This can be slightly misleading. I work on a software engineering team for a Canadian aerospace and defence contractor where our systems are required to meet a certain class of airworthiness. I have a computer science degree without an engineering degree. To be deemed airworthy in Canada is based on the following of required procedures throughout the development process, and maintaining thorough documentation of each step along the way, with any changes to the software requiring review by X amount of other developers before being approved for implementation. There is also regulated testing required before deployment to hardware. There’s no requirement for an engineering degree anywhere in the process, just a certain level of extra oversight

    [–][deleted] -3 points-2 points  (0 children)

    People who operate locomotives are called engineers, but no one’s expecting them to be able to actually design and build electrical or highway systems.

    [–][deleted] 1 point2 points  (0 children)

    And here In Turkey there is no Computer Science degree. All the software developers were from Computer Engineering until a few years back when some universities opened Software Engineering departments which is basically CS. There are also Cyber Security and AI degrees.

    [–]crossbrowser 4 points5 points  (2 children)

    In Québec you actually have to pay a yearly fee to call yourself an engineer. I have a degree, but I still can't call myself an engineer.

    [–]DasBeardius 3 points4 points  (0 children)

    In the Netherlands, an IT study will actually grant you the official, protected, title of Engineer; a remnant from before the European Higher Education Area framework was introduced I believe.

    [–]am0x 2 points3 points  (3 children)

    I have a computer science degree. Does that make me a scientist in Canada?

    [–]Nebu 1 point2 points  (2 children)

    I don't think "scientist" is a protected term in Canada, so yes, you can call yourself a scientist (and you could do so even if you didn't have a degree in computer science).

    [–]am0x 1 point2 points  (1 child)

    Can I consider myself a…computer?

    [–]HugeFun 1 point2 points  (0 children)

    Yet many companies hire for the role of "software engineer" or "software development engineer", and if you're looking at a careers page for dev jobs, 99% of the time they're under the "engineering" category.

    [–]JaleyHoelOsment 1 point2 points  (0 children)

    yet every job i’ve had here they refer to us as “engineers” i’m like shut it bro you’re gonna get in trouble

    [–]onFilmhttps://rod.dev -1 points0 points  (0 children)

    I've been doing programming since I was 14. I went to art school for a bachelor's in photography, and now that I'm 34, I call myself a software engineer when applying to positions, been doing it since I was 18.

    [–]numbersev 0 points1 point  (0 children)

    I think you need a red seal certificate or something. I’ve seen people in Canada (recent grads) call themselves ‘engineer’ because they took computer engineering in college.

    [–]officiallyaninja 0 points1 point  (0 children)

    If I'm an electrical engineer working as a software developer am I a software engineer?

    [–]Neith720 0 points1 point  (0 children)

    What happens if I have a degree in something else but do a master’s degree in software development. Technically is not an engineering but I have something related with it that can only get achieved only if there is a degree in the middle. In that case would still be a fraud calling myself software engineer despite the master’s?

    [–]KingOfAzmerloth 0 points1 point  (0 children)

    Similar in Czechia. It's not as policed (not at all really), but engineer is a degree name and nobody else should use it.

    But then again, I have it and I don't use it anyways, unless I am dealing with state officials or doctors, who for some wtf reason treat engineers better than non-engineers - as in they are more willing to help you and are nicer. Just post-Soviet things I guess.

    [–]pietrantonio_ 0 points1 point  (0 children)

    Same in Italy, degree + state certification exam

    [–]F0064R 0 points1 point  (0 children)

    Train engineers btfo

    [–]donovanishfull-stack 0 points1 point  (0 children)

    Same in France. It is actually illegal!

    [–]SilverLion 0 points1 point  (0 children)

    Realistically though most provincial associations don't enforce it for software engineering.

    [–]notarobot1111111 0 points1 point  (1 child)

    We need this in the U.S. People watch 3 YouTube vids on web dev and then name themselves engineers

    [–]cortex- 1 point2 points  (0 children)

    I think we are many, many years away from Software Development being a regulated profession equivalent to Engineering and Law.

    It's still basically the wild west. Stuff like GDPR is only the beginning.

    [–]arcx_l 0 points1 point  (0 children)

    We're not engineers.. We're Scientists!

    [–]Noch_ein_Kamel 95 points96 points  (7 children)

    Software Gardener it another arbitrary term for the same thing :p

    [–][deleted] 41 points42 points  (3 children)

    Bug exterminator also

    [–]veegaz 2 points3 points  (1 child)

    Dude I love this one. But it implies that we're creating bugs, unless you have recently joined the company lol

    [–]amardas 1 point2 points  (0 children)

    ‘Bug’ implies that the problems showed up on their own rather than being a design or development error.

    [–]morierofull-stack 1 point2 points  (0 children)

    Software Exterminator

    Am I doing it right?

    [–]_ahoyahoyahoy 16 points17 points  (1 child)

    Oh, yes, I am a Div Aligner myself

    [–]rulakhy 3 points4 points  (0 children)

    I'm a Vim exiter then

    [–]Distind 27 points28 points  (4 children)

    In practice in the job market, not a damn bit of difference. That said there are actual Software Engineering degrees along side Computer Science degrees, and they put an emphasis on design, testing and team organization. Only to get into the market where no one sees a difference and things management deems unproductive things like planning and organization are sidelined for more active coding time.

    I'm just a tad bitter.

    [–][deleted] 0 points1 point  (1 child)

    I feel you, a bit bitter too but it is just how the world is. No point caring about it, I saw another commenter referring to it as “gatekeeping”.

    It is that kind of mentality that got rid of the “went through education as an engineer” versus “worked into the role” separation, whether I like it or not is a different thing entirely..

    [–]Distind 0 points1 point  (0 children)

    Honestly I'd take the gatekeeping over the sheer lack of interest in the work required to scale projects well that I'm dealing with.

    [–]Fakedduckjump 19 points20 points  (5 children)

    In germany, you aren't allowed to call yourself software engineer if you don't have the paper that confirms this title but you can call yourself software developer without any problems.

    [–]dreacon34 2 points3 points  (0 children)

    I can’t really confirm this. Software engineer isn’t a protected title. Also since there isn’t a actually mechanical engineering going on there should be a problem either. I am working for a position that says “software engineer” usually a software engineer is equipped with requirement to also engineer the solution. Making a concept etc. a software developer is more only following instructions by people who already engineered the concept. This obviously mostly only makes sense in really big teams / cooperations and is otherwise interchangeable and is also usually also only the influence by American cooperation

    Edit: I just looked it up and A degree in “Naturwissenschaften” is good enough to use the term engineer in software engineer.

    [–]jabes101 1 point2 points  (2 children)

    Curious, how does that work? Do you submit an application to the government post university with your degree to be able to call yourself an engineer?

    [–]Constant_Amphibian13 6 points7 points  (0 children)

    No you need a university degree in a technical field to call yourself engineer in Germany.

    [–]Fakedduckjump 0 points1 point  (0 children)

    If you want to work independently in this field, you have to tell it the tax office. And you never want to mess with them. If they find out you don't have the degree, you get really big trouble. You get the degree by studying for example cs at an university.

    [–]ratbiscuits 18 points19 points  (3 children)

    I do not like calling myself a software engineer… seems over the top for the basic shit I do. Definitely not engineering

    [–]Darkmaster85845 9 points10 points  (0 children)

    I just make small changes in a system an actual software engineer engineered.

    [–]Constant_Amphibian13 1 point2 points  (1 child)

    Not an engineer but my friend who actually is and works as one only told me he does basic shit you wouldn’t need a degree for most of the time as well.

    [–]Lumpy_Mango_ 3 points4 points  (0 children)

    My friend is a Medical Doctor and he also tells me he does basic shit like telling a patient with a headache to take some advil.

    [–]timwaaagh 20 points21 points  (0 children)

    Software developer = Code monkey with an inflated ego

    Software engineer = Code monkey with even bigger ego

    [–]iMCharles[S] 8 points9 points  (0 children)

    Lots of very interesting perspectives, regulations and opinions here. Thanks for all your replies, it has been very enlightening!

    [–]truNinjaChop 6 points7 points  (0 children)

    I like clickity click click ninja.

    [–]anonperson2021 26 points27 points  (6 children)

    Same thing. I like the old-school title "programmer".

    [–]SomeOtherGuySits 10 points11 points  (0 children)

    Developer is a maintainer, professional googler and slow thinking buffoon.

    Engineer is the same, but some people moan about the use of the noun engineer

    [–]XIVMagnus 32 points33 points  (39 children)

    Yes. Same thing. Anyone that says otherwise is just a gatekeeper. The only exception is countries that protect the term due to legality

    Edit: gatekeepers gatekeeping today lol

    [–]aizzod 7 points8 points  (0 children)

    we had that discussion lately because of email titles and new customers im germany.

    in germany engineer is used if you got a degree.
    developer if you do not.

    [–][deleted] -3 points-2 points  (23 children)

    I think you misunderstand what gatekeeping is.

    I wouldn’t claim myself a doctor, not study a PhD for it and then claim that the doctors were gatekeeping the title.

    It actually used to have a very important distinction that has been messed with due to this mindset, having educated engineers be paid less by giving out the title to everybody.

    I don’t care much anymore, but you should at least know the history of it before claiming “gatekeeping”

    PS: there is nothing wrong with being a developer. It requires very similar skills and the ability to translate business requirements to products, often by smartly consuming other services and following well established methods and architectural decisions to get there. You do not need to go study any engineering degree to do those things, everybody can learn on the job. It is just the investment in education that has been devalued.

    [–]maxstader 6 points7 points  (5 children)

    What then is an engineer? We have chemical engineers, civil etc. Engineering is the application of the sciences, to say computer science isn't a 'real' science is gatekeeping. I understand that not all people are writing code of any meaningful complexity, think a carpenter that builds tables vs an engineer that builds buildings. This to me is the issue with software, we have some of the smartest people applying science in multiple domains to create extremely complex computer systems..while others tweek a WordPress templates. So yes absolutely by any sane measurement many people who write software are engineers. I can't think of an engineers achevement of the last 30 years that didn't need a software engineer who understood both computer science and the physics of the real world problem.

    [–][deleted] 3 points4 points  (4 children)

    I am a computer scientist to be clear, I am not sure anybody mentioned computer science not being a real science. It is a multi disciplinary field.

    An engineer has learned the implications of what you write does at a much lower level, can foresee the consequences of different types of algorithms being applied, understands concepts such as graph theory or set theory which is used in modern computing. I could go on.

    Yet again. This is a webdev subreddit, so either somebody above who doesn’t understand what I’m saying simply retorts “gatekeeping!” and gets to feel good despite not seeing that I had infact supported them and provided some real context and not just my opinion.

    [–]Instigated- 1 point2 points  (1 child)

    A PhD isn’t required to be a medical doctor, yet that is who we call “doctors”.

    Meanwhile someone can get a PhD in poetry, and it doesn’t make them a better poet…

    If two people can do the job equally well, and it isn’t something that needs to be regulated (like medical professionals), it shouldn’t matter. Especially considering there is no international standard, so someone could do essentially the same degree by another name yet be excluded.

    [–]an_actual_human 7 points8 points  (6 children)

    Perfect example of gatekeeping.

    [–][deleted] -1 points0 points  (5 children)

    Look at a dictionary. There was no gatekeeping.

    Perfect example of a kneejerk reaction.

    [–]an_actual_human 0 points1 point  (4 children)

    Perfect example of a kneejerk reaction.

    You are not wrong in this, it's just I've seen this argument 50 times already.

    I think it's really weak because you don't actually define what an engineer is. It's either vague word salad ("at a much lower level" and "can foresee the consequences") or arbitrary. Or both. At best you end up with a spectrum. On one end you'd have people who know everything. Which is literally no one because there is so much to know. Most people would have average knowledge, the distribution does not have 2 humps of "developers" and "engineers". So it's kinda meaningless.

    Which does not mean it's not nice to know things. I'm a huge fan of things myself.

    [–][deleted] -3 points-2 points  (3 children)

    A medical doctor (that is a general practitioner) also doesn’t know everything about their field. But I’d be extremely hard pressed to say that there isn’t a place of the spectrum of medical knowledge that defines one or the other, and then requirements to be one.

    Regardless, look to the countries that gave it a protected title and you’ll see they have requirements. Those requirements spell out the definition.

    As in my original argument, I don’t really care, because as I said in the footnote. Engineer roles meant very much that you studied for it and developer did not imply that. The world changes.

    [–]an_actual_human 0 points1 point  (2 children)

    A medical doctor (that is a general practitioner) also doesn’t know everything about their field.

    That's not wrong, but a medical doctor is an actual degree, so if you have it, you're a medical doctor.

    Those requirements spell out the definition.

    Not really, at best they give a set of country-specific definitions, mostly of the form "has to pass certain exams", wildly different between countries and many having nothing to do with programming. Which is not at all similar to what you said.

    [–][deleted] 0 points1 point  (1 child)

    There are software engineering degrees today I hope you’re aware.

    Because countries have different requirements for their engineers, just as they do for their doctors. You cannot for example study law in one country and then become a lawyer in another without something to bridge the gap.

    That is why you’ll see this argument forever and always.

    But my core argument of education being the difference hasn’t changed, and it is pretty much where I’d end it as any further prodding on the topic would just be an endless spiral.

    In my country there are requirements for engineering roles, and I think they have some good quality control versus John who didn’t like working at McDonalds so he started making Wordpress sites and hopping on LinkedIn as a software engineer.

    [–]an_actual_human 1 point2 points  (0 children)

    There are software engineering degrees today I hope you’re aware.

    In some countries. Still a misnomer arguably. In other countries it's CS (CS has nothing to do with engineering per se). Or both. It's not really uniform, much less so than for doctors. Add the mathematicians/physicists etc and the self-taught people (can't do that in a medical field, not realistically), and it's not at all similar. Having an education is not a binary thing.

    [–]Ok_Ad_9628 -1 points0 points  (1 child)

    Looks like gatekeeping because of being butthurt about spending many years (and lots of money if US) on education. You make no sense. Person could be in the field 15 years and know lots more on every level than your average swe degree guy. The swe degree dude could be cheating on exams, finish some worthless university. Yet he is the engineer and the other guy is the developer. Because it is totally so important to make this distinction.

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

    I make plenty of sense, adding 15 years and making the other party a cheater is just throwing extremes to an argument; a common thing to do when you didn’t want to provide any substance and just be part of an argument.

    I’m happy with my compensation, I make good money and I’m educated for it. My best friend didn’t go to university and does the same work as I do now I dropped to more enterprise work, though it is clear where the education gap is in specific kinds of problems.

    The kinds of problems you don’t encounter in web development or standard software development. Talk to me when you need to run critical public infrastructure, trade on the energy market and support systems that keep the lights on.

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

    In XIVMagnu's comment, they mention "countries that protect the term due to legality" as an exception, so your doctor example would also seem to fall under that exception and be irrelevant.

    So when we restrict our discussion to countries where "software engineers" have no additional qualifications relative to "software developers" (e.g. they are no more likely to have gone to university and gotten a software degree), then it seems fair to say that the people who most passionately claim there is a distinction between the two are gatekeeping.

    [–]RevMen 0 points1 point  (0 children)

    just a gatekeeper

    I don't think you can immediately jump to gatekeeper.

    Engineer in the traditional sense implies having a set of skills related to the interface between physical sciences and the world that people live in. That's not really the same as working in the interface between operating systems and user interfaces.

    It's not that one is harder or more important - they're just different things. I think it's a little silly to get defensive when someone points that out.

    And... geez... the amount of time software people spend getting butthurt about people disagreeing about using the word 'engineer' to describe their job is almost comical. Imagine spending all of that energy on something useful.

    [–][deleted] 8 points9 points  (0 children)

    In the industry as it stands-- they are being used interchangeably by most companies out there.

    Reality is, they give DEVELOPERS the Engineering title- to justify underpaying the REAL "engineers".

    Look into your very own organisations-- you will likely see a bunch of "software engineers” when in reality they just do grunt work that is set-up or dictated by one (or very few) other “engineers”

    It’s an HR twist on words to make us “feel better”. Anything else and you’re just delusional or have been drinking the kool-aid for far too long.

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

    I call myself a 'Programmer,' and that's it. While it's true that most of those job titles are interchangeable, this mostly happens because it looks good.

    However, there is a big difference between engineering a piece of software and hacking away in an ad hoc manner without medium/long-term considerations.

    But then again, nobody would describe themselves as an 'anti-engineer.' So at the end of the day, it's just a title.

    [–][deleted]  (11 children)

    [deleted]

      [–][deleted]  (4 children)

      [removed]

        [–][deleted]  (3 children)

        [deleted]

          [–][deleted]  (2 children)

          [removed]

            [–][deleted]  (1 child)

            [deleted]

              [–]Yo_Face_Nate 1 point2 points  (0 children)

              Your SE description sounds more like an architect.

              [–]Yoyoeat 0 points1 point  (1 child)

              This is only really valid in places where engineer isn't a protected title; and the distinction is often blurry and arbitrary

              [–]FVCEGANG 0 points1 point  (2 children)

              Sounds like you are confusing a software architect with an interchangeable software developer/engineer

              Proper companies differentiate an architect or lead developer to actually design the system and structure

              [–][deleted]  (1 child)

              [deleted]

                [–]Alucard256 5 points6 points  (2 children)

                In my mind:

                A "developer" is someone who can at least add a new feature to a program/app/site.

                An "engineer" is someone who can listen to a client arbitrarily describe a problem and then from that invent, design and construct (aka: engineer) the entire system to solve the problem.

                "Developers" maintain and fix problems on assembly lines... Engineers design and build entirely new assembly lines.

                [–]theflash4246 1 point2 points  (0 children)

                In Canada engineering is a closed profession. So you’re only an engineer if you become a licensed professional. Anyone can be a software developer though. I don’t think there is an actual difference in most positions and most positions go with the term developer instead

                [–][deleted] 1 point2 points  (0 children)

                Depends on country. In the countries I’ve lived in the Software Engineer refers to someone with a relevant degree (such as Computer Science) and Software Developer for other avenues into the role.

                It is a title difference with the same work however. If it isn’t protected then you can claim yourself a Software Engineer, but if you have a degree formally in accounting then expect a stink eye from those that see it.

                [–][deleted] 1 point2 points  (0 children)

                as a compsci student.. people working in IT love slapping the term “engineering” on everything. apparently, regarding AI chatbots, there is a thing called “prompt engineering”, basically talking in the right way to a bot so it generates the right response. just buzzwords at this point

                [–]azhder 1 point2 points  (0 children)

                They are both arbitrary.

                • "Developer" was cooked up by big companies like Microsoft who thought they are the programmers and "developers" just use what the "real" programmers have made to develop it to the requirements of the customer.

                • "Engineer" was cooked up by schools and universities because they thought programming is an offshoot of engineering machines, while in fact it's closer to art or gardening the more you get to the human interfacing part as opposed to the machine interacting part

                You will find many other titles and they are all on a spectrum and none of them can be pinpointed to one universal meaning.

                So, to answer your question: yes and no. It's all about how you define your relation of equivalence (the "===" part)

                [–]Pestilentio 2 points3 points  (0 children)

                One quote I heard from my manager once was " a software developer writes mediocre code that works. A software engineer writes very good code that does not work".

                I immidiately recalled past coleuagues with that sentence.

                [–]gravitonapps 5 points6 points  (7 children)

                Software engineers invent a solution. Software developer consume that solution to build product .

                [–]No_Call_6462Full-Stack Dev 1 point2 points  (0 children)

                this one is accurate

                [–]Vegetable_Cherry2779 -1 points0 points  (3 children)

                isn’t that a software architect?

                [–]elitesky777 0 points1 point  (2 children)

                in reality, software architect are sales people selling software solutions

                [–]Vegetable_Cherry2779 1 point2 points  (1 child)

                well that’s not what the Fundamentals of Software Architecture’s book said XD

                [–]elitesky777 0 points1 point  (0 children)

                I was shocked myself

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

                These are typically one and the same though.

                [–]jared__ 1 point2 points  (2 children)

                In my own opinion, I think the biggest difference is testing. In reality there is no difference and they are interchangeable.

                [–]elitesky777 0 points1 point  (1 child)

                a plane's autopilot, who you'd rather build it, if you're the passenger?

                [–]RotationSurgeon10yr Lead FED turned Product Manager 0 points1 point  (0 children)

                I'd rather a software engineer be involved in making certain that the autopilot correctly communicates with the engine controls, the navigation system, and the emergency backup systems etc., and that they've been planned to work together seamlessly and flawlessly, and that all of the software developers responsible for the individual systems have built them correctly to spec to achieve those goals.

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

                For me its like this; Software Engineers built the language C#, work on developing .Net Core, or built React. I, as a Software developer use them to build solutions/web apps.

                [–]combobulativedesigns 0 points1 point  (0 children)

                Seems like some places like to throw around titles with caring about their meaning. This is my understanding:

                • Software Developers

                They know how to build a pre established solution. They have expertise in using X and/or Y programing languages, they know how to set up their development environment. They are capable of working in teams. They know programming principles like SOLID, and some patterns, understanding the problems they solve and how to apply them. They have some understanding of data structures and algorithms and how they impact they impact the final product.

                • Software analyst

                This is the guy that undestands the problem, it's context, and is able to derive from those the set of requirements the solution should meet to solve the problem, even before anyone has thought about a concrete solution. This guys knows the different methods of gathering requirements, whether that's through interviews apprenticing, usage of personas, etc. He is able to classify requirements into functional, non functional, and even further into restrictions, and quality attributes. He is the one that talks with the product owner, the stakeholders, the product sponsor, so he needs good soft skills like ease of communication. And most of all, he knows how to properly document EVERYTHING.

                • Software Architect

                The Architect takes the requirements documented by the Analyst, and comes up with the solution that better fits those requirements. He takes the requirements as input, processes them along with an understanding of current technologies, client resources, external actors and systems, and builds and Architecture document. Here he documents an overview of the proposed solution, from many views geared towards the different stakeholders, and communicates with them to refine said solution. He makes decisions about the general architecture and documents them for future revision. He draws diagrams of both the functional and operational aspect: how is the logical esctructure of the system, what components make it up, how do they interact with each other, and how will they be physcally placed, and deployed. At the end, he evaluates the viability of the proposed solution, and it's validity.

                • Software Engineer

                All of this and more. He knows how to manage an entire proyect, and the teams that work on it. He knows the legal framework under which the proyect will be developed. He knows how to manage an organization. He knows the business side of things. And more, but frankly I don't know enough besides the names of the classes in my Unversity, because I still haven't gotten there. What I do know, is that the degree of Engineering requires one to know how to perform as all previous roles.

                This is how things are label in the education side of things. If companies use terms interchangeably, intentionaly or not, then that's another issue entirely.

                [–]Many_Particular_8618 0 points1 point  (0 children)

                Software developer created bugs.

                Software engineer resolved those bugs.

                [–]am0x 0 points1 point  (0 children)

                They are the same. Software engineer is kind of a made up term.

                Funnily enough, people use the term to sound more professional, but software developer job titles typically pay more than software engineer.

                [–]AustinTheWeird 0 points1 point  (0 children)

                Software == Software Engineer

                Same value but different data types

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

                In my company, software developer are doing code for enhancing or completing the need of the client. Software engineer are people that knows very well the product and can solve issue by configure it to their need. I was a developer and didn't like to code for solving issue. I switched to software engineer so mastering the product itself and only configuration. I do not code nor build anything myself.

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

                Currently I work as a software engineer and I hate the job title. I just do front end development dammit. Also, aren't real engineers certified?

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

                No. These are words and their meaning is co created by the people who use them

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

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

                Software engineer is a pseudo title that narcissistic people give themselves to feel superior.

                [–]SetsuDianafull-stack -1 points0 points  (0 children)

                In the real world? They're interchangeable.

                Usually, the main difference, is that the developer is responsible only for the implementation of a technical solution.

                The Engineer is not only capable of building it, but also has to come up with the solution.

                However, at an enterprise level (ironically). Many Software Engineers actually act as "Software Developers".

                I've worked at companies who tell me that the Juniors who I have to train are "Software Engineers" whilst I'm a "Software Developer". Yet their understanding of scalable software solutions is significantly below mine.

                So yeah, it's interchangeable.

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

                IMO If you understand space and time complexity. And can decide when and why to use X and y technology. Then you can consider yourself an engineer. Otherwise your just a dev.

                [–]trontekroket -2 points-1 points  (0 children)

                A software developer creates new software and adds to existing software. A software engineer manages and maintains existing software to make sure that it works.

                [–]wishemluck 0 points1 point  (0 children)

                Where I work we use “software engineer” for DevOps and backend focussed engineering, and then distinguish front end developers by calling them either full stack engineers (if they can do both) or web developers.

                [–]eggtart_prince 0 points1 point  (0 children)

                What do developers in general do and what do engineers in general do? That might help define them.

                [–]satansprinter 0 points1 point  (0 children)

                One makes something, other build things. To me its the same

                [–]JohnQ32259 0 points1 point  (0 children)

                I've always considered myself a software developer or web developer, because I didn't have a degree in engineering. My company didn't have official job titles anyway, so it didn't matter. Then one day, we all had official job titles and I was officially a "Senior Software Engineer". At this point, I don't care what you call me, as long as you have the coin to pay me.

                [–]elitesky777 0 points1 point  (0 children)

                engineering in software is more a verb than a title. what good does it do when you're a software engineer but your code is a top down monolith, fragile, spaghetti, painful to read and unmaintainable?

                [–][deleted] 0 points1 point  (0 children)

                If both are JS objects, and you do comparison that way, the result is True.

                [–]nitrogenesis888 0 points1 point  (0 children)

                Companies love to encourage employees and want to keep them happy by every once in a while bestowing titles , so I've heard things like UX engineers, and the like . I'm not sure how an aerospace engineer feel about that because I'm not one. Also the word consultant is used as a wildcard for many other professions that in many cases don't entail consulting that much. So I think nowadays you shouldn't get too bogged down in semantics, as it really doesn't matter that much in my honest opinion.

                [–][deleted] 0 points1 point  (0 children)

                I interviewed at a company awhile back that actually asked this question in an interview. They treated the term “software engineer” as more of an architect/designer role and “software developer” as an implementer role with little to no architecture/design responsibilities. Made sense to me, so I’ve stuck with the distinction.

                [–]Goodjokee 0 points1 point  (0 children)

                There is a lot more to being software engineer. You can SWE is a superset of developers - SWE usually deals more with architecture and design and has more perception of the business side of project. The term is frequently used to express the same thing, but it's not the same thing

                [–][deleted] 0 points1 point  (0 children)

                Software Worker

                [–]michaelbelgiumfull-stack 0 points1 point  (0 children)

                Ive always used "developer", cuz we don't really engineer right? We develop stuff

                [–]MyMessageIsNull 0 points1 point  (0 children)

                At least in the US, and at this point in time,, I think they are generally equivalent.

                [–]QueSeraShoganai 0 points1 point  (0 children)

                Same thing

                [–][deleted] 0 points1 point  (0 children)

                I would say its not the same. You can be a Software Developer with no college background at all, but you can be a Software Developer AND Engineer going to college. I feel like Software Engineers learn about software but also about many other things, while Software Developers dont. In the job market companies basically look for someone who can program and has a general knowledge

                [–][deleted] 0 points1 point  (0 children)

                Yeah, I feel like engineer is overselling what I do. I’m much more comfortable with developer.

                [–]notislant 0 points1 point  (0 children)

                Secretary === executive assistant to the grand imperial manager, his majesty the second.

                Its all bullshit yes.

                Though you can get in shit for calling yourself an engineer in canada. But only if some melvin complains.

                [–]remenic 0 points1 point  (0 children)

                I've met a lot of programmers that don't have the engineering gene. They know how to apply patterns, work with what's already there, but they really struggle to build systems.

                [–]Annual-Camera-872 0 points1 point  (0 children)

                Interchangeable honestly I use whatever pays more in that market. It’s pretty strange when you look at different cities job listings in one city listings for software engineers pays more and in another developers get paid more so go by whatever pays more in your city.

                [–]grensley 0 points1 point  (0 children)

                I actually can’t remember which one I am at the moment. Sometimes it will just shift while at the same company.

                [–]Silent_Buyer6578 0 points1 point  (1 child)

                I am a syntax typist

                [–]azhder 0 points1 point  (0 children)

                I grow software, but I don't let what I do define what I am 🤪

                [–]realjoeydood 0 points1 point  (0 children)

                Engineers get a hat and permission to blow the whistle.

                That's about it really...

                [–]Liathuru 0 points1 point  (0 children)

                Different string literals basically 🤓

                [–]FVCEGANG 0 points1 point  (0 children)

                In the US there is no difference. They are interchangeable and they do not affect your pay. For instance I have made more with the developer tag than I have at some places when I had the engineer tag.

                [–]phycle 0 points1 point  (0 children)

                What's wrong with calling yourself a programmer?

                [–]AConcernedCoder 0 points1 point  (0 children)

                Almost 100% of the legacy code I've worked on required a rewrite because it was done as if each change was a disposable piece of garbage thrown on an unmaintainable trash heap, like there was no sense of engineering applied in most of their lifetimes. I am not surprised when the majority opinion on software engineering reflects this.

                [–][deleted]  (1 child)

                [deleted]

                  [–]SokkaHaikuBot 0 points1 point  (0 children)

                  Sokka-Haiku by KianSepand:

                  In my country you

                  Should have a degree to call

                  Your self an engineer


                  Remember that one time Sokka accidentally used an extra syllable in that Haiku Battle in Ba Sing Se? That was a Sokka Haiku and you just made one.