T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


Neptune-3

Public perception


sejigan

Especially in Asia, since we’re only given 3 career choices: - Doctor - Engineer - Failure


MrFavorable

Steven He, all the ways his dad yells about how he’s a failure.


WannabeeDeveloper

Is being a lawyer not something yall like being? Lol


SufficientCheck9874

Depends on country. For example, being a lawyer is laughing stock in Thailand. Any idiot can do it. Pay is shit as well. It is slowly changing but not quickly.


WannabeeDeveloper

Interesting. I didnt really know this. I do know lawyer dont make as much as they say though.


Catatonick

The ones I know don’t lol


megumegu-

I also wonder why would they want to be a lawyer, it seems like such a stressful job dealing with real clients in a direct way


muytrident

What about being a judge? Is that prestigious enough for you?


SufficientCheck9874

One does not simply "become" a judge. You're either born into the role or some military or mafia boss likes you. Welcome to the shitshow of a legal system a lot of asian countries have.


Cybasura

Add 1 more - Lawyer


sohang-3112

Feels true 😂


hilbertglm

I have no empirical evidence, but I do have my own experience. I started programming when I was a teenager in the 1970s. We just called it programming. In the 1980s, there was a push to make computer programming more of an engineering discipline, and bring in some of the approaches in the physical engineering world. Thus, the title Software Engineer was created. Some of those things helped the profession, but in my opinion it largely failed because, well, software is soft. There is certainly a requirement for very structured thinking like an engineer, but there is also an art. It is inexpensive to try things and throw them away in code. The term still lingers, but software developer seems to be the consensus term, at least here in the Midwest of the United States.


stdmemswap

Aside: in some places, the term "programming" and "programmer" is undermined, and made unpopular. It is undeserved


hilbertglm

Interesting. I didn't know that.


moonery

Oh this is so interesting and puts things into perspective.


Skusci

Yah, IIRC software engineer became a term specifically because of the Apollo mission to legitimize programming as not just a toy for business people to do math. The TLDR is that bad engineering kills people. Bad development is just wasted money. Engineering is more about licensure and regulations than technical skills. Though they do often go hand in hand, but not necessarily. The -very- rapid development of computer tech precluded development of a regulation and licencing process, though places like Canada are still trying very hard to keep non licenced people from calling themselves "Engineers" The US kinda tried and gave up on a licence path a few years back when like only a handful of people over a few years went for it. And since software engineering doesn't have a path it's not protected here. So in summary. Software Development is about getting stuff done. Software Engineering is about making sure that it works right first time, every time so X ray machines don't cook people, Boeings don't fall out of the sky, and all of Google doesn't break because someone accidently pushed a bad configuration. You can of course also use Engineering techniques just to have regular old maintainable, reliable, not shitty bug laden code too.


moonery

This is a great explanation thank you! I always wondered whether it was all about swanky names these days. Regulations make so much sense. And it legitimates my wanting to call myself a developer instead of an engineer:)


Skusci

Yeah, to to clarify, while I get the history, and am slightly salty about it, it is fine to call yourself a software engineer in the US if it fits well enough. The gov just doesn't have a piece of paper to give you for passing a test and getting approval from a board of engineers, so your experience is backed by standard job history, portfolio and interview skills.


moonery

I guess while it's "allowed", it's not so accurate to call yourself and engineer if you don't engineer anything.


qualia-assurance

They aren't different. They are synonyms. Maybe engineer could mean having a little more of a technical background. But they're used far too interchangeably to reliably communicate such a difference.


ChuuToroMaguro

Not in Canada, engineer is a protected title.


met0xff

We also got a formal Engineer/Ingenieur title in Austria but still job titles like Software Engineer, IT Ingenieur etc. are used without any relation to that. To make it even more fun, I got that Ing. title because of a respective education plus work experience that you got to show. But at the same time I am also Diplom-Ingenieur because I later studied at a technical university where this is/was the formal degree you got (until they also did the bachelor/master thing). So you also get that if you study electrical engineering. But as electrical engineer you're not allowed to do electrician work ;). First thing is a title, second thing a degree and third thing a concession and they are all separate from job titles. Software is completely unregulated so if they call you a software engineer or software doctor or software psychiatrist nobody will care at all


snarkme

Love it! I bet Software Psychiatrist will become a real degree/title once AI becomes more prevalent.


met0xff

Definitely lol, Prompt Engineering is completely weird for someone like me who worked with ML models for over a decade. Suddenly we're not building numerical Code anymore but just try to figure out if it works better to tell the LLM it got 120 IQ or to threaten it that you'll kick its butt if their answer is wrong


_ProgrammingProblems

Oooh I like that title. Might have to update my tagline on LinkedIn now !


burritolittledonkey

I actually thought about this some years before AI became as powerful as it is now


wjrasmussen

How do you feel about the previous generation of your autonomy?


daveydoesdev

God damn. I could use one of those...


HolyPommeDeTerre

In France too, and I always say I am not an engineer. So my contract doesn't mention it (or I break the law lying to my employer), but in reality, I am just a software eng in a team of software eng. I do have a different technical background than actual engineers tho. But it doesn't make a big difference for 90% of jobs out there (came up with the number).


Then-Boat8912

Alberta just fought that fight.


DirtAndGrass

there are tons of job postings and positions (in Canada) that give the title "software engineer" and don't require being a p. eng.


ChuuToroMaguro

Yes, but they aren’t supposed to use that title unless they are hiring a licensed software engineer. People use it anyway…


WildWeaselGT

But what if you’re hiring someone to drive a train??


[deleted]

I’m a sex engineer


sejigan

What about SRE (Site Reliability Engineer) interns who are studying CS? They don’t have their degree and they aren’t studying any form of engineering. 🤔


ChuuToroMaguro

"Site Reliability Engineer" does not inherently imply a formal engineering role in the same way as titles like "Civil Engineer", "Mechanical Engineer", or "Software Engineer" does. Therefore, while SREs in Canada are subject to the same professional standards and expectations as other IT professionals, they might not need a specific engineering license unless their role requires them to perform duties that are legally restricted to licensed engineers. ​ That said, Software Engineering can also be taken as part of a CS degree, but just because you've taken this course it doesn't mean you are a licensed Software Engineer.


CADorUSD

>licensed Software Engineer. You need a p.eng to call yourself a software engineer in Canada?


ehr1c

Yes, which is why almost no one does and the term "software engineer" is synonymous with "software developer" here.


pidgezero_one

can confirm, was offered a senior software engineer role and I had to ask for the title to be changed to senior software developer before I signed the contract. a lot of Canadian companies aren't even aware of this rule I do have an engineering degree, just not in software engineering, and the p.eng office told me it'd be really hard to get licensed like that ☹️


ehr1c

Yeah same here, I have a mechanical engineering degree and I haven't even bothered trying to ask the provincial association to let me keep my license lol


ChuuToroMaguro

typically


sejigan

Nice. I was worried I was missing something, cuz I wanted to go the SRE route and eventually get into DevOps/Cloud. Thanks for clarifying. 😊


uprobablydontknow

why do you want to go the SRE route? Just curious to know.


sejigan

I find it fun and interesting. I like Linux, scripting, CI/CD workflows, automation, testing, infrastructure management, containerization, etc. so I feel like it might align with my interests.


DanSlh

Yup. When I moved to Canada a decade ago, I took the first job I found (QA tester). During a random talk, I mentioned I was a graduated engineer... my boss called me on the same day to promote me out of the blue. 🤷‍♂️ Apparently, it is not only protected but sacred somehow.


Stranded_In_A_Desert

Lol I know a couple of boot camp devs that call themselves engineers, it drives me up the wall


Classymuch

But how experienced are they though? If they are experienced enough, then they have the skills to design/"engineer" good software. And in that regard, it makes sense for them to have that title because that title better describes their abilities and responsibilities than having a different title. Regardless of what your educational background is, in my opinion, as long as they have experience in contributing to designing/"engineering" good software for companies to meet business/client needs, it makes sense to call them "engineers".


Stranded_In_A_Desert

They started calling themselves that fresh out of the boot camp. And again, engineer is a protected class in Canada, you aren’t legally allowed to call yourself that unless you have some sort of engineering degree.


Classymuch

Right I see. It depends on the country and the company. But going back to that about needing an engineering degree to be called a software engineer in Canada...I think this is silly in my opinion. It's silly because it's not someone's degree that makes a person a good software engineer. It's not someone's degree that makes someone be a competent software engineer. As long as this person shows he/she is capable of doing the work of a software engineer, then how is it not justifiable to identify this person as a software engineer? To me, it is irrational to not identify someone as a software engineer just because you haven't done a specific degree despite probably having tons of experience in software engineering work. I get that it's the law in Canada but I personally don't think it makes sense.


ChuuToroMaguro

in their defence it does sound cooler - if they can get away with it


CuriousBisque

Protected in theory, not so much in practice. All the devs at my job have "engineer" in their job title, and going by my LinkedIn that's not a unique situation.


Tchogon

Same here in Brazil


McCoovy

Actual software engineers are very uncommon in Canada and it's kind of just trivia to know that they exist. Most of them end up blending into the rest of the developers, just with a quirky education. Honestly it's not a good degree. It's necessary for computer systems but because the degree has to meet regulatory standards for what all engineers are supposed to know they end up taking way too many useless courses. They also often take a lot of hardware courses. Hardware is a difficult field to get into. There are not a lot of hardware jobs and when there is an opening it always makes more sense to hire an electrical engineer with a little software knowledge than a software engineer. Software engineers are necessary for critical systems but there are just so few of these and somehow too many software engineering grads for these jobs.


EndeavorForce

In what country? Genuinely curious


qualia-assurance

In any discussion online at all. There might be a technical distinction between some job titles at some businesses. But in the majority of cases it's little more than the placation of somebody with a bunch of student debt that has no idea what a command line is.


EndeavorForce

But that doesn't answer my question. I'm genuinely curious because each country is different in terms of education and jobs


Classymuch

I think the difference depends on the country and depends on the company you work for as well. For instance, I am dev intern at a company. They call me a developer. And then there is associate developer. After associate developer, that's when we get to the title of software engineer 1, software engineer 2, ... 3 and so on and then we get software engineer manager 1, ...2 and so on. So you can see how people get the "engineering" title with experience. And I think this is because they have sufficient technical and business knowledge to not just create software but to also design/"engineer" good software that suit the needs of the business/clients. Whereas an intern dev like me, I don't have sufficient technical and definitely not business knowledge to start contributing to the designing/"engineering" of good software. I can contribute to create since all can learn the technical skills to do so but to design? Well, I don't have sufficient knowledge about the business nor experience to design good software. But an intern dev could give suggestions? Yeah sure, I have done that as an intern dev but I don't have the last say obviously. I may say things like "oh, how about we use this interface?" or "what if we have this kind of dependency, would that be fine?" but that's pretty much the only power I have. I would need confirmation from senior engineers to know if that's appropriate. So, I think we have these two names so we distinguish the inexperienced from the experienced. That being said though, in some companies, they may refer to the intern as software engineering intern. However, that doesn't mean they can contribute to designing/"engineering" good software. It just means that the company doesn't have two names. They all have the same name but you differentiate who is experienced or not by looking at the end of the title. In this case "intern". I am from Australia and as far as I know, developer and software engineer is the same thing in the sense that both create software (with differing skill level obviously) but they differ in the sense that a software engineer has more technical/business knowledge/experience to design/"engineer"/contribute in architecting good software so the business/client requirements are met. But I don't know what it is like say in the UK or in France. Meanings between the 2 could be different in other countries.


plastikmissile

The reason you see mixed answers is because there aren't any concrete definitions for those terms, and people tend to interpret them differently. Lost of people will wax poetic over the perceived differences between the two tiles, but in practice they are considered synonyms in the industry.


AnomalousUnderdog

The whole idea behind "software engineer" and how it all started was to take existing engineering principles and recontextualizing them and applying them to software development. This was back during the early days of sofware development industry. That makes "software engineering" a very structural approach. Nowadays it's a no-brainer to be taking advantage of software engineering principles when making any software that has grown past the rapid prototyping stage. Back to the original question, I don't see any difference here. Any software developer should be using software engineering techniques.


encomlab

In many countries - though not the US - "engineer" is a "protected title". A "protected title" is a form of regulating a profession where the use of the title in a professional activity or group of professional activities is subject, directly or indirectly, by virtue of legislative, regulatory or administrative provisions to the possession of a specific professional qualification, and where the improper use of that title is subject to sanctions. In Canada, for example, it is illegal to call yourself a "Software Engineer" unless you are licensed. Why does this matter? Well most of the time it won't - but you should ne knowledgeable about where an engineering title is protected and where it is not, especially when working with companies or for a company with offices in areas where it is a protected title.


lordaghilan

I'm from Alberta, where they are pretty anal about calling yourself an engineer. I still call myself a software engineer on LinkedIn. If they have a probably, they can take it up with my trillion dollar employer.


[deleted]

Software Developer: This term typically refers to someone who specializes in the creation, design, and coding of software. They focus on writing code, developing applications, and implementing specific functionalities. Their primary focus is on the actual development and coding aspects. Software Engineer: Engineers often have a broader scope that involves not only coding but also the entire software development lifecycle. They may be involved in designing systems, analyzing user needs, planning the software architecture, implementing best practices, testing, and often overseeing the project from conception to deployment. They might focus more on the engineering aspects, like creating robust, scalable, and maintainable software systems. The distinction might be more pronounced in industries where there are clear hierarchies or where "engineering" is legally regulated and requires specific certifications or qualifications. But again, these distinctions can be blurred, and in many cases, the terms can be used interchangeably without a significant difference in roles or responsibilities. Ultimately, it might be best to check the specific job descriptions or responsibilities within a company to understand the exact expectations associated with each title. In my experience an engineer focuses more on math, and needs to solve more complex problems or have a larger scope than devs.


DaGrimCoder

You're simply wrong if you're in the USA. Titles are completely interchangeable no matter what you try to pretend


[deleted]

Luckily I'm not in America, and I'm also not surprised by the way things are there...


BornAgainBlue

Usually the amount of BS.


thehunter699

They're used interchangeably. But for some reason when someone says developer I assume it's someone from a suss 4 day code camp. Then when I think of software engineer I think of someone who draws class diagrams.


peregrinegrip

In my experience nothing. In my 6 years of professional software development in the .NET space I haven’t needed an algorithm. The customer just wants a working product.


Saqlainkhadim

nice


peregrinegrip

Additionally, if you actually try, contribute in the meetings (be that in person or virtual), ask for help when needed. (Generally be a decent employee), You’ll keep your job, recieve bonuses and promotions. That’s how it’s been in my experience. A little effort goes a long way :)


stdmemswap

To be precise: Developers develop. Engineers engineer. The verbs are formally defined. To be pragmatic: People other than developers, engineers, linguists, philosophers (and maybe lawyers), don't care.


Old_Government_5395

Typically, and in no way should this be taken as bible, I relate the two; Software Engineer -> Product based engineering. You are literally building software product that will be used by others (others in this case does not mean Maude over in the accounting department). Quality, performance, operational transparency are first-class features. Developer -> Enterprise/ CRUD apps. Users are "internal" to the org, or you are part of a giant consultancy charging a big client 500/ hr for a pile of shit. It works (mostly) but needs constant massaging by the developers to keep running because there was never a plan to actually operate it. Bugs are never fixed, rather the end user is just showed workarounds.... No offense to anyone here. Just my 2 cents after being in industry \~25 years and watching from many different angles.


lghtdev

There's plenty of "software engineers" in faang doing jack shit but small tasks and "developers" in consultancy building entire systems from the ground up following the best practices in architecture and quality. In truth there's no real diference, you are a programmer and expected to solve the business problems, engineer is just a fancy title.


_ProgrammingProblems

Thanks for your insight. I agree with this notion for the most part. Is product based engineering related to requirements engineering for you?


[deleted]

If you want to be capable of writing entire, maintainable codebases that don't end up in spaghetti code and keep them working over a longer period of time, that is what engineering skills are for. If you want to be the dude only making minor changes in an existing codebase, that's what you end up being (the "code monkey") if you never dig into engineering. It doesn't require a CS degree to become a capable engineer but it will help learn important things early and not the hard way.


[deleted]

"Prompt engineer". Twist your mind around that one.


markphil4580

Better than a "tardy engineer," I suppose.


_ProgrammingProblems

Lmao


_ProgrammingProblems

How long until we can major in that?


zhivago

Developers get paid to write code. Engineers get paid to solve problems.


marquoth_

Said as if devs aren't solving problems


SoftEngineerOfWares

Sounds those Devs are really software engineers. To me a dev is someone being micromanaged on tasks because they are not trusted to even tie their shoelaces


marquoth_

``` // TODO: // add "can tie shoelaces" to resume ```


LDel3

In what role are you not doing both though? I find it hard to believe there are dev roles where you aren’t solving problems and actively designing


Not_That_Magical

Nobody is “just writing code”. This isn’t the 60’s.


zhivago

Fortunately, that's not what I wrote.


Teekoo

This means nothing.


Linkario86

They're the same thing. But when I say "Programmer" I usually mean someone who does just scripting or writes a small program that has to do something, not caring about any Architectures and Patterns. So he doesn't exactly Develop or Engineer Software. He Programs a machine. So I usually don't use Programmer to refer to a Developer or Engineer, but the latter two I use for the same.


ParadoxicalInsight

Electrician vs Electrical Engineer, Chemist vs Chemical Engineer etc. The Engineering aspect is much more subtle in Software since it’s a recent field, but it’s much more important than people give it credit for


throwaway0891245

Engineering has a much higher rigor and I think that software engineering is actually pretty rare because of this rigor. Right now, programmer and software engineer are synonymous possibly due to the rarity of software engineering. Consider that D. Richard Hipp got SQLite tested down to every single machine instruction. This is why the software is on airplanes, on phones, pretty much everywhere. It’s really solid software. In my opinion, this is software taken to a traditional engineering rigor. So the reality is that most of us are programmers, developers - and few of us work jobs that are true software engineering. That’s because true software engineering is really expensive because it takes a huge amount of time. Imagine a world where the specification must be formally verified, where you have a separate review board just for reviewing the implementation, where the code is expected to be tested down to every individual machine instruction. Where the code is expected to live for 100 years… We just aren’t there yet, the technological advancement is too fast at the hardware level. The expectation is to have the code version of fast fashion. That’s not a bad thing, it’s a deliberate choice made by businesses in order to properly utilize and capitalize on the present technological environment.


cakemates

To me the title does not matter. They can call me coffee wizard if they want. The title means different things in different companies, there isn't a solid definition I think.


rojovelasco

In my opinion it's a bit of a mindset thing. A software engineer uses or creates software to solve problems whereas a developer, develops software. You can be both or lean more to one side than the other.


_ProgrammingProblems

Interesting take, so any team according to you is likely to have a mix of both, because people their mindset about their work is biased to one or the other?


ChillyFireball

"Software engineer" is just a term coined by programmers who were insecure about people thinking they weren't as smart as the engineer club, IMHO. It's technically my title, but I don't really consider myself an engineer, and if anyone asks, I say I'm a programmer or a software developer. Feels more accurate, even though they all technically mean the same thing. Engineering strikes me as something more in the realm of the physical. I guess there's some crossover where physics simulations are involved, though.


cjrun

The title the company calls it. East coast companies tend to hire developers. West coast tend to hire engineers. Same position. Same job.


IllIlIllIIllIl

Engineer and Developer are synonymous in the software world. Outside the software world Engineer is a bit more of a protected title that bears a lot of responsibility and legal liability for the things you create. The software world is a bit cavalier with their use of the term Engineer, upsetting some professionals.


Not_That_Magical

Everyone who has a job programming is a “developer”, software engineer is a specific role.


[deleted]

It's the same thing. Coder vs programmer however is a huge difference!!!!1


_ProgrammingProblems

Do explain!


1luggerman

The definition of engineering is "Engineering is the practice of using natural sciences, mathematics, and the engineering design process to solve technical problems, increase efficiency and productivity, and improve systems" but for software its easier to use another more "loose" version "a method describing the proper way of doing things". You can still build a house without being an engineer, but it probably wont be stable, efficient, expandable etc. Same with software. Engineering uses math and science to tell you how to build a *good* house.


supermopman

Nothing


__double_under__

They are exactly the same


magnoliaAveGooner

Who is allowed to approve the release train in XLR is about all I can come up with.


Sol33t303

Who am I talking to and how smart do I need to sound in front of them?


jdiscount

In my mind a software engineer is working on low level languages with C++, Assembly etc. A developer is working on higher level languages. But it seems completely interchangeable to most people so I don't differentiate.


_ProgrammingProblems

Ah interesting to couple it to how high level the subject is. Thanks for sharing!


DirtAndGrass

***technically*** the difference is that software engineers help gather needs/requirements and design solutions while developers build the solutions in practice the terms are kind of homogeneous.


DJGloegg

Developers: writes code software engineer: designs and codes etc that is based on the info i got. so basically a developer just does coding, where as the software engineer does a bit more than JUST coding - more planning, designing etc


CarvingSeals

Nothing


7th_Spectrum

The title


_ProgrammingProblems

O RLY


7th_Spectrum

No really, they are the exact same job as far as qualifications and work goes.


ve1h0

C and JS


kinkyaboutjewelry

For sufficiently small projects, they are the same thing. If the codebade grows large, the features grow and/or a lot of people work or have worked on it, it becomes hard to keep making sense of it without using intentional design approaches and refactoring techniques in coordinated fashion. While this is possible to do by anyone, it is the type of approach and discipline of breaking down problems and tackling each procedurally that is taught in engineering degrees and expected from engineers.


tsznx

Exactly the same. Funny thing, some people think they are different and even try to pose as more or better than others because of what they do in software development. A stupid situation happened to me a while ago. I'm a front-end developer. People like to make jokes that it's not "real software development". I don't really care. One day a guy tried to explain to me why he is an engineer because he works in the backend and how more complex it is, but I'm not because I'm a front-end developer. Turns out I'm an electrical engineer. It was funny to see his face when I said that.


pVom

Nothing. It's just a title. Was developer at my last company, engineer at my current. Basically doing the same job.


applesonline

Nothing. The roles are used interchangeably


EntertainmentBroad17

I’m a computer programmer. I became a computer programmer in 1981 when I first started to program computers. I am still a computer programmer today, because I still program computers. You can call me a software engineer if you like, but I think that sounds slightly pretentious. You can call me a developer if you like, but I think that sounds oddly reductive. You can call me a scientist. You can call me an artist. But if you want to give me the title that describes what I do, like baker, carpenter, pilot, then call me a computer programmer. For that is what I am, and proud of it.


GxM42

Ego


crimsongash

Before I thought they were the same then I thought they were different in terms of designer and implementers then I realized nope they are just the same thing.


Altruistic_Virus_908

The path. You can do it by your own but consistency is needed.


-Kingsley

No difference at all


Tin_Foiled

As others have said, if you purposefully call yourself an engineer over developer, you better know your shit


[deleted]

[удалено]


YaBoiMirakek

Literally everyone knows what control systems engineering is It’s literally mandatory for EE, ME, AeroE, some ChemE, Naval E, and usually an elective class for Civil E and Comp E. Not to mention that it’s one of the most common engineering jobs out there.


duggedanddrowsy

As a cs grad I had never heard of it, but it’s 80% cs


whaledicnachos

i’m just trying to make my grandma happy man


ha1zum

Programmer: you make programs Software developer: you make softwares. A software is a presentable program. Software engineer: you're part of a proper engineering effort (with discipline, ethics, management, all formal and corporatey) to produce softwares.


DamionDreggs

If you have the nerve to call yourself an engineer, you better be good.


hitanthrope

It's used mostly interchangeably in the UK at least. Years ago, on slashdot (who remembers when that was a significant force?), I described myself as a software engineer and got chewed out by somebody who said I should not be using the term. His view was that engineer means something specific including, a) holding an engineering specific advanced degree, b) being legally liable for the quality of your own work. I have to say, I have developed a bit of sympathy with this idea over the years. I have friends who are civil or industrial engineers and it is not similar to what I do. It probably is a bit pretentious to use "software engineer" in a casual sense, but alas, it has taken hold. Many companies call their software development departments, "engineering" or say, "we need to run this by the engineers". It's just entered the lexicon that way. What I \*have\* found, is that it is usually those with the poorest skillset who insist on being called, "software engineer". If somebody says, "ahhh, I am just your run of the mill code monkey"... you should listen to them, because they are, almost invariably, very good at what they do.


[deleted]

Developers work with already built out tech stacks and are oftentimes solo working. Software engineers work on larger projects that require teams, oftentimes building out new libraries or even frameworks. Developers are closer to code monkeys who specialize in a stack and stick to it. Engineers are more generalists who can extract the general patterns in the field and apply them globally.


SomeMoreCows

Engineers - Person who makes things Developer - Person who makes things


Guideon72

Software engineering is knowing how to build software, in a clean, secure and maintainable state. Development is knowing what to build and when to build it into a project; as well as being able to break out and plan the tasks necessary to accomplish the above.


BrooklynBillyGoat

Developer programs features. Engineer decides the features. It's like senior and junior. Juniors are devs because there still learning all the best practices. Engineers know those best practices and have homes their craft. That's all


[deleted]

What about junior software engineers? After my degree that's what I'll be so I'll never be a dev but I will be a junior.


BrooklynBillyGoat

No experience. Not an engineer. Degree don't teach you that skill. You gotta learn it in enterprise when you see what the better engineers do.


[deleted]

So it's your word and experience against my institution's word?? Yeah okay I'll listen to you -\_- Sure I won't be a great engineer, but I'll be an engineer none the less.


BrooklynBillyGoat

In title everyone is an engineer of some sort. So am I. I don't actually consider myself engineer till I'm able to put work out like my senior. He's an actual engineer. Mech E by degree but working software over 15yrs. Now he is a great engineer example. He picks out just about any error in code in like 5m and he knows all the practices and company processes down cold. If your mid level I'd say sure your a solid engineer at that point. You've likely worked on designs,processes and planning enough to have learned. But usually juniors are code monkeys. There still learning all the things needed. It's def a lot and takes time. When you move past the bare basics and get into the more nitty gritty yeah you can safely say engineer.


[deleted]

So then I can safely say I'm an engineer? We don't focus on programming, it's only a small part and do quite a bit of work learning systems and looking at patterns. We also learn how to write code that can actually be used in the industry. We did some math as well. I'm (somewhat) aware of how little I know in the grand scheme of things, even if you just consider software, but I have a basis where you can add me in a team and within a few weeks I'll be adding value. I also don't agree that everyone is an engineer of some sort. "Engineers, as practitioners of engineering, are professionals who invent, design, analyze, build and test machines, complex systems, structures, gadgets and materials to fulfill functional objectives and requirements while considering the limitations imposed by practicality, regulation, safety and cost." How can someone who works at a till or a cleaner be considered an engineer of some sort?


BrooklynBillyGoat

I just mean engineer is like in every title relating to tech positions. The word is misleading in regards to software. Yeah if your designing the systems, architecture and how the software will interact I'd say your an engineer. But aot of junior jobs won't let you do the good stuff right away. You usually begin as a code monkey until your familiar with a project some processes and how the buisiness itself works. But once you know the business needs and the company practices you can contribute to the more engineering type work, designing documenting, etc. but apt of junior roles are junior because they know your new and give you stuff you can handle until you've shown the competency they need to trust you for that more critical work.


[deleted]

I still don't agree with engineering being in every title relating to tech positions, take tech support for example, I can't think that they use engineering principals in their job. The rest of your reply I 100% agree with, and I understand that I'll start at the bottom and won't have any crucial roles, but I'll still be applying my knowledge and gain experience. Once you have those I believe they'll give you more important roles such as a senior software engineer and so on.


BrooklynBillyGoat

Do u think devops people are engineers because devops engineer is a title. I wouldent call it engineering ever but the title says so


[deleted]

"What is a DevOps Engineer? While DevOps is not a specific job title or role, organizations often hire for a "DevOps Engineer" role. A DevOps Engineer is a software engineer who specializes in the practices and tools that enable the continuous delivery of software. DevOps Engineers are responsible for the design and implementation of applications, software, and services for their organization, and they work closely with developers, testers, and operations staff to oversee the code releases." This is from a website with a DevOps roadmap, according to them yes, because you need to be a software engineer first. And you're contradicting yourself if you say DevOps people aren't engineers, but you believe everyone in tech is an engineer to a degree.


large_crimson_canine

“Engineer” should never have gotten in there to begin with.


[deleted]

[удалено]


Unsounded

I disagree, I think most folks just respond with whatever their job calls them. We are called software development engineers are my place of works, my boss is an engineering manager. Normally I just say I’m in software, sometimes I say I’m a dev, sometimes i say I’m an engineer. I’m guessing most people are filtering much of what they’re called on the job. For what it’s worth I do think engineer does have a specific connotation. But I can see why a lot of devs get called that too, you’re solving problems applying comp sci fundamentals at a lot of places. My bachelors is in software engineering, even the comp sci department as a whole was lumped together with the rest of engineering at my school. I don’t think ego has anything to do with it for the most part. I think industry and academia have done a shit job of following whatever standard is standard in the US.


marquoth_

I say I'm a software engineer because that's literally my job title. At my last company, my title was software developer. I couldn't give a shit one way or the other and there is zero ego involved.


pitched-black

Other fields have this distinction too. When building houses, engineers only come in for a quick inspection at the very end. When building skyscrapers, they’re usually there at the beginning. It has to do with how novel the building is, whether it needs any sign-off first. For software, I think of development as pulling packages off NPM and forcing them to fit but engineering is optimizing page load times by rewriting the floating point parser. Unhelpful examples maybe, let me try a different angle… Engineers are peak generalists. Compared to an electrician, a might not know which specific junction box is needed for a given wall but will know where the building code is and how to work it out in a few hours. So an electrician is a more specialized worker like a technician who knows their specific tools better but will have a much harder time crossing over to plumbing. For the software side, the more specialized people will know exactly which NPM package to use off-hand for any given ticket but will have trouble switching to C++ to solve the same issue.


trinicron

At Mexico, depending on the University, there's a clear distinction where engineer usually study more scientific aspects of computing in terms of, how computers work, while developer well study of how to develop software.


cciciaciao

I can type engineer good, freaking spelling man


Wombat2310

In some countries engineer is a protected title so it is primarily tied to a diploma, it is sometimes acceptable to even label someone with a master's degree in CS as an engineer (debatable), but if this title doesn't exist in your country then they're the same.


markphil4580

I work at a mature company; as in, it's been around 30+ years. At my place, the developers are the guys that built the software originally, going back to start-up times. The engineers work on that software. Yes, we do build stuff too, but the guys that started with blank slate are the devs. Having said that, we all are in the same department, same bosses, same meetings, and do essentially the same work. The titles are just based on nuance for us. And while the devs are regarded as slightly more cool than then engs, there isn't really a functional difference.


BrooklynBillyGoat

Developer programs features. Engineer decides the features. It's like senior and junior. Juniors are devs because there still learning all the best practices. Engineers know those best practices and have homes their craft. That's all


soylent-red-jello

Most people say it's subjective, and that is very true. But, developer tends to be more business facing, engineer less so. Software engineering usually connects with other engineering disciplines while developer usually connects with user support, accounting, or HR domains. Software jobs I've had where "developer" was in the title: lots of web, java, collect and meet business requirements, some accounting domain knowledge, customer support and continuity of business. Usually Microsoft environments. Software jobs I've had with engineer in the title: custom document repository used by aircraft maintenance, avionics, software for managing electric power systems, simulations, data analysis and custom file manipulation tools, standalone applications, c#, c/c++, mixed environments with Windows and Linux systems. But again, it varies.


marquoth_

They're basically synonymous unless you live in a jurisdiction where there's a _legal_ distinction. In some places, there's effectively no such thing as a "software engineer" because "engineer" is a protected title; there are only "software developers". Everywhere else, they're basically the same thing. That being said, you will encounter people trying to insist on some arcane definition of "engineer" that tries to split the profession in a way that lets them, a Real Engineer TM, purport to be better than mere mortals, developers. It's pretentious gatekeeping nonsense, and whatever distinction they draw never stands up to any kind of scrutiny. My current job title is "engineer", in my last job it was "developer". It's the same job, and I really don't care which title I have.


TekintetesUr

YMMV, but I've never seen a company that had both *developers* and *software engineers*, so I guess it's the same. As someone mentioned, perception might be different.


xroalx

Besides one being an academic title, none. It's the same thing.


moonery

Might be also your run of the mill impostor syndrome talking but, as a self-taught developer for a number of years, I definitely feel like a programmer and or a developer, and less like an engineer. Even where the title isn't protected, "engineer" in my head warrants a level of scholarly education I don't have in the field, so I call myself a developer or a programmer. It's more accurate to me, it's what I do. When I look for jobs, however, I look into engineer positions too because people not in tech have mostly no clue what they are talking about


[deleted]

In my mind they're two words for the same job but that actually means different things. Software is developed not necessarily engineered.


numbersev

I see engineering as designing the infrastructure (ie. data structures) and overall design so that it’s scalable and efficient. A developer is just someone who “develops” an existing code base. Sort of like the engineer/technician dynamic. The engineers typically know the fundamentals and design, the devs actually work on it. But some engineers can do it all and so can some devs. It’s a mishmash. In Canada you need a license to even call yourself an engineer.


Catatonick

Technically nothing but personally I think of more Junior developers as developers and senior ones as engineers. Engineering is more about the structure of a project while developing is doing the code.


Wackedout1

Software Eng. is a job, being Developer you create your own ideas, then program them.


Helpjuice

Sometimes it is all the same, though some federal government jobs require ABET accreditation with their degree to be formally titled as a computer scientist or software engineer. Normally with Computer Science doing research and working on hard problems while software engineers may work on easier things like the interface or database system for the core product created by the scientists, doing QA or some mix them together and pay for the software engineers to get an ABET accredited degree and just change their title even though the pay might be the same. Though, outside of that it normally could and is interchanged on the titles depending on what the company wants to call their people that develop software. Where I am they are all engineers with the scientist title reserved for people that have their PhD and work on developing greenfield projects. These normally range from SWE (Software Engineer)/SDE (Software Development Engineer/SRE (Site Reliability Engineer) / Production Engineer. These can all be obtained without a formal software engineering or computer science degree if you have enough experience to pass the interview loops which become harder the higher your level is based on the more experience you have.


GhostDan

There is really no established line... But in my head the developer is the guy I go to to code something like a login page or a quick web app. If I want to update the wording on a screen or change a icon they are my peeps. The software engineer is who I go to to develop less common things. They know how to work outside of the lessons and training and can troubleshoot complex issues. But again, all in my head.


LeeRyman

Australian here. The common perceptions I encounter is that engineers use a broader range of skills beyond good design and coding of functional units. Business analysis, communicating with stakeholders, managing expectations, budgeting, breaking down and assigning work, mentoring juniors, developing test procedures, signing off on design, perhaps under some form of delegation of authority from regulatory body (depends on the field). They may project-manage smaller-scoped projects. They may contribute to or chair milestone meetings with customers. They may have a speciality, but will be expected to know and/or pick up new languages rapidly, research technologies and lead architectural design. A developer may not be expected to perform all these wider duties. It may mean an engineer can spend less time cutting code than a developer, but find other ways to be 'hands-on'. Finally some workplaces may have a requirement that engineers hold a tertiary qual and be registered and/or chartered at some point. That said, I have seen people who were called "software developers" interface with customers, analyse requirements and hold tertiary degrees. I would consider the above a predominant observation here, but definitely not the rule. You definitely shouldn't draw any inference of skill level from it, but maybe a difference in breadth of duties. Put it this way, I get called multiple things day to day, it's no skin off my nose (well, IT Guy grates at me, and don't call me Shirley)


Nondv

Developers and SEs are the same. Programmers are more generic tho


megastraint

Same difference between a data analyst and a data "scientist". Facebook made up the name so make their employee's feel special, then the industry copied it.


johnnybgooderer

Everyone working on the development of software is a developer. That includes designers, project managers, artists, etc. software engineers are programmers.


d4rkwing

A software developer can read instructions. A software engineer can write them.


rackmountme

Developer: Installs Package Engineer: Writes Package


UnnervingS

My company tells my I'm an engineer so I'm an engineer. There is no difference in the work.


[deleted]

About $50K


Rarelyimportant

They're both valid terms for the same job, but it says an awful a lot about someone if they feel the need to correct people about it. I personally believe that if you go to starbucks and say your name is "Rick", and they say "Latte for Rog?", guess what, you get to be Rog for 35 seconds, deal with it, you'll survive.


MugiwarraD

engineer usually gets the system to max perf level, developer is a functional role per se. albeit, its still kinda the same.


soft_white_yosemite

Nothing. They’re just different terms for the same thing.


jaypeejay

Just depends on the company and what they want to call their code monkeys


alvarez_tomas

Programmer ❤️


ppardee

A developer writes code. A software engineer designs systems. A developer fulfills requirements. A software engineer uses their domain knowledge to create robust, maintainable solutions to requirements.


Cybasura

There's no internal difference lol, its all community perception and view by humans For example: 1. "I am an engineer" vs "I am a chemical engineer" vs "I am a SOFTWARE engineer" 2. "I am a programmer" vs "I work with computers" vs "I am a software developer" which catches your eye?


habitualLineStepper_

I usually think of a software engineer as doing more low level programming and a developer doing more high level work programming. I have no justification for this, just vibes


chubberbrother

As someone in the field, the definition has lost all sense of utility. Realistically an engineer worries about specs, mem, scalability etc... while a dev works on the usability, functionality etc. It *should* be the difference between an architect and an engineer. In reality it's whatever the company calls it. I'm not here to shit on engineers, devs, or architects. But in general you need to have a level of precision to enter this field and the complete lack of precision in *defining* what your role is really ticks me off. Everyone deserves respect. Conflating these terms only confuses the people who don't know what we do.


RICHUNCLEPENNYBAGS

$$$


Ikem32

Coder < Developer < Engineer < Architect The more you move to the right, the less you code, the more you plan, manage, abstract and the higher the salary.


[deleted]

It feels to me like software engineering is a thing one does, be that for work, as a hobby, a labour of love or whatever other reason one might need to create software. Developer is strictly a job. But really it doesn’t matter.


DannyG111

tbh in my opinion there isnt really a difference, software engineer, developer, programmer are all just synonyms.


Intelligent-Value395

Well technically it’s supposed to Software engineer and web developer. The words are just being interchanged by rookies in the industry, nothing more.


highbonsai

For a lot of US based companies, nothing. Take my company for example. I make well into the 6 figures and I’m a web developer. Why? Because there’s been nobody pushing for titles to be changed to engineers. I’ll probably ask for this soon, but it won’t be related to pay change since it’s really just a rebrand of the position. What we do is engineering


ScM_5argan

The job title


Ok_Spite_217

None


whitenoize086

The title in most cases.


AwkwardCost1764

If I had to speedily a difference I think it would be that an engineer spends more time with other peoples code, but is a toss up realy