10 ms·
It's worth noting that "engineer" itself is a bit of title inflation. "Software engineer" was supposed to involve training people to apply engineering methodolo
by AdamH12113 4y ago
It's worth noting that "engineer" itself is a bit of title inflation. "Software engineer" was supposed to involve training people to apply engineering methodologies to software development. Today it's just a fancy term for "programmer".
- nerdwaller 4y agoCan you define what a "programmer" is?
- codetrotter 4y agoA programmer is a person who writes program code. A software engineer applies engineering principles when designing and/or implementing programs. A computer scientist uses scientific methods and rigor when solving problems relating to computing.
- thriftwy 4y agoSoftware does not work like that. If I would to meet somebody who claims to apply engineering principles or, worse, scientific method, I will make sure to be on top of their PRs at all times.
- SlickNixon 4y agoWhy I always make a point to mention my preferred methods for determining architecture--bird signs, and throwing the bones.
- newaccount74 4y agoIt does. We are just not used to looking at it like this. For example, if you are changing labels or adding buttons to a web app according to detailed instructions from a manager, then I would call that "programming". If you are implementing an OAuth flow, or designing an API for some service, and doing so according to the current state of the art, you are "engineering". If you develop a novel algorithm to solve a specific class of problems, you are "computer sciencing". Obviously, there is some overlap between the tasks, and people will switch between the different parts depending on the stage of the project, but I don't think the titles can be chosen randomly.
- dr_dshiv 4y agoGoogle snippets aren’t helping me in my search for general principles of engineering. Any certified engineers care to share? Or someone want to ask chatGPT to confabulate some?
- batiudrami 4y agoThe core thing that I think differentiates software engineering and programming is accountability for the quality and ethics of what you design. If an engineer designs and signs off on something, they are legally accountable for if it. There is mandatory ethics training at university and people refuse to sign off on work they don’t understand or aren’t confident in. Engineering assurance and management of change processes are the opposite of “move fast and break things”. As far as I can see there is no ethical accountability for the programmers at big tech companies. People are happy to pocket the crazy salaries and claim their managers or execs should be blamed for the damaging outcomes of their work.
- biztos 4y agoSo the hordes of Electrical Engineers slaving away at Apple and Intel and all the rest — these people, and not their bosses, have legal accountability for every harebrained thing they are required to implement?
- batiudrami 4y agoYes. If they designed something they knew was unsafe, or they were negligent in their design, or they misrepresented their competency I would expect them to be accountable for their actions as a professional electrical engineer.
- michaelt 4y agoThe idea is drawn from things like structural engineers signing off bridges - where there's probably only one on a project, and if they won't sign off the design, neither will any other structural engineer. I doubt it'll ever get adopted in the software industry, because we have many competent people doing good work without a software engineering degree, and degrees of low enough quality employers do whiteboard coding tests at interview, so there's not really a notion of a 'properly qualified' programmer.
- deleted 4y ago[deleted]
- cosmojg 4y agoSomeone who programs. Less tautologically, someone who uses a computer to do something that takes computerless humans, say, O(nx) time and completes the task in significantly less than O(nx) time. As for who I'd want to hire? Probably just the programmers who can do it correctly faster than most. Whether they're writing Python or hacking spreadsheets, they are programming a computer, and therefore, they are a programmer.
- resonious 4y agoYeah, I admit I'm a sucker for the "engineer" title but what I do makes me feel more like a tradesman then an engineer. At the same time, I remember last year someone interviewed a bunch of non-software engineers who later got into software [1]. A good number of these folks actually do feel like software is still engineering. [1] https://www.hillelwayne.com/post/are-we-really-engineers/ https://www.hillelwayne.com/post/are-we-really-engineers/
- ZephyrBlu 4y agoI have friends who are traditional engineers, and in a lot of ways software development is far more rigorous. They rarely have reviews, don't have tests, rarely do something equivalent to pair programming etc. The flip side is that traditional engineering is generally easier to reason about and with a lot of experience you can tell if something is wrong. Doesn't apply so much in software.
- checkyoursudo 4y agoWould you mind sharing what kind of engineering your friends do where they don't do any testing? I would like to avoid these products/roads/buildings/etc. Thanks.
- ZephyrBlu 4y agoWhat kind of testing do you think I mean? There are building codes and inspections, but I couldn't call those "testing". E: no testing might be an overstatement, but I think it's closer to no tests than an abundance of tests. Engineers tend to not get their hands dirty, which basically leaves computer simulations. You can tick all the boxes and still do a shit job that either doesn't meet requirements or fails. It happens more often than you might think.
- benhurmarcel 4y agoIn most engineering domains, testing is a proper specialty. So design engineers don't do the testing themselves and get "their hands dirty", but testing does happen. I've been working on airliner design and have ordered, specified, and reviewed a fair number of mechanical tests. Yet I've never actually built and ran the test rig myself, it's a full time job for specialists.
- art0rz 4y agoIIRC in my country (The Netherlands), "engineer" is a protected title like "lawyer". It requires special officially recognized training.
- dual_dingo 4y agoYeah, same in germany. Being an "Ingenieur" requires an academic degree (and studying computer science doesn't grant you the title of "Ingenieur" anyway...)
- jaclaz 4y agoI remember (many years ago, so it may be obsolete info) that there was some difference with a "Diplom Ingenieur", or at least I knew a few german Civil Engineers that took some pride in the "Diplom" part.
- LAC-Tech 4y agoDo people still use "Entwickler" in Germany, or are job titles all pretty much Denglish now?
- dual_dingo 4y agoIt's still used quite a lot.
- ben_w 4y agoEntwickler is pretty common in Berlin, but I've not quantified it as a percentage as I'm definitely not close to C1 standard even now, and have always skipped such adverts in the past: https://www.stepstone.de/jobs/entwickler/in-berlin https://www.stepstone.de/jobs/entwickler/in-berlin And Berlin is (I'm told by everyone here) much more English language than anywhere else in Germany.
- ChuckNorris89 4y agoDepends on the company and jobs platform. For conservative big names engineering like Bosch, Simenns or traditional mittlestand companies that mostly operate with German customers, yes they still use it. Xing is full of German only job ads. But for software only companies operating international looking to attract foreign talent off LinkeIn, no, it's all English.
- Antoninus 4y agoAgreed, when I was at SAP a in the late 2000's we were all developers (SD1), no senior or juniors too.
- charcircuit 4y ago>Today it's just a fancy term for "programmer". That's like saying an electrical engineer is just a fancy name for a PCB designer. A mechanical engineer is just a fancy name for someone that uses solid works. An optics engineer is just a fancy name for someone who plays with light simulators. You can't just trivialize what people are doing and then call it not engineering.
- AdamH12113 4y agoI don't mean to trivialize the work that programmers do. (Okay, maybe the ones who just copy and paste from Stack Overflow all day.) I'm an electronics engineer, but I've spent most of my professional life programming. It's legitimate technical work. But not all technical work is engineering. Would you call a programmer a mathematician just because computer science is a branch of mathematics?
- JetSetIlly 4y agoPeople who write the software that controls a nuclear reactor are definitely applying engineering principles (If they're not, then the world has a problem). Does that make them engineers? I would argue it does. The problem with the programming profession is that it's possible to get away with not applying good engineering principles. It's only in domains like the nuclear industry, or the military (fighter planes etc.) where we can really imagine the consequences of buggy software. Software Engineer is a title that reminds of how we should be approaching the programming problem.
- AdamH12113 4y agoI agree, things like nuclear reactor controls are areas where actual software engineering is (or should be) applied.
- grumple 4y ago> Okay, maybe the ones who just copy and paste from Stack Overflow all day.) Aka the most junior of juniors? Let's not pretend that will actually produce a working code meeting any real requirements.
- ilyt 4y agoUh, no. IIRC it came from apollo program where they wanted their software people to be treated at same level as hardware engineers
- scyzoryk_xyz 4y agoOver on the other side of the iron curtain “engineer” was/is a title that is earned formally in college. Being an engineer in this culture means something more than a job title. I can see though how this would be an issue - in my experience there is a significant difference in quality between developers who just learned how to program on their own, and the developers who hold that engineering degree.
- Thetawaves 4y agoThe autodidacts produce far better code in my experience.
- scyzoryk_xyz 4y agoAs a non-engineer I will take this as encouragement. From what I've seen around me, the ones holding the engineering titles simply are more methodical in how they search for a pattern or key to how something works. They will have a better vocabulary to explain themselves too. But maybe they aren't as good in thinking outside the box? Kind of like how someone who has completed a formal philosophical education will usually be better figuring out the ins and outs of a particular text but not necessarily will have what it takes to come up with their own? Not sure - I'm a humanities kind of guy who works with engineers.
- 908B64B197 4y agoNot to discourage you, but I've also observed the same pattern of autodidacts being better than traditional engineers... at least for those who stay in tech. I've seen a lot of self-taught developers or bootcamp grads switch industry or try to move to "tech-adjacent" roles. Making it as an individual contributor is, in my experience, pretty rare.
- denton-scratch 4y agoI have always referred to my trade as "programmer". I'm not a trained engineer. My title-inflation path was something like this: - Sales Support Analyst - Sales Support Specialist - Senior Support Analyst - Software Engineer - Senior Developer I have nothing against the professionalisation of programming; it would be a good thing. But the fact remains that the great majority of programmers are not engineers. We are tradesmen, a bit like plumbers or domestic electricians. There's nothing to be ashamed of in being a skilled tradesman; for a good part of my career, a plumber earned more than I did.
- bena 4y agoOver the years I've found "software developer" feels the best. It works as a rough description, it doesn't step on the toes of engineering disciplines, it's distinct from other areas of IT like systems administration or networking.
- theandrewbailey 4y ago> I have always referred to my trade as "programmer". Same. Today, when someone asks what my job is, I say: 'I program internet shopping sites.' It's so simple that even grandmas understand it.
- chinchilla2020 4y agoEngineer is a protected designation in other trades. Especially civil and structural engineering. It requires some pretty heavy testing, a few years of apprenticeship, project reviews by mentors, recommendation letters, and a few other hoops. Software is so much more broad than the physical sciences that I cannot imagine a way to generalize a pathway for software engineers.
- tabtab 4y agoThere's very little objective about "software engineering" beyond fitting the specification and not running too slow. Almost every "rule" can be challenged, as it makes assumptions about the human brain, which is not well understood.
- grecy 4y agoI studied a bachelor of software engineering and am accredited by the Australian institute of engineers. We do exist.
- 908B64B197 4y agoStill is. The French got that right. To me the term "Engineer" means that someone holds an Engineering degree. And that degree allows me to make certain assumptions about what the Engineer knows. For instance, I expect anyone holding such a degree (wherever they studied) and claiming to be a software engineer to have: - A solid background in mathematics, at least applied. - A solid background in Computer Science (algorithm, data-structures, discreet math) - A solid background in Applied Computer Science (networking, operating system, build system, electronics, databases). I expect them to have built a few non-trivial projects. - A knowledge of project management (what's a Gant chart, waterfall, agile methodologies) and economics (able to read financial statements and understand basic accounting and corporate structure) not CFA level of course. - Communication abilities (I expect them to have written papers and technical reports as part of their degree). Two out of these five elements are domain-specific; the rest is universal across engineering disciplines. Note that you don't need an engineering degree to know all that; John Carmack would tick all these boxes. But he's an exception.