5 ms·
Meh, a lot of these kinds of articles seem to be written by civil engineers with a chip on their shoulder and defensive about the use of their title. I don't bu
by sho 3y ago
Meh, a lot of these kinds of articles seem to be written by civil engineers with a chip on their shoulder and defensive about the use of their title. I don't buy it. Yeah, we don't have certification and all that kind of stuff yet - because it's too new and no-one really has a final, bulletproof idea of "this is how X should always be done".
But to me, engineers are people who build important stuff, that a lot of people rely on, and for which there will be severe consequences if it is built wrong. A lot of software falls into that category. Words evolve, I don't feel like I'm putting on airs describing what I'm doing as engineering (sometimes!), and hence I don't feel like some kind of pretender describing myself as a software engineer.
Also, there's a quote I love, although I can't name the source: "engineering is about tradeoffs". Well so is software development, all day every day - in fact it's the mark of real experience knowing where, when and why to make those tradeoffs. Sounds like engineering to me.
- airbreather 3y ago"Build important stuff" - to predictable budget, schedule and safety outcomes is the bit you forgot. Dont care anout certification, but when you can "engineer" a solution that takes account those three factors you can call yourself a professional engineer. Certain engineering standards require managed competencies, eg functional safety and equipment for explosive atmospheres, certification is probably the easiest path. Most people who say, "meh but we are engineers because we make stuff" really don't have the first clue how engineers do engineering.
- m00x 3y agolol, predictable budget and timeline. McKinsey’s found that 98%+ of construction projects run ahead of timeline, and 80% run over budget. Software engineers also have those requirements, but we try to keep our estimates to small chunks instead of 5+ years. You're a P.Eng when you can pass your country's certification. That's it, it's just a title.
- vasco 3y agoI took EECS in university. I can work on power systems, electronics, communications, and I'd have a certification from my country's entity that regulates engineering. I can also work on hardware, software and generally programming, but for that side according to people like you I'd just be a dude flinging code around. But I have all the same training in both scenarios. Why would I be "better" at engineering if I'm looking at fiber cables or an AC generator but not python? I learned the same techniques, the same safety practices, the same thinking models.
- bigger_cheese 3y agoI'm a non software engineer so maybe I do have a chip on my shoulder, personally I don't really have a beef with what people call themselves, however I will say the distinguishing factor in my opinion between software and the broader engineering world is liability and the culture that exists around that. I am professionally held liable for any work I perform while calling myself an engineer. There can be potentially very serious consequences if I am found to have been negligent or to have not followed best practices. In most parts of the software world I don't think there exists similar circumstances. I'm not sure if there are agreed industry best practices or certification requirements for most types of software development.
- grodes 3y agoBased on your description a surgeon would also be an engineer. The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population. Having a set of defined rules to follow is not engineering, is safety based on previous experience, most car drivers also do that and they are not engineers.
- belugacat 3y agoSurgeons aren’t engineers, they’re technicians.
- waffleiron 3y agoAnd by your definition musicians and fine art painters are engineers. Maybe we should acknowledge that it’s not as simple to define and that’s why articles like the one posted are writen.
- bigger_cheese 3y ago>Having a set of defined rules to follow is not engineering It is a part of being an engineer, but it is not the entirety of the profession (I'd probably use the word Standards rather than rules). I think the software world has standards to for things like networking etc - does it count as a programmer following a set of rules if he writes networked software? Maybe... >The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population. I don't think this really fits either. Throughout my career I have spent very little time building anything, a large amount of the work is optimizing existing problems/products/processes (this is where tradeoffs the GP mentioned comes in) "How can this be made cheaper, How can it become more efficient, How can it be made lighter etc." If I had to come up with my own definition it would be something like "Engineering is solving technical problems within an applied set of Constraints" - That probably does not apply to a surgeon - but could be applied to software.
- deaddodo 3y agoI sort of agree with this. But I will say, mentally I've always distinguished between an engineer and a programmer. A software engineer builds/architects complex systems in an efficient manner that utilizes a set of standards to do so. Software engineers actually use data structures, complex algorithms and engineering paradigms in their solutions. A programmer does rote/formulaic (sometimes simplistic) work. Installs and customizes Wordpress sites with basic PHP monkeypatching. Cobbles together UIs with UI libraries and prebaked components. Builds COBOL and FORTRAN applications. Etc. It's an arbitrary distinction and slightly biased; but one that I think fits. Both are needed and have places in the careerscape, but their utility is different. Much like a civil engineer and a safety inspector are both necessary, despite only one utilizing "engineering principals".
- deleted 3y ago[deleted]
- IshKebab 3y agoThere's no legal requirements to call yourself a mechanical engineer or an electrical engineer in most of the world. I think the real difference is that the barrier to entry for programming is so low you get the full spectrum of people calling themselves "engineer" but the word has some connotation of "building things properly" which a lot of programmers definitely don't do.
- gyulai 3y ago> important stuff, that a lot of people rely on, and for which there will be severe consequences if it is built wrong. Sure, if you're working on medical devices or software controllers for devices in vehicles or nuclear reactors or whatever, but, as a fraction of the software industry, that's tiny. I don't have hard numbers on this, but you can look at popularity of programming languages as a proxy. Most software "engineers" do JavaScript or Python, two languages you would never ever use for such things. Most software is a form of entertainment with a small amount of usefulness sprinkled in, or doing things that could, in principle, be done with paperwork.
- ghusto 3y agoYes, and I'd like to be referred to as Dr. Ghusto from now on, because all those "real" doctors just have a chip on their shoulder.
- jwestbury 3y agoWorth noting, perhaps: Ian Bogost is definitely not a civil engineer with a chip on his shoulder. He's a video game critic and designer, as well as a professor -- formerly of digital media at Georgia Tech, now of film & media at Washington University's engineering college.
- thunky 3y ago> I don't feel like some kind of pretender describing myself as a software engineer Since it's a controversial word and opinions vary, why not just say "developer" or "programmer" instead? A handyman is also an engineer by your definition, but insisting on that title would probably raise eyebrows too.