3 ms·
It is. It shows very clearly why most software devs are not engineers. I know I'm not. As a field, we don't "optimize within a solution space bounded by const
by NateEag 5y ago
It is.
It shows very clearly why most software devs are not engineers. I know I'm not.
As a field, we don't "optimize within a solution space bounded by constraints".
We throw crap at the wall to see what sticks, hacking up something like what the users said they wanted, then changing it all to do what they ask for once they start using it.
It's normally done as a craft where we're using fuzzy human instincts to get to a good-enough solution and move on.
And for systems where lives aren't on the line, nor millions of dollars every five minutes (financial trading, massive server farms at Google, etc), that is actually the correct tradeoff. Engineering is overkill for most software.
NASA needs software engineers. Microsoft doesn't.
- thinkagainbro 5y agoExactly. Public safety is central to Engineering practice. Bridges and buildings come to mind but many life-critical software projects in aerospace, medical devices, automotive, also have emphasis on safety. The development process is way more controlled in embedded industries compared to web/IT/enterprise. Even Google and financial services are really just services that scaled and acquired a massive userbase. “Software Engineering” is really just an application of civil engineering project management to programming projects. The job title of software engineer is used too liberally however.
- kqr 5y agoBut what is numerical optimisation if not throwing crap at the wall to see what sticks? Do you only count analytical optimisation as optimisation?
- NateEag 5y agoThat's a good question. To me, the difference is that when we're writing software and just trying semi-random UX ideas and implementation approaches out, we don't have any real constraints that we're genuinely bounded to. So, yes - throwing crap afu the wall is an optimization process. It's the other half of the above definition that it misses, IMO.
- NateEag 5y ago...crap at the wall, sorry. I'm not great at typing on my smartphone.
- iamstupidsimple 5y agoMicrosoft definitely needs software engineers. Privacy and security of users is on the line, even if they literally aren't going to die, lives can easily be ruined by a data leak from the wrong company.
- NateEag 5y agoYes, that's a good point and I overstated. Microsoft needs a _few_ software engineers. Most of their developers won't be and shouldn't be, though. Conversely, NASA will have plenty of software systems that have nothing to do with spaceflight, like their website. They shouldn't be paying software engineers to engineer those systems, but rather software developers to build and maintain them.