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".
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.
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 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.
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".
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.
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.
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
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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
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.
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!