I have the words “software engineer” in my job title but I hate it.
We aren’t engineers, we’re a bunch of undisciplined hackers, engineers have standards and ethics.
Programmer is my preferred term, or software developer.
Code monkey is also acceptable.
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.
Yeah, that’s bullshit.
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.
That’s why I said it depends. If a billion dollar company decides to cut costs even more to gain more and more profits, they hire an army of codemonkeys in India and that is what you get.
If you work at a mid sized company interested in sustainable growth, you might get a software engineering position where you are the business daddy and if you say “I won’t deliver that untested” then it won’t be delivered untested.
I’m working at a company in Germany and we are leading in our field. I have one boss and he listens to what I tell him because he doesn’t have a clue about software engineering and that’s what he hired me and my team for.
Look into Agile, servant leadership and new work (the real stuff and not the garbage “hip” companies want to make you believe) if you want to understand.
It’s the old principles that kill companies like Boeing, because they think they can make big profits like it’s 1984 solely by pumping money into an army of wage slaves.
I might object, but I can’t stop it
I’d argue that if you seriously consider yourself a software engineer, and you take the “engineer” part seriously, you should be quitting and blowing the whistle if that happens. If you just go along with it, then sure, you’re not an engineer.