Maybe I'm reading this wrong, but you're saying that you're failing to find people who are ready to work on day one without additional training?
261 karma · joined March 28, 2014
Maybe I'm reading this wrong, but you're saying that you're failing to find people who are ready to work on day one without additional training?
Why would they when there's no meaningful difference in pay between postdoc positions? What would happen if they tried to negotiate for something approaching an industry equivalent salary/benefits?
On the research side, off the top of my head you've got grant administrators, institute review boards, research integrity office, postdoc affairs. You've also got "Title IX administrators". Accepting federal funding takes a lot of work.
The worthiness of the services the bureaucrats are providing I leave as an exercise to the reader, but I think it's problematic that the people making the regulations are not the ones paying the bills when it comes time to comply with the regulations.
I was under the impression that SEI has a pretty good reputation among people working on safety-critical systems like aerospace, automotive, and the DoD. Of the two authors with visible profiles, one led "software development projects and software process improvement efforts for the E-2C Hawkeye Program", and the other was "developing and maintaining nuclear engineering and scientific software for 14 years" before coming to SEI. I don't see that there's much basis to say that they are uninformed on software engineering.
> First, I reject the premise that software is poor quality when compared to other engineering disciplines.
If we're talking software on safety-critical systems, that may be true. I think NASA is a great example of software assurance done right. Outside of the SC area, I don't see how you can come to that conclusion: take the perceived decline in Apple's software quality as one example.
> The space shuttle, commonly referred to as the most complex machine ever built, has around 2.5 million parts. The Linux kernel alone has over 16 million source lines of code. It's an order of magnitude more complex than the SPACE SHUTTLE!.
I think this is a nonsensical comparison, but if you want to go with it, consider that each of the Space Shuttle parts has multiple steps going into it's creation. It'd be slightly more fair to say that the Space Shuttle has 2.5 million functions and compare that to the Linux kernel, but it remains a nonsensical comparison.
>Anyone who's ever done software development, will tell you that the order for these is something like: 2b, 2a, 2b, 2d, 2c, oh - someone's asking for sizings, better do some 1 - 2d, 2c, 2d, 2b, 2a, 2d...
Anyone who's done work in a regulated environment will tell you that while your suggested process may happen in the conception stage for preliminary testing, once you're under design control you follow formally documented procedures in the order that they are specified.
> There's got to be a better way to codify what we actually do when we develop good software. Not what we think we do, or wish we did, or claim we do to sound impressive.
Plenty of groups work in this area besides SEI: ASQ, IEEE-CS, ACM, &c. Did you have something specific in mind?
As others are saying, I think you're misjudging the target audience for this document, which I would say is Software Engineers (as in the type that would have PE licensure or work in regulated industries). When you have a defined acceptable defect rate and need to deliver on schedule with proper documentation, then things like PSP, CMMI, &c. do work. It's overkill for a web app. That said, I think adopting some of the rigor and professionalism in Software Engineering as typified by regulated industries would be an overall improvement to software development as it is generally practiced.
I don't think it's limited to science reporting. The more I learn, the easier is is to see the numerous errors made by journalists across all areas. Take Vox, it's an older link but they have been criticized for poor accuracy in reporting (and failing to prominently note corrections).[1]
The Royal Society has it right with their motto, nullius in verba: the news media, much like Wikipedia, is not a reliable source for facts.
[1]: http://theconcourse.deadspin.com/46-times-vox-totally-fucked...
A more practical problem with alternative materials is that they can't be resized (some jewelers will resize Ti a little, but it's challenging). The alternative materials are cheap enough that you can buy a replacement that's the right size, but if you're sentimental (and a wedding band seems like something one might be sentimental about) it's a problem.
There's nothing wrong with alternative materials, it's just that sometimes the drawbacks are overlooked while being dazzled by the advantages.
Bringing it back to the top of the thread, I think that willful ignorance is a bad recommendation, would not help in a legal situation, would be negligent, and would be contrary to a professional code of ethics. Maybe you feel that a consultant or someone working on areas outside of the safety-critical domain doesn't need to follow a professional code or act in a professional manner? Completely disagree if that is the case.
As far as IEEE-CS and ACM being "obsolete trade associations", agree to disagree. I'm not aware of a better trade organization than those two.
Honestly, I don't understand the backlash against professionalism.
Beyond the NCEES, the IEEE Computer Society and ACM jointly publish a code of ethics for software engineering: http://www.computer.org/web/education/code-of-ethics
Even if you're not a member, their code of ethics is similar to every other professional code of ethics I've seen. I don't see what's blurry about it.
I agree that Alice in my example doesn't have any legal fault for the accident. Maybe this is a cultural difference, but as I see it she does share some responsibility for being in the accident if she didn't make a best-effort attempt using known-good practices to avoid it. All drivers share that responsibility.
I think of taking precautions online as being like defensive driving (or any kind of risk management really). If Alice gets sideswiped on the highway because Bob was on his cell phone and didn't check his blind spot, Bob maybe gets charged with failure to maintain the lane or something like that. Doesn't Alice share some responsibility by recognizing that Bob, being on his cell phone, posed an elevated risk and managing accordingly (say by changing to a more distant lane)?
Can you do one for monads?
I can say that ethics is a core part of engineering curriculum from day one, and one is repeatedly reminded that one is expected to exercise their "moral agency".
If anything, that's the diametrical opposite of engineering. One of the objections to "software engineering" as an engineering discipline is that there isn't enough history from which to draw conclusions on best practices.
> The "work only in an area of competence" sounds a lot like let's bring back apprenticeship and try and create a static craft instead of endorsing dynamic exploration in field where we assume most things aren't yet discovered.
One point of professional licensure is to demonstrate a minimum level of competence. Practicing outside of one's area of demonstrated competence defeats this purpose of licensure. Nothing prevents a mechanical engineer from designing a circuit, but they sure as hell aren't going to stamp that circuit diagram.