Re Engineer controversy: When building a house, the job of an architects is the overall conception with focus on aesthetics, engineers decide which building blocks an materials best to use where (including considerations such as longevity, maintainability, environmental influences, but the focus here is on the materials), then finally craftsmen assemble and put the blocks together the house. In software, programmers often do all these task, sometimes at the same time. It depends a little on the individual programmer whether the title "engineer" is fitting but a lot actually do software engineering as in picking the best technologies to use and designing their interactions according to some kind of over-all design and environment. At least that's my opinion. They apply the scientific method to solve real word problems. Finding bugs or figuring out why your program doesn't work is a lot like failure analysis in conventional engineering fields. Testing and automated tests are like modelling. And CI/CD is a bit like process optimization in production.
@nesuburakАй бұрын
Thank you for sharing this talk is awesome.
@opemipoogunkola74054 жыл бұрын
Really enjoyed this talk. Thanks!
@alexgf276 жыл бұрын
Great talk! change my view of software engineering
@Chemaclass2 жыл бұрын
Great talk. Thank you!
@koredeaderele16664 жыл бұрын
"we need to look for low-cost-high-impact processes, instead of just 'the right way to do things'"
@MarcusIlgner8 ай бұрын
Unfortunately, the right solution - stopping to use unsafe languages and mutable state - are all but low cost because very few people are accustomed to working that way and would need a lot of training 😬
@a0um8 ай бұрын
13:25 that’s refreshing to hear
@AlwynSchoeman4 жыл бұрын
Engineering is not defined by just its processes but more by the application of applied science. As an engineer by qualification, but software developer by experience, I claim that engineers apply science at a deep and comprehensive level every time they create something, where as 'almost all' software developers don't apply any science at all when they write programs but just follow patterns while in many cases not understanding the underlying principles of what they are doing. An engineer would not be very successful if they followed that recipe. Fields like electronic engineering is also very much iterative akin to agile. Engineering is too wide to generalize.
@billgillette28594 жыл бұрын
Software people without engineering degrees. Just.Don't. Get. It. I'm a licensed engineer and would get fined by the board if I had 'engineer' on my biz card without that license but software 'engineers' break that law every day with impunity. Do you know why? Because the board realizes the kind of engineering in their title is about the same as the way a railroad engineer uses his. It's not the same as an 'engineer', the ones with 'engineering' degrees etc.
@manolete3409 ай бұрын
AFAIK engineers use at most trigonometry and algebra on a daily with calculus being used only 1% of their times during their careers. Anyone can go on quora and figure that out. The rest of the time is spent designing on AUTOCAD. Which simulates physical constraints. So yes what engineers do is very similar to what software developers do and the math is not that important. However there’s no physics in software but who cares? I heard from one of the best electrical engineering students that the math was just a status symbol. If we regard processes this guy is spot on. And we also apply science. We apply the principles of computer science which is the formal science of what can be computed with what algorithms and how efficiently with the difference being that software engineering is about building a real product whose modules have a rate of interdependence orders of magnitude larger than the parts of an airplane. Anyone claiming it’s not engineering is a physics or chemistry supremacist. Quite ridiculous in my opinion.
@MarcusIlgner8 ай бұрын
What I find especially interesting: most of the time I nowadays see actual (electrical or industrial) engineers writing code, they are using unsafe languages (Python) with a lot of mutable state 😅
@zahirjacobs7165 жыл бұрын
very academic
@KulaGGin2 жыл бұрын
12:24 _"Both sides of the argument we're having today generally accept that the rational model accurately describes the engineering ideal"._ No, I do not see the rational model as an engineering ideal. Stuff like Kent Beck's Extreme Programming and Uncle Bob's Agile are the things closer to engineering ideals. The first time I heard about the rational engineering process - the waterfall, I thought "This is some pepega shit", not "omg this is the ideal engineering".
@billgillette28594 жыл бұрын
It's incredibly interesting to see logical fallacies like 'begging the question' and circular reasoning in an attempt to prove that software development is engineering. You can make any argument if you tweak it enough. It's amazing to see the speaker use real world engineering examples with physical examples in an attempt to draw analogies. Well, analogies don't make it so. Engineering always has been and always will be 'Applied Science' interacting with the physical world. Which wipes out most of the things that software development is about because there is no physical science interaction or use going on. Engineering is not just a process, it's not just optimization, it's not just creative work. It's a process. It's optimization, but it is ALWAYS having to do with physical laws and constraints and engineers are versed in all of these. All engineers have to have a little of each of the disciplines including coding and programming, but to say that a coder, a programmer, or someone good at systems of coding and programming can just bypass the traditional multi discipline engineering degree and take the title of engineer is the height of arrogance and dishonesty. The quote near the beginning by the software guru that "calling what we do "engineering" does not make us engineers, it makes us liars", is a truism. You guys are important. Maybe more important than engineers, but it's telling that you still want to appropriate an entirely different profession so as to make yourselves look somehow more prestigious. It's also a slap in the face, no, spitting in the face, of the people that ARE engineers, with their almost organic knowledge of the entire physical world put into every engineered solution. That is not done with software unless it is also tied into that physical world. A person that codes or structures a video game or financial app....that's not engineering. A person that makes software to manage complex systems on an aircraft and keep that damned thing in the air: That is engineering. Because that person has to understand fluid mechanics, hydraulics, control feedback loops, aeronautics, physics. A guy who gets a comp sci degree and goes to work for google making new ways to monitor and market and move data: Not an engineer. Most programmers and developers do not deserve the title of software engineer. The ONLY people who should take that title are those with the software engineering degree which entails true engineering courses in the physical sciences and application of software to real world systems. "When everyone is super, no one will be"
@matthieucneude57613 жыл бұрын
Engineering is about people too, not only physical laws. People are part of the real world. In that sense, software engineering deal with the real world, and therefore is engineering. The world is changing: degrees and other constructs are only there to guarantee some level of theoretical knowledge. You can now go on Internet, have access to the best courses of MIT, and not having a degree at the end. Is the result the same? With enough serious and rigor, I believe it can even be better. I believe as well the status of engineering is overstated. It's purely cultural. I think a builder has, at many levels, way more merit than an engineer.
@billgillette28593 жыл бұрын
@@matthieucneude5761 please see my comment about logical fallacies again..... Circular reasoning, non sequiturs
@con-f-use2 жыл бұрын
Of course programmers apply a branch of science. Computer science can be argued to be a branch of mathematics and computers themselves are a product of electrical engineering. Especially for those of us, who program close to hardware it is very beneficial to have a working knowledge of electrical engineering and electronics. Have you seen books on floating point arithmetic, discrete math, complexity theory and so on? Computer scientists read them and have tests on them. They apply the scientific method to solve problem and design software, that effects the physical world. Sure a programmer depending on the specific job, could also be validly called a craftsman, a writer or an architect instead of an engineer. But programming often is applied science, and many electrical engineers, I've met, have compared it to "advanced lego" rather than engineering, and said they never integrated a function by hand after they graduated. You'd still call them engineers.
@billgillette28592 жыл бұрын
@@con-f-use you are doing illogicalbackflips. You guys really want that engineering title bad don't you?
@con-f-use2 жыл бұрын
@@billgillette2859 I don't really care, my degree is actually in physics. But I know enough about the software industry and comp. sci. to stand by my words.