laras126/front-end-discourse

The term 'engineer' is not appropriate for a web developer

laras126 opened this issue · 10 comments

The term 'engineer' is not appropriate for a web developer

It's also not appropriate for a vast majority of developers (front-end or back-end). Most developers don't do any real engineering so much as they string together a bunch of other tools that have been engineered to accomplish the tasks they want to do. I say this as a person who used to insist, falsely, that I'm a software engineer. I can count on one hand the number of times I've ever really engineered anything.

IMO this is a Gif/jif debate. Some people care a LOT about it but in practice they’re basically the same. I’ve never seen a company that makes a distinction between the two (has both developer and engineer as distinct roles)

@robwierzbowski I used to brush it off as a gif/jif debate, but I can actually understand the argument that it really isn't engineering. It's kind of an insult to the other engineering disciplines to call all software devs an engineer, they typically aren't engineering. Engineering as a discipline is pretty rigorous and there are hoops to jump through to quality for the title of professional engineer (PE). Until then, assuming you've qualified, you're typically an engineer in training (EIT). We don't really have an equivalent in software (and maybe we should?).

Ha, that’s exactly what I mean 🙂. People have strong opinions whether it’s “right”, but practically, has it ever mattered when looking for a job?

Within the industry my experience has been the two terms are interchangeable for all practical purposes. Thougts?

@robwierzbowski True, for job-purposes the terms are used interchangeably. I was just addressing the initial question posed on whether or not it was appropriate. I think the "software engineer" title rose from the general pompous attitude of people in tech, that we "engineer" so much we "deserve" the title.

@robwierzbowski @x2adrew I think there is a distinction - I've been seeing a lot of "Front-end Software Engineer" roles which sound very different to me than "Front-end Developer". It comes off exclusionary and elitist (to me, a UI developer type) unless it's actually meant to describe a Front-end Ops sort of role that is more managing testing ecosystems, handling build and deployment processes, etc. A role that would not require knowledge of Flexbox, Sass color functions, accessibility, or the like.

So, maybe the question is: is there some kind of position that those using the term "Engineer" are trying to get at? Something that is a little more dev-ops-y?

From Google to Amazon to Facebook, Apple, whatever-big-fancy-corp -- they like to use the term "engineer" and certainly do have pretty formalized technical requirements. I think nearly all other companies (especially startups) are just trying to emulate the bigger corps. Again, I think a vast majority ( >99.9%) don't actually engineer anything and like the title because it elevates the importance of the role. By and large, we're all really just developers who want to make our resumes look impressive.

The scuttlebutt I heard was that "engineer" was a title coined by Google to make employees feel special. It has since disseminate throughout tech culture.

I recommend Programmer. It accurately describes the what I do day-to-day. I think this title got a nerdy stigma in the 90's that led to it falling out of favor. But we can bring it back.

The big difference I see has to deal with time and commitment. Programmers can build and tear down their work easily. Some programmers lasts for decades (systems running nuclear power plants). But most programming has a short shelf life. The most high-profile phones & OS's have a yearly major release schedule.

My brother is a civil engineer. The stuff he helps build has to last for decades. Most of the job is planning. There are blueprints. There are public town hall meetings. And at the end there is a physical output that has to withstand an unknown future.

Both engineering and programming are worthy occupations. Rather than adopting the guise of engineers, programmers should take pride in their work and place in the world by using their own unique name.

I've never felt that engineer is really a good term for most software development. The focus on speed doesn't really lend itself to the same sort of constraints that physical engineers have. If I can build and tweak something endlessly, it wasn't so much engineered as it was iterated, and if it ends up working well, there tends to be much less of a deliberate method or design as much as just patching pain points.

That said, I don't think programmer is a good title to use. In fact, I've always liked the advice that you shouldn't call yourself a programmer at all. Developer seems to not give the same "code monkey" mental image as programmer, and lets you defined yourself based upon your actual accomplishments and work rather than a title.