Yeah, same in the UK. Really annoyed me that the plumber, electrician.. etc were all engineers. In Germany it's as protected as calling yourself doctor, which ultimately affects how people view the profession and the salaries they command
Hmmm. But all the people around me working in software studied multiple years in an Engineering field. In my case, I studied a 5-year industrial engineering and two masters afterwards; I feel very comfortable wearing the "software engineer" or more accurately "robotics engineer" badge.
How come they don't count? They're figuring out how the machines should work, for money. That's engineering, right? (I'm an American mechanical engineer)
In Canada you have to be qualified and licensed to call yourself an engineer. There are people who can use the title "software engineer", but it's not the majority of people working in development.
No student said yes. He argued, that we are ( if we go this way). Using best practice, industrie norms and standards to create a product used by many. And if you are in medicial software, you errors can evem cost lifes - just like a bridge engineer!
Softwareingenieur darf man sich nennen, wenn man ein mathematisch-naturwissenschaftliches Fach studiert hat, wo Informatik dazugehört. Somit ist Software Engineer oder Softwareingenieur die korrekte Berufsbezeichnung für alle mit einem Bachelor/Master oder höher in Informatik.
That is not entirely true. It's a bit more complicated. Yes it is protected since the 1970s but it's more of an academic title. You needed to study something that is "mainly" of technological or scientific nature. Basically befire the Bologna reform every student in Tec. Unis/FHs did get the title Diplom-Ingenieur. So the engineer part was literally part of your degree. This of course also true in case you studied IT. So yes there are many who call themselves IT engineers also in Germany. However it's more of a philosophical question how much software development is actually engineering or rather craftsmanship.
I'm in tech and "computer programmer" has always sounded to me like a grandma phrase. Like how all gaming consoles are referred to as "the Nintendo" or "the game station".
I remember telling my high school guidance counsellor I was planning on becoming a programmer. She looked at me, head tilted like a confused dog and asked what excited me about Event Programming (as in, planning and scheduling large in-person events).
That was the first time someone didn't understand what I did for work, and it was about 5 years before I started doing it.
That's funny, plain "programmer" would be my preferred term if it weren't for the fact that non-tech folks think it sounds like menial work. I've landed on "software engineer" because that's what my employer calls me and other people seem to understand a little bit, too.
I was hired with the official title "software engineer," then I was noted in all unofficial org charts as a "SE/DE" (software engineer/data engineer), and recently my boss announced that I have had my title officially changed to "data engineer". My job functions have not changed the entire time I've been here. I write Python, SQL, KQL and Pyspark scripts and have to fuck around with Azure architecture sometimes. So there's not always clear delineation between these terms, anyway.
Here in Canada you can't call yourself an engineer unless you are a qualified and licensed engineer. So most people have to call themselves "developer". When you see someone calling themselves a software engineer it should mean something.
Honestly, the longer I work in tech, the less confidence I have in anyone's title. Even searching for a job, different companies have different ideas of what, pretty much everything is....
I'm more on the side of IT support (sysadmin/netadmim/systems engineer/network engineer/second/third level support/engineer/whatever tf)... And even looking for a job for myself, it's a nightmare... Even mundane details about the job are messed up. I saw a posting for a "remote support technician", by their definition, this was "remote" as in, not from an office. The job was on-site support for remote sites. I don't even think it was an IT position, more like mechanical maintenance IIRC. So you were "remote" aka, not at their office, doing support (for something not electronic), as a "technician".
It's bullshit all the way down.
When I was last looking for a job someone commented that I had "only" applied to x positions in y weeks, when their search for (some vague title related to my usual employment) had z search results, where z was more than 10 times x. I didn't bother replying but I couldn't help but think, did you look at any of those postings? I literally had a search filter for jobs that was "CCNA" (Cisco certified) and I literally had administrative assistant positions coming up.... Those are little better than secretarial jobs. I know because I clicked on it because maybe, just maybe they meant an assistant to the systems administrator, but no, it was exactly what it said on the tin.
This is my frustration with IT. There are zero standards for what a job is. Developer? Is it software or something related to construction? Engineer? Are you examining the structure of something or building out IT solutions? Admin? Office admin? Systems admin? Department admin? There's too many "admin" related jobs.... "Support"? Supporting what exactly? Am I programming switchports, or is this some other kind of bullshit support.
That's not even getting into all the actual IT jobs that are clearly out in left field. Sysadmin jobs that require years of experience with an application that's extremely specific to one industry; an application you could learn likely in a matter of days, which isn't very complicated, but your resume goes in a bin if you don't have some very specific certification and a number of years of experience with the related app... I know that because I've applied to such positions and didn't even get a courtesy email telling me to pound sand.
Which takes me to another point, you don't get rejected. You get ghosted. They don't want you? Fine, tell me that. You don't even have to give me a reason, just some copy pasta about pursuing other candidates. That way I will know to not expect anything further, and keep trying. I mean, I'm going to keep trying no matter what, but still...
The whole job market is a hellscape.
Then, I can turn my attention to the pointless titles people have, which often don't mean shit outside of your specific workplace. "Lead customer success technician" ... Ok, wtf is that? What does any of that mean? Are you technical in the sense of working with information technology? Or is it one of the DOZENS of other "technical" things? Everyone is a technician and everyone is an engineer now. Those terms used to mean something. Now they're just keywords to blast your resume with to try to match some AI filter so you can get a call. If you don't play the game, your left behind.
I feel bad for all the professional engineers out there who hold degrees in real engineering. Now anyone, everyone and their mother is calling themselves some kind of engineer. It's all word salad and I hate it.
The reality is also, that development is so extremely diverse, that it's hard to find umbrella-enough terms to describe a job.
For example, I'm a senior software developer on paper.
I'm not senior, not even 10 years job experience. But I seem to be rather good at what I'm doing, so I'm a senior now.
I'm also hardly writing any code. I talk to customers about what they want their software to do, I talk to management about how many people I need, I review pull requests, I talk to junior devs about their problems, etc, etc. Maybe 10% of my time is actual code. But what title other than "developer" should I have?
Maybe "software producer"? (a term I've never seen used anywhere but that sort of makes sense when you think about what a movie producer does, for example)
In my career i have gone from Systems Engineer to professional services to Profesional services team lead to Senior Systems administrator to now just Systems administrator. All doing basically the same IT stuff at progressively higher levels other than the team lead part.
When i was looking for my last job i applied for a remote admin job and experienced exactly what you described. I was on the third interview and was asked when i was going to move to the area and if i wanted a relocation allowance as part of the offer. Uhh what? To them a remote admin was an administrator that went to remote sites. What a waste of my time
My job title has changed 5x more than my actual job. I honestly don't even know what my current title is.
I wonder how many man-hours (and at what average salary) has been spent deciding on title changes that have literally zero impact at my company. I'm sure every change involves meetings full of highly-paid executives.
"I (want to keep my job and therefore I) AGREE WITH YOU 100%"
They collect the big bucks, the rest of us can suck dirt - barely not able to afford a home, food, medical care, etc. Oh wait, sorry, I meant "YES SIR/MAM!"
I'm a Senior Software Engineer, outside of countries where engineer is a protected title. I'm also a Beep-Boop Technician, Specialized Generalist (not Full-Stack since I have mostly succeeded in avoiding JS, until this afternoon), Problem Fixer, Technical Diplomat, Cat Herder (sometimes a tech lead), and The-Mean-Guy-That-Rejects-Commits-When-There-Are-API-Calls-Made-Without-TLS-Encryption-And-Hardcoded-Secrets (infosec likes me but always seems genuinely confused at a dev not fighting them).
I'm a Senior Software Engineer, outside of countries where engineer is a protected title. I'm also a Beep-Boop Technician, Specialized Generalist (not Full-Stack since I have mostly succeeded in avoiding JS, until this afternoon), Problem Fixer, Technical Diplomat, Cat Herder (sometimes a tech lead), and The-Mean-Guy-That-Rejects-Commits-When-There-Are-API-Calls-Made-Without-TLS-Encryption-And-Hardcoded-Secrets (infosec likes me but always seems genuinely confused at a dev not fighting them).
I'm learning that I'm just enough of a front end dev to make a very ugly site. Navigating all the various CSS and JS frameworks feels like pulling teeth.
Having a familiarity is absolutely a great thing. The syntax isn't alien, so, debug and guiding juniors through figuring out why their project isn't working isn't too terrible. The typing is probably what drives me crazy the most. It's just bad and the standard library doesn't seem to be equipped to handle every type that it can "support" cleanly.
since I have mostly succeeded in avoiding JS, until this afternoon
Sorry to hear that. I hit the same pothole about 6 months ago. I had been so fine with avoiding JS, but the guys building our admin console broke their build and couldn’t figure out how to fix it. Even worse, then I had to write up best practices for JS
Yeah. Fortunately, I didn't have to do the programming. Unfortunately, I had to guide the debug. Happy to help people learn but the language, especially in its typing, is just awful.
I don't know where "software engineer" started but in Australia engineers have to study for years and then do a minimum amount of study every year to keep their license. Which we don't have to do. I've always been weirded out by Software Engineer even though it seems to be becoming more common.
Engineering is engineering. You design it, you build it, you test it. Engineering. We shouldn't gatekeep words.
With that said, I recognize that certain engineering disciplines have overlap with public safety, and should come with some qualifications to back it up.
Single software engineer can nowadays do more harm than most of other engineers. Just one SQL injection and all the people's personal data have been leaked. Single bug in car self driving software and the car drives in to school bus.
I like the title only because I got a degree in computer engineering and passed the fundamentals of electrical engineering exam. I definitely don't do any engineering but it makes me feel like my degree wasn't a waste.
Edit: also that was an 8 hour test that I really took for no reason.
Software engineer is an accurate term for a lot of roles. The problem is when software engineers step out of their lane and start pontificating about other engineering fields.
You have to do that to be a "Chartered Engineer", "Professional Engineer" etc. Some states require you to have some kind of registration to practice in some roles.
"Engineer" remains an unprotected term in all states and territories as far as I know but I could be wrong. It's definitely unprotected federally.
I'm a Senior Computer Software Developer Programming Engineer, or SCSDPE (which is pronounced Skuzz-Deep), and I will be irreparably miffed if you get it wrong.
For your convenience, I also accept "that guy that sits weirdly close to the water fountain", "hey", and "paid keyboard user".
Depends. I've studied for my engineering title, I have standards and ethics. Requirements, specification, design, architecture, programming, testing, integration, delivery, everything is part of my job. If you are a programmer, you only do programming.
Look at the state of software in the world. Even for Boeing standards, most software is abysmal. You can have personal standards all you want, if business daddy wants to deliver untested crap, I might object, but I can't stop it and it's usually not a hill I would want to die on.
But then it all circles back around. I have advanced degrees in (non software) engineering from actual top tier engineering schools and I should not be trusted to write production code. That's what software engineers are for.
I disagree with that. I mean, I don't know how good you are at writing software, so maybe you shouldn't be allowed anywhere near production code. But, just because code is "production" doesn't mean it should exclusively be the domain of people who are "software engineers".
In my mind, software engineering involves implementing new algorithms that are from a computer science paper you just read, or architecting a big and complex system. Or, if there are lives on the line. I'd want people writing code for a new Space Shuttle to think of themselves as engineers, not just code monkeys.
But, a self-taught developer is fine to update production code for a web app as long as they write the correct tests and get it peer reviewed.
I've been a programmer my whole career, but some years ago my then-employer gave me the actual title of "visionary". This caused me to immediately lose the respect of my coworkers, and after a few months it was obvious my employer was just preparing to get rid of me and replace me with H-1Bs.
My doctor's digital prescription service has been ransomwared. It's been a few weeks, and they paid the millions of dollars in Bitcoin or whatever, but it's still encrypted and my doctor had to write me a prescription on paper.
The fact that a digital prescription service could have that happen is madness to me. The fact that they don't have offline backups for prescriptions is insane. Yes, they could have been in there for a while, encrypting everything, but if the company had tested its backups they'd have found out immediately.
All of these are things that wouldn't have happened if computing professions were held to standards.
Ok, sure. What standards? For fields like Civil Engineering it's pretty easy to come up with reasonable standards. But, if a software engineer is writing a generic key-value store, how do you evaluate whether that item meets the required standards?
I prefer Software Engineer, mostly because I studied at an engineering school and have a degree in Software Engineering. My actual titles have varied throughout my career, but I overall consider myself a software engineer.
Same. My current role is most accurately DeOps or DevSecOps - my education actually predates “Software Engineer” but it was a Software degree from an Engineering school, and with a more technical focus than the similar degree from Arts and Sciences. But yes, every time I due process improvement, standards and practices, etc, that makes it “Software Engineer”. And every time I have to explain to developers how their stuff works, yes, I’m “The Engineer”, capitalized
I'm curious if you've looked up whether you're allowed to call yourself an engineer in some states (US centric of course)? I read years ago that some states really frown on calling yourself an engineer if you aren't a certain small range of engineers that they have codified (pun intended) in law.
Source: work in the industry, and "Civil Engineer" and "Professional Engineer" are legally protected titles. Other than that, it's fair game. Like, there are "Design Engineers" in the civil sector that don't have their Professional Engineer certification.
This is my opinion that is basically a compilation of the coworkers I've talked to about the subject.
Depends on the role. Passed senior level most prefer to be called engineers. Those are the people designing the whole system. Software developers are usually more mid level and figure out the specifics of how to design smaller sections of the system. They cut a lot of the detailed tickets and write a lot of infrastructure code.
Programmer is usually the juniors who never design much and just take tickets and turn them into code.
When I say senior, mid level, and junior, I'm referring more to the role that you're fulfilling that day, and not the overall skill level. Engineers will often step in as programmers for more complicated code.
We usually accept any of the terms though because it's very rare for someone to not jump between the various tasks depending on what the active project is. And at some companies they only hire seniors and they perform all roles.
TL;DR: Every software engineer is a developer and programmer, but not every developer is an engineer, and not every programmer is a developer or engineer.
"Look at you, hacker: a pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?" -Shodan
I got told the difference between a software developer and an engineer is that an engineer factors in a products lifecycle and scalability and communicates this to their team and client
Lol i do this when the pm wants to note me down as "develor lead" on change requests, and i force him to change it to "developer enthusiast" instead lol i aint leading nothing.
I have rotated between countless titles over several decades. What I do hasn't really changed. Currently I'm not even aware what my official title is and when someone asks I usually say something along the lines of I make IT go but in my native language.
A load of the devs at my original dotnet shop are still there, but are now called stuff like “Vice President Regional Director Lord Protector Master Technical Architect”. I suspect they’re all still writing VB.
I like Computer Programmer. No mistaking it. Developers are people who organise houses to be built. Engineers work on trains. Coders encrypt data. No matter what nonsense word salad it says on my email signature, when I'm at a barbecue I say I'm a computer programmer.
Yeah, it’s weird to me as an engineer that when I’m on Lemmy people use that word to mean programmer. Nah, I work in a factory and had to learn thermodynamics
In my mind, the line is that an engineer is someone that can commit a crime by doing their job incompetently. If the only things at risk are your job and your pride, that's a different thing.
"I program all day, so there's a lot of trial and error. My friend is a negligent civil engineer, so there's a lot of error and trial."
It’s always been weird to me as someone who isn’t an engineer in degree or title why those with degrees in engineering think people shouldn’t use an accurately descriptive word like engineer when it’s perfectly appropriate just because it’s a little to close to the title of their licensed profession.
Engineer is a verb, to devise or contrive something. Simply, to design a construct. A programmer by definition engineers a program and is therefore by the rules of the English language, an engineer.
They may not be a Licensed Professional Engineer, but an Engineer they remain.
I usually say "I'm a computer toucher" or "computer programmer" if I don't want to talk about what I do. If I want to flex some nerd cred, and/or boast a little, I'll usually say "I work with machine automation" or "robotics". It tends to get a more curious response and I can talk about some of the weird stuff I've helped make.
I used to work for Cisco (the huge router etc. company) but my mom thought I was working for Sysco (the food services supply company). She was very surprised to learn that I had anything at all to do with computers.
I have always considered myself an engineer because I’m part of a multidisciplinary engineering organization designing a physical product that has embedded software. And “engineer” is the word at the end of my degrees, I guess.
But if somebody called me by any of those terms in the OP I would answer. And if somebody who works on an app or a video game calls themselves an engineer, it wouldn’t raise an eyebrow.
My only conclusion is that we here, who spend our days specifying exactly what we want computers to do, are not so great specifying ourselves exactly.
IMO if they're not an educated Computer Engineer, or at a minimum have a math-focused degree, then calling them Engineers is more than a little generous.
If you iteratively solve problems by learning, building models, and trying hard to break said models until a sufficiently robust one remains - welcome to engineering.
It depends who I'm talking to and where I live. Where I live, engineer is a protected title and requires certification/etc so that takes it out of the race. That leaves the other options. Generally I am a Web Developer to people my age or younger, to people older than me I am usually a Computer Programmer but also sometimes a Developer or Software Developer instead. Realistically, I am a Full Stack Website Developer.
Referring to my job doesn't get any easier even as someone in tech.
Lives ARE on the line. It was faulty software that caused the Boeing 737 Max to crash twice, killing 346 people. Software runs your car, the trains, rockets, literally everything.
At some jobs, I can get away with "Señor Developer" or "Computer Toucher". Those are the nice ones.
Otherwise it tends to be "Senior Software Engineer" that carries the least constricting baggage.
I SWEAR big company middle managers hear "developer" and they can only ever see you as an infant who without guidance would just keep coding some absolute random shit and not think about product, market, customers, integration, or prioritize their own work.
I'm technically an aerospace engineer, but all I do is code most days. I think it depends highly on what you do, since my job also involves doing things not strictly coding related as well, I always slap the engineer title next to it. If you only code, then it's more appropriate to say software dev, or programmer. But, again its highly dependent on your role.
And as other people have mentioned, seems like outside the U.S. the term engineer is a protected title, so my take really only applies within the U.S.
I would say tho, a lot of programmers in the U.S. do get called software engineers. Just depends on where you go I guess.
I don't think what you study in your degree is the defining factor. Obviously this is country-specific but I feel you job title isn't always linked 1:1 to your title.
I studied Industrial Engineering, which in Spain exists as a degree but not as a job position. Position wise, I've been a mechanical design engineer, a manufacturing engineer, an automation engineer, robotics engineer, and these days I'm mostly a software engineer. I'm definitely specialised in engineering, regardless of the tools I'm applying to solve the task at hand.
It’s funny when I’m looking for work and people try to help me find jobs. I’ve been sent jobs for “coder” which turned out to be “medical code entry into EPIC” and architect because they saw another job with “software architect”.
Yes, yes, Engineer is protected in a lot of spaces. Even here. That said the university programme I've attended was to make me into a "Sotware Engineer" not a "Developer". This university is a university for engineers.
Obviously I don't have to requalify every year to remain an Engineer, but saying that I am not an Engineer is factually untrue.
I dont care about names but to be offended because it says Software Engineer on my resume is just dumb.
Also we design a lot of crucial systems. (Such as any RTOS, banking systems and so on and so forth)
Everyone who works on making software is a developer, even people who don’t program at all. people who make art for software work in software development. A “coder” only writes code. It’s more of a task than a job. A software engineer does technical design and probably also codes.
I think typically A, B, C, and F are acceptable to most people. I certainly wouldn't mind any of those descriptions. D feels antiquated. E is too broad. G just sounds like a hobbyist.
Yeah but the programming is done on a computer and then uploaded to that device. It's not specific enough of a term anymore. That's why it feels antiquated. Back in the 80s, most people didn't know enough about computers to know there were differences in different types of programming, and there were fewer types then too. These days you still don't need to be too specific unless you're discussing your role with someone else in the industry but still, if you just say you're a programmer now, pretty much everyone will know you mean it's computer programming.
In Canada the term "Engineer" is a protected title that only registered professional engineers may use. Claiming to be an engineer without such credentials is considered equivalent to claiming to be a doctor of medicine; It constitutes fraud.
That being said, I see all the time employers and employees, seemingly ignorant to this law, post "Software Engineer" in job titles.
Registered professional engineers in the software development space is a rare occurrence.
Actually my title is “Senior Network Architect”. I hate it. I feel like it detracts from real architects, who have licensure and actual training from an actual school.
I hate it as an architect, and I hated it as an “engineer”, for the same reason.
Yes, there’s a lot of complexity and planning, especially at larger scales. But it’s mostly self-taught, some webinars, and a lot of on-the-job (read: trial-by-fire) training.
When it comes to telling computers what to do, I have no idea what to call it. I write Python scripts and Ansible modules, I guess. That doesn’t make me any of those titles though. Some times I poor-mans deamonize my scripts (while true loop) and pack them in a container.
Using some of the same tools doesn’t make me any more of the same title.
software engineer (engineer for short), software developer (dev/developer for short), software designer (although that last one sounds weird). the job is a lot more than programming, depending on your position it can be mostly communication or mostly engineering or mostly something else entirely. maybe even mostly sitting on your ass all day!
I hate that they took away my analyst title. I'm not a software engineer dammit. I don't even have an IDE installed and haven't done any programming in 10+ years.
Serious question, not a native speaker: Why do people in the Anglosphere refer to mostly-software companies as tech companies, or to software developers as tech workers?
Because even in those companies many of the 'computer people' are not software developers. Tech workers is a catch all term for most people at those companies.
I'd prefer senior developer but HR calls me a senior engineer.
I personally believe if you are writing novel IP software you are engineering, if you are just connecting cloud tools or writing basic ETL stuff, that's developing.
Coder isn't a professional title. Software engineer and engineer are very broad of a term, because they can cover alot of work that's not directly coding software. Not all programmers write software code, some just 'program' software that's already written.
So i think developer is the best term for someone that 'develops' and write software code for a living. Or even software developer, those terms are interchangable.
Not only does this meme ignore the fact there's only 4 choices in Who Wants To Be A Millionaire, it doesn't even do an even number of them leaving it annoyingly lopsided
I'd say in English there is more of a difference, in my native language the term is more blurry I'd say, for a random person it just sounds as "computers", and to most people that's all they care about.
From someone who transitioned from operations to development over the course of their admittedly short career, this is a poor mindset. Much like how you shouldn't disrespect a janitor or a nurse, you shouldn't say "gross" about IT work.
IT may not be the reason for the company's existence, but it is what allows it. The company may not exist without you, but you don't exist without IT.
As a Mechanical Engineer, a massive fuck you to everyone who calls software development, programming, or network management a form of "engineering". Do you know how much extra work is now needed to filter out job postings when you're looking for an ACTUAL engineering position?
Ok, not a ton of extra work, but it's still really good damn annoying when 2 out of 3 posts are actually for developers. You guys belong in the T in STEM, not the E. Stay in your fucking lane!
As a mechanical engineer turned software developer, I do consider the task to be fundamentally an engineering task.
It's just that the willingness to forgive ineptitude in software is infinitely greater... So much so that the industry has completely normalized absolute garbage work.
It's engineering, just with systemically terrible engineers.