Software Engineers that just write CRUD apps, Software Architects who just read docs, Systems Engineers who just follow guides, Support Engineers who just answer phone calls and tickets, etc.
Title inflation has been creeping up for many years. It's everywhere.
That being said, as someone with a software engineering degree, I can safely say that most companies don't need engineers and can get by just fine with programmers. Anyway, in this industry there are many architects working as handymen and vice versa.
Probably not, unless they used to actually do construction before becoming an architect.
> Can an architect actually put the pieces together?
Unclear what this means, but architects have plenty of training in doing "manual work". Building models requires a lot more precision than most things in construction.
> Do they know where to source materials?
That's part of their job description.
> Do they understand how to order and schedule the construction of a design?
Definitely part of their job description.
I have about a half-dozen friends as architects in the US, and only 1 of them could do any of the things I mentioned. All have been practising residential and commercial and government architects for > 30 years.
An "engineer" is someone who works in a technical profession with a governing body. Either the State, or an entity that might as well be the State.
An engineer is certified by that governing body, and given a license to practice the profession. An engineer can have their license suspended or rescinded, in the event of professional misconduct or malpractice.
Whether through law, or de facto through insurance company practices, employers face liability if they employ non-licensed engineers. So an engineer is someone who has the leverage to push back against employer pressure to commit malpractice.
Computer programmers / software developers have none of these things. Certifications are a joke, and meaningless beyond the entry level. We are pressured by employers to commit malpractice on a near-daily basis, and call it "tech debt" (management at my current company is pushing the even more euphemistic term "tech improvement opportunities").
Without a governing body and licensing, it is impossible for us to be "engineers" in any real sense of the professional term. With respect to Margaret Hamilton, we can only try to emulate an engineering profession as best we can, by evangelizing professional standards and pushing back on malpractice pressure where we can.
That's a bold statement.
Would you argue, for instance, that someone graduating from MIT EECS[0] or Stanford Engineering[1] isn't qualified to use the tittle of Engineer?
> An engineer is certified by that governing body, and given a license to practice the profession. An engineer can have their license suspended or rescinded, in the event of professional misconduct or malpractice.
I think you are confused with the PE regulations. [2]
[1] https://engineering.stanford.edu/students-academics/academic...
Note that even on your own Stanford and MIT links above, they reserve the term "engineering" for programs OTHER THAN "Computer Science" (e.g. "Chemical Engineering", "Electrical Engineering", etc). Show me a "Software Engineering" program at any accredited university.
There's no confusion, I am 100% talking about PE regulations. One requires a license to practice chemical engineering, electrical engineering, mechanical engineering, all but the most entry-level roles in aerospace engineering, etc. Employers effectively cannot hire non-licensed workers for those positions.
If that does not apply to your job, then you are an "engineer" only in the sense of LinkedIn puffery.
Mind you, this applies to all us (myself included) in the software development field. I'm not trying to be a gatekeeper. Rather, the complete absence of gatekeeping is the entire point here.
0: https://asuonline.asu.edu/online-degree-programs/undergradua...
I agree that the profession of "software engineering" could stand to have much more of the rigor of engineering. For example, it's painfully missing a sense of ethics about large scale surveillance systems. But your argument is biting off way too much.
I'd like to hear some opinions from people who have worked as both "an engineer" and "a software engineer" (maybe OP is such a person, idk) -- what kind of corner-cutting is there in (non-software) engineering fields? Is it at all comparable to tech debt? What kind of compromises in quality/design are made in the service of profit or career advancement? etc.
I think a lot of people end up with an impression that in e.g. civil engineering, everything is perfect and precise and elegant because it has to be (otherwise crumbling infrastructure, accidents, etc.). But understanding that humans in general are always looking to cut corners and be lazy, I wonder how realistic that impression really is... Wouldn't be surprised to hear about comical inefficiencies and poor practices that have become normalized over decades of designing/building physical stuff.
I did, as well as other courses on non-obvious adjacent topics. Not everyone knows the breadth of concerns that engineering brings to solving problems. It’s not as simple as a technical design.
Now, I see plenty of software people who use the same broad set of skills in problem solving, but it’s rare. It’s rare to see software people care about economics. Social impact is also a rare concern. As is governability. As is systemic thinking.
But, there are absolutely software engineers, just not as many as there are people with the title IMHO.
https://ij.org/press-release/oregon-engineer-wins-traffic-li...
The full court opinion (https://ij.org/wp-content/uploads/2017/04/Jarlstorm-opinion....) is a pretty good read if you're bored sometime.
That is what a programmer or developer does. Engineering implies a lot more than just cobbling together code blocks and libraries. Yet, that's what 99% of Software Engineers spend their days doing.
It would be akin to going out to a construction site and finding people doing rough-ins and roofing with Engineering titles. That is where the software world is currently - "Engineers" in the field doing rough-ins and roofing.
Ah, yes. There is the crux of the issue, isn't it?
People called themselves Engineers to advance their careers artificially (sounds really nice and impressive, etc).
Now, everyone is an Engineer, making the Engineer word have significantly less meaning. Today, a Software Engineer is largely a Software Developer of 10 years ago.
Just like economic inflation - title inflation devalues titles, which causes people to inflate their own titles further to stand out once again - which becomes a negative feedback loop.
He actually interviewed a number of people who transitioned from a licensed engineering discipline to software, and asked them how they felt about software as an engineering discipline. His insights are a lot more useful than the arguments between only-ever-software people on HN who have inflated perceptions of what "real" engineers do.
The whole series is worth a read, but here's the short version:
> Instead of asking how they felt about certain engineering topics, I just asked them point blank. “Do you consider software engineering actually engineering?”
> Of the 17 crossovers I talked to, 15 said yes.
> That’s not the answer I expected going in. I assumed we weren’t engineers, that we’re actually very far from being engineers. But then again, I was never a “real” engineer. I don’t know what it’s like to be a “real” engineer, and so can’t compare software engineering to other forms. I don’t have the experience. These people did, and they considered software engineering real engineering.
[0] https://www.hillelwayne.com/post/are-we-really-engineers/
Just today we looked at a performance problem. CPU/memory usage, DB queries, indexes and joins, size of data, frequency of requests, redundant work, caching, different parts slowing down others...
These things are so ingrained that I don’t think of then as applying math. In my inner eye I see pictures moving around. It’s all familiar and obvious. But thinking about it, there’s always math behind it all in some way. We don’t express it as such but it’s still there.
It’s not engineering but it’s engaging, good work.
I get what you’re trying to say. But it feels wrong to me personally to describe this work as you did.
I was a consultant at a big engineering organization. They used to huff and puff about the integrity of engineering process etc. but all of the work was done by “engineering technicians“ for 40% of the pay.
I don't understand your rant, but I do agree that the job titles are probably inappropriate. I've had all kinds of titles to describe what I do and don't really care as long as I get paid to enjoy solving problems.
I also think it's absurd to believe only engineers can understand their own work... wouldn't that just be bad engineering?
But did they graduate from Engineering school?
https://engineerscanada.ca/news-and-events/news/who-can-use-...
So "of course" a software engineer is a contradiction is terms (as an electrical engineer said here). How can one be a engineer if you didn't go to an engineering college? It doesn't matter if a engineer's career consisted of selling ice creams, that person is a poor engineer and thats that.
I actually met a "engineer" friend of my parents who designed the major parts of a traffic roundabout near my home. It is the worst designed roundabout I've seen and there is at least one car crash per day there. Every now and then people end up in ER. We chatted for a short bit, and touched on those crash reports. He just said dismissively: "people should just drive better". So that's engineering for you.
I’m good but I’m nowhere near that good. Title inflation is silly and ten years in, I’m done paying attention to them at all. They tell me nothing.
(Staff) titling with a 4+ years of experience ask is incredibly confusing to me.
I wasn't a jerk about it in the interview, but I said something to the effect of "I know titles are different at all other companies, but here the expectations for PEs is that they're tasked on the most critical technical initiatives and are held to high standards for execution. You're also going to be expected to mentor not just Junior technical staff, but also mid and senior level engineers. Does this sound like a role you're interested in? It's fairly demanding."
Guy didn't flinch and said "Yeah, that's exactly what I'm looking for!" :|
(We did not hire)
From the candidate side, the only way to differentiate between "senior" "staff" "principle" "lead" or whatever between companies is the required years of experience on the job listing. Which is a terrible metric, but it's more informative than the title or job duties.
Sure, he is not the norm. But I'm sure there are plenty of people equally as talented as him who didn't take the entrepreneurship route and are now languishing in the corporate ladder. Any company can achieve wild success if they are able to identify such talents and place them immediately in high-impact roles.
It would be a matter of principle to point that out.
Essentially, it’s easier to make tons of exceptions than to fix the root cause.
But now imagine I'm full of myself with my new "Director" title, and go out to interview for real director-level jobs. Man, the previous company would have done me no favors as I go out there and get absolutely slaughtered in interviews.
I think next step is to adjust time for some people so they think you have lived 100 years while they actually just lived 30.
Only half joking
If you have a SWE that you're worried about losing you can't just keep them in the same job title and give them a big raise. You have to give them a manager, senior manager, or director title in order to get them into the pay-band you need them to be in. So it really isn't about making the employee feel good about the title they have. It's about getting them into the right pay band.