Software is a broad, immature, and rapidly evolving science so there is no possible way to apply standard engineering qualifications to it.
Some positions involving money, personal data, or projectiles require periodic training to ensure the safety of the public and the employees. The traditional engineering equivalent would be grounding, power emissions, flammability, etc. It makes sure that your circuit doesn't burn a house down but it has nothing to do with it working well.
Sun, Oracle, Microsoft, and others have created certification programs that are generally not accepted as any proof of abilities. Many can memorize the test without knowing how to apply any of it.
I will not see posts from astraweb, theremailer, dizum, or google
because they host Usenet flooders.
Didn't find your answer? Ask the community — no account required.
D
DJ Delorie
Reading those definitions of "engineer", I notice that none require any standards be applied to *any* "engineer". I checked further, and could find no definition of "engineer" that involved certification of any sort.
Perhaps certificaton can be used by some to show that the results of their actions are generally safe for the public to use, but that seems to be independent of the actions themselves.
So while we can constructively argue about whether programming is engineering (personally, I think it is, as a programmer is creating a complex system based on scientific and mathematical knowledge, which seems to be the common relevent definition of "engineer"), I don't think we can argue that the lack of third-party certification is a disqualifying factor (it's merely a third party's opinion about how well you program).
M
Martin Brown
ISO9000 mainly relies on the customers assumption that quality is determined by the number of cubic yards of controlled quality process documentation in circulation. It is no guarantee of actual quality.
ISO9000 ensures reproducible outcomes which isn't necessarily true quality. I have seen situations where a process was deliberately not improved because updating the quality manuals was too painful!
Quality system sceptics ISO9000 toast making process:
Insert thick cut bread in toaster and switch on at maximum setting.
Wait for smoke and flames to be emitted.
Scrape charred toast back until a uniform light brown* all over.
Save removed black crumbs in envelope.
File envelope with date and time stamp.
Label and deliver uniform light brown thin toast to customer.
Pantone 723 shade reference card
There are organisations that do true quality and ISO9000 but you should be aware that ISO9000 in itself only ensures process reproducibility.
Regards,
Martin Brown
P
Phil Hobbs
Not in my world, or in lots of others'. You get to be a wizard by being a one man band doing hard things.
Because even if everybody is a hotshot, they get squashed by the load of crap. ;)
Cheers
Phil Hobbs
P
Phil Hobbs
You obviously know a pretty high class of programmers. "Scientific and mathematical knowledge"? Maybe in some of the guys who wrote the compiler, but not in a good 90% of the rest, for sure.
Cheers
Phil Hobbs
K
krw
Not quite. ISO9000 also requires quality measurements and feedback into the process. This isn't stressed much, though, and in practice the whole thing isn't much more than a revenue source for compliance organizations.
D
DJ Delorie
As opposed to artistically or randomly arranging those pesky keywords :-)
It does seem to indicate that HTML is not a programming language though... I, for one, couldn't write a good story to save my life, but I make a decent living writing software. They're both typing. What's the difference?
(My son is first year CS, it's interesting watching him learn to program, and how it's changing the way he thinks about problems.)
J
John Larkin
We had a houseguest, the Dean of a CS department at a pretty big university. I made the mistake of asking her what sort of programming they teach these days. She was highly offended. "We don't teach programming."
Does your kid know what a state machine is? Most programmers don't.
John Larkin Highland Technology, Inc
picosecond timing precision measurement
jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
K
Kevin McMurtrie
It's true that most programmers can't read scientific and mathematical notation. I can't very well. It's a different field.
More software topics-
Local concurrency: Task queues Read/Write locks Lock free (compare and set)
Distributed concurrency: Task queues Change journals Immediate vs eventual consistency Maintaining data redundancy Managing relational data across nodes
Response times: Big-O complexity (CPU and storage) Data indexing Data latency/locality Tiered levels of storage Concurrency Maintaining bandwidth during overload Session management
Quality control: Unit, system, integration, and full testing methodologies Isolating code dependencies Secure testing APIs Crafting positive and negative test data
Security: User authentication User authorization Data authentication Asymmetric encryption Safely crossing security level boundaries Preventing escalation of features
Information science: Key-value storage Relational data Structured query language Data modeling Serialization Encapsulation and abstraction Inheritance
Data processing: Multidimensional samples Resampling and compression Multidimensional clustering Statistical predictions Fraud detection Cause/effect analytics Transactional operations Repeatability/auditing
And on and on. The list will never end.
I will not see posts from astraweb, theremailer, dizum, or google
because they host Usenet flooders.
S
Sylvia Else
This is ultimately an argument about the meaning of words.
I.e. pointless.
Sylvia.
C
Cydrome Leader
Personally, I don't care what the title is, as long as the paychecks clear. Most other folks seem to get worked up pretty good if you call them the wrong thing. Others just want nonstop title changes to indicate they're climbing some sort of corporate ladder.
It's not too hard to judge the skills for a given task somebody has, if you talk to them for a while. It just isn't possible any other way in the computing world.
I used to share space subletted from a structural engineer. There's no question he knew what he was doing, but to any new clients that questioned his credibility he even had a hallway with all his PE licenses from over a dozen states on display. He firm had the odd specialty of being the go-to for designing staircases and ramps for goverment buildings, schools and stadiums across the US.
There's just no equivalent for programming or project manamgement or things like that. There's lots of certifications you can buy, but they only mean you passed a test, not that you can do anything really useful.
J
John Larkin
It is sad that there seems to be no real discipline of programming, in the sense that a good team could be depended on to produce predictable systems on time and under budget. Multi-billion dollar failures abound.
If some institution invents a scheme for good programming and good programming management, it would be fabulous. But nobody seems interested.
John Larkin Highland Technology, Inc
picosecond timing precision measurement
jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
P
Phil Hobbs
Ask a CS academic about programming? TRIGGER WARNING!
Cheers
Phil Hobbs
P
Phil Hobbs
I've known a lot of really really good software folks, partly from having spent half my career at IBM Watson. I was just teasing DJ for applying an old-timey definition of engineering to software, where it's ludicrously ill-fitting.
Cheers
Phil Hobbs
J
John Larkin
sorrree.
John Larkin Highland Technology, Inc
picosecond timing precision measurement
jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
K
krw
In corporate America, what you're called is what you are and is what you're paid. It does matter.
Sounds like interviewing for programmers is pretty easy. Another difference between engineers and programmers. ;-)
K
krw
Sorry the previous post slipped out...
What makes you think a PE license is any different?
B
Bill Sloman
of
e
s
em
r"
e
ed
a
o
There is a programming discipline, and it produces better results than less coherent efforts. When the IBM PC first hit the market, the MS-DOS operati ng system was a whole lot more reliable than it's counterparts, and that's because the IBM programming quality control team had gotten hold of Bill Ga te's software and put it through their procedures.
More recent Windows operating systems haven't been as much better than the competition - Linux chops the tasks up finer, spread them over more people, and take more time before they announce a new version - but they've also b een a great deal bigger than MS-DOS.
Big projects are almost always more difficult than small ones (though a sma ll project that turns out to be based on a misconception can fail messily) and having the best project management in the world isn't going to produce a product on time and on budget if the original specification turns out to have been flawed.
IBM had done it in the early 1980's. There are rules for writing good progr ams, and software professionals have known about them for decades.
You can - in fact - write provably correct code if you go about it the righ t way, but it's horribly expensive.
formatting link
Bill Sloman, Sydney
K
krw
Oh, such systems are out there but you're right. Nobody is interested.
S
sean.c4s.vn
Not unless they have a certificate, degree, or serious work experience in a "hands on" engineering subject such as electrical engineering. Actually hi gh level computer science researchers often lack basic engineering insight that would help them solve real world problems effectively. You cannot reas on how to strike a match using mathematics.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.