Re: [Discuss] Programming vs Engineering
On Mon, Jan 23, 2012 at 4:04 PM, wrote: > If it were too abstract, how could it be anything but valueless? If it > were specific in any way, how could it be universally valuable in the > field? What kind of certification would be applicable for LAMP guys on > unix and guys that uses Visual C++ and Windows? In such a way that both > could pass with the skills relevant in their jobs? Part I: Theory & Best Practices (abstract) Part II: Application in your technology of choice (specific) This is how most people learn anyway, even though most of us started out with a specific language. At the same time we were learning that specific language, we were (I hope) picking up general ideas about good and bad practice. In fact, on second thought my I and II up there could be swapped - it's difficult to talk about best practices if you don't have a language to demonstrate them in. -Dan ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
> On 01/23/2012 12:13 PM, Richard Pieri wrote: >> On 1/23/12 9:27 AM, Jerry Feldman wrote: >>> but few are licensed. How many EEs does NSTAR or National Grid have on >>> their payroll, and of those what percentage are licensed. >> >> More than none, I should expect. Even in a worst case where NSTAR has >> no licensed EEs on staff they have people educated in engineering >> disciplines overseeing the work. This is far and away better than >> most software companies where the "engineers" have no engineering >> background at all and their supervisors have even weaker technical >> backgrounds. And of course nobody is held accountable when things go >> wrong. >> > I would agree. The issue today is moving from no effective certification > to something. It requires that employers buy into it by (1) encouraging > existing employees to certify, and (2) adding requirements to job specs. > Then there is a lack of consensus about what such a certification would look like. Would it be based on Unix, Windows? C,C++, Java, Perl, Python? Would it be very abstract, favoring no existing technology? If it were too abstract, how could it be anything but valueless? If it were specific in any way, how could it be universally valuable in the field? What kind of certification would be applicable for LAMP guys on unix and guys that uses Visual C++ and Windows? In such a way that both could pass with the skills relevant in their jobs? ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 01/23/2012 12:13 PM, Richard Pieri wrote: > On 1/23/12 9:27 AM, Jerry Feldman wrote: >> but few are licensed. How many EEs does NSTAR or National Grid have on >> their payroll, and of those what percentage are licensed. > > More than none, I should expect. Even in a worst case where NSTAR has > no licensed EEs on staff they have people educated in engineering > disciplines overseeing the work. This is far and away better than > most software companies where the "engineers" have no engineering > background at all and their supervisors have even weaker technical > backgrounds. And of course nobody is held accountable when things go > wrong. > I would agree. The issue today is moving from no effective certification to something. It requires that employers buy into it by (1) encouraging existing employees to certify, and (2) adding requirements to job specs. -- Jerry Feldman Boston Linux and Unix PGP key id:3BC1EB90 PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90 ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 1/23/12 9:27 AM, Jerry Feldman wrote: but few are licensed. How many EEs does NSTAR or National Grid have on their payroll, and of those what percentage are licensed. More than none, I should expect. Even in a worst case where NSTAR has no licensed EEs on staff they have people educated in engineering disciplines overseeing the work. This is far and away better than most software companies where the "engineers" have no engineering background at all and their supervisors have even weaker technical backgrounds. And of course nobody is held accountable when things go wrong. -- Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 01/22/2012 01:20 PM, Richard Pieri wrote: > On Jan 22, 2012, at 12:06 PM, Robert Krawitz wrote: >> This analogy is wrong. It isn't construction workers, but people who >> participate in the design of a bridge. They don't all need to be PEs; a >> PE ultimately may have to sign off on their work (at least for public >> infrastructure), but that's it. > No, this is the heart of the matter. Mechanics are not Mechanical Engineers. > Electricians are not Electrical Engineers. Bricklayers are not Civil > Engineers. They are all skilled tradesmen but they are not Engineers and > they typically are not part of the design process. That isn't their > expertise. > > We don't expect mechanics to know how to design a supertanker. We don't > expect electricians to know how to design a power grid. We don't expect > bricklayers to know how to design a skyscraper. But programmers -- people > who's expertise is writing code -- are expected to design programs. Or, to > turn that around, people who's expertise is designing programs are expected > to spend more time writing code than getting the design right. I think that > this is a major factor in why so many applications, especially embedded > applications, are such wrecks. > The issue is the licensing of people who are performing a task to the consumers. mechanical, electrical, or civil engineers only need to be licensed if they provide the service to the public. An engineering company may hire many engineers, but many of those do not need to be licensed. Computer companies hire mechanical and electrical engineers but few are licensed. How many EEs does NSTAR or National Grid have on their payroll, and of those what percentage are licensed. -- Jerry Feldman Boston Linux and Unix PGP key id:3BC1EB90 PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90 ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
Richard Pieri wrote: > Engineers, like doctors, are licensed professionals. They are held > to codified standards of practice and ethics. You are conflating engineer with Professional Engineer (PE). The later has a specific definition with licensing requirements. The "Professional" part of the title isn't just an adjective describing any random engineer that happens to get paid to work. > Says the Commonwealth of Massachusetts: > http://www.mass.gov/ocabr/licensee/dpl-boards/en/ As others pointed out, this is clearly a definition for a *Professional* Engineer. Dating back well before the invention of Software Engineers we had Mechanical Engineers, Electrical Engineers, and Chemical Engineers, all of whom were not licensed as Professional Engineers, unless they elected to do so. The "engineer" title is largely a reflection of education, but as Matthew Gillen pointed out, the definition is more broad and anyone who practices engineering can have the title applied. Where you draw the line between technician or tradesperson and engineer is a matter of convention within each industry. I'll agree that the software field probably should have a "software technician" title (perhaps it is "software developer", or "programmer", as someone else mentioned), and some better understood guidelines for what distinguishes it from a "software engineer." You don't, however, need a government issued license to make that distinction. > Programmers typically are not held to any > standards other than those set by their employers... > I think this is a problem. I think that Software Engineers should > join the ranks of Professional Engineering professions and that they > should be trained and tested and licensed the same as other > Professional Engineers. I'll second Marks points that the lack of such standards are largely due to the immaturity of the field, and that jumping to establish standards could easily have a stagnating effect on the state of the art. We do have a whole litany of certifications available. If you dismiss the validity/value of such certifications, what makes you believe that a single industry administered test will prove more accurate at qualifying software developers as being of Professional Engineer quality? -Tom -- Tom Metro Venture Logic, Newton, MA, USA "Enterprise solutions through open source." Professional Profile: http://tmetro.venturelogic.com/ ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
Mark Woodward wrote: > http://www.mohawksoft.org/?q=node/86 > Does anyone have any comment? I was expecting something more controversial when I saw the size of the thread, but I agree completely with your thesis. The interesting bit to me is: > It takes a competent software engineer to do it in a way that promotes > improvement and "anticipates" the future. All too often management only > looks at the output of programmers and not the important engineering > work. with the follow-up question, "How do we make quality software engineering practices visible to management, so they can be appreciated?" -Tom -- Tom Metro Venture Logic, Newton, MA, USA "Enterprise solutions through open source." Professional Profile: http://tmetro.venturelogic.com/ ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Sat, Jan 21, 2012 at 04:37:42PM -0500, Richard Pieri wrote: > On Jan 21, 2012, at 1:39 PM, Mark Woodward wrote: > > > > Does anyone have any comment? > > Yeah, but it's more rant than anything else. You've been warned. > > The title "Engineer" has a specific, legal meaning. It also has several other non-legal meanings, all of which are perfectly correct, and at least one of which applies to what we do with software. Anyone whose business card says they're a software engineer probably is, in fact, a professional software engineer. -- Derek D. Martinhttp://www.pizzashack.org/ GPG Key ID: 0xDFBEAD02 -=-=-=-=- This message is posted from an invalid address. Replying to it will result in undeliverable mail due to spam prevention. Sorry for the inconvenience. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Sun, Jan 22, 2012 at 11:42 AM, wrote: > An ongoing semi-problem that dictionary makers have always had is that people > routinely try to use them as authorities for what a word *should* mean. The > actual function of a dictionary isn't to decide what words mean, but rather > to tell the reader how a word *may* be used. Put another way - English dictionaries are descriptive, not prescriptive. French, meanwhile, has L'Academie Francaise, which is prescriptive - while French speakers are free to speak and write however they like, it's not "French" unless The Academy has approved it. Their dictionary, in contrast to English dictionaries, does in fact document the correct usage of the French language. Language Trivia time is over now; thank you for reading. -Dan ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
The trouble is that a PE certification proves: 1) You managed to make it through an engineering degree program 2) You practiced as an engineer for 4 years or so 3) You can test well. (Which, given that you got a degree, is likely.) I know people who meet all these requirements, and are actively bad as engineers. One of them had his PE certification. None of the half dozen products he had a key engineering role in during the time I knew him ever shipped. If you want other engineers to take these certifications seriously, you need to not give 'em to guys like this. More importantly, you need to find a way to give the certification to the really good engineers out there. As long as you have tens of thousands of guys out there who are better engineers than the PE's I have met, I'm going to hire based on skill, certification be damned. For that matter, I'll hire based on skill regardless. Certifications are perhaps handy filters for people in HR who don't know enough engineering to filter in other ways. If you hire based on certifications (or degrees) blindly, you'll be sinking your own ship. I've known too many PhD's who were useless for anything outside academia. (That bitterness you hear is the echo of the sound of me cleaning up after a couple of them over and over again until management FINALLY realized they were the problem.) On the other hand, one of the best engineers I know fought her way up from being a tech with an associate's degree. I do know a couple of PE's who are good engineers, but the best engineers I've known have not been. * Drew Van Zandt Artisan's Asylum Craft Lead, Electronics & Robotics Cam # US2010035593 (M:Liam Hopkins R: Bastian Rotgeld) Domain Coordinator, MA-003-D. Masquerade aVST * ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Jan 22, 2012, at 12:06 PM, Robert Krawitz wrote: > > This analogy is wrong. It isn't construction workers, but people who > participate in the design of a bridge. They don't all need to be PEs; a > PE ultimately may have to sign off on their work (at least for public > infrastructure), but that's it. No, this is the heart of the matter. Mechanics are not Mechanical Engineers. Electricians are not Electrical Engineers. Bricklayers are not Civil Engineers. They are all skilled tradesmen but they are not Engineers and they typically are not part of the design process. That isn't their expertise. We don't expect mechanics to know how to design a supertanker. We don't expect electricians to know how to design a power grid. We don't expect bricklayers to know how to design a skyscraper. But programmers -- people who's expertise is writing code -- are expected to design programs. Or, to turn that around, people who's expertise is designing programs are expected to spend more time writing code than getting the design right. I think that this is a major factor in why so many applications, especially embedded applications, are such wrecks. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
Richard Pieri wrote: | On Jan 22, 2012, at 2:18 AM, Matthew Gillen wrote: | > Says who? People who are PEs? Look up the word engineer on dict.org. | > None of the definitions say *anything* about licensure. | | Says the Commonwealth of Massachusetts: | http://www.mass.gov/ocabr/licensee/dpl-boards/en/ Well, I suspect that most dictionary makers would say that Massachusetts is defining "professional engineer", not "engineer" (or "professional" ;-). An ongoing semi-problem that dictionary makers have always had is that people routinely try to use them as authorities for what a word *should* mean. The actual function of a dictionary isn't to decide what words mean, but rather to tell the reader how a word *may* be used. So they routinely include most of the "wrong" uses of words, sometimes marking them as variant or slang or dialectal or obsolete or whatever. This is to provide a service for a person who may not speak the language too well, or has run across a word in a context where it doesn't make sense. So you pull out your dictionary, look it up, and expect to find an entry that in effect says "X can mean ..., or it can mean ..., or sometimes it even means ...". Purists might object to some of the uses, but dictionary makers aren't trying to provide reinforcement for the purists' views. They're trying to tell their readers how words may be used, so that users can make sense of a usage that they've run across. Larger dictionaries often give definitions for phrases. I wonder how many unabridged dictionaries define the phrase "professional engineer". That definition should include "licensed" (perhaps preceded by "usually" ;-). -- Give someone a program, frustrate them for a day. Teach someone to program, frustrate them for a lifetime. _' O <:#/> John Chambers + /#\ | | ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
In all this, I would like to see Engineers and Architects be licensed individuals, controlled by regulatory boards. IMHO, the terms 'software engineer' and 'software architect' should be banned, and replaced with the 'old school' terms of programmers and analysts. There is noting wrong with the old terms, but by making the 'new titles' sound like licensed professionals, it just cheapens both the professional terms, and the professions of software professionals. I'm at the end of my career, so it is no skin off my back. But I am proud to be a programmer, an analyst, and sysadmin at different parts of my careers. HR puts some artificial terms on many 'professional titles', but they too are part of the problem. Human Resources are just like 'Toilet Resource Providers'. They used to be called 'Personnel Departments' before the more dehumanizing 'Human Resources' title became popular after someone read one to many management studies from the Harvard MBA diploma mill. At the same time, shorter term perspectives became popular in management (what have you done for me this quarter), became the norm. Human Resources, IMHO, was a way to systematically remove any human element from management decisions. It may be better for the short term bottom line, but long term, I think society (including the investors) loose. Somehow, common sense isn't so common anymore. ... Grumpy, dropping out of the conversations for now... ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Jan 21, 2012, at 10:05 PM, Jared Carlson wrote: > > Come on guys... I have an ME and have done "software engineering" as well as > analysis for DoD, etc.. There's a place for both, you need professional > engineers who understand guidelines and procedures, etc, but you also need > the theoretical who are pushing boundaries, teaching the limiting cases and > all that. If your advisor has taken his exams and maintains his licensure then he is a real ME. If he hasn't done this then he is not an ME. It's a formality, sure, but that formality carries certain assurances for the engineer's client's. We do need both -- all three, actually. We need scientists to do the hard research, to create new materials and such. We need engineers to take the scientists' research and create blueprints for new, better things. And we need skilled laborers and craftsmen to implement those blueprints. I see similar distinctions in software: scientists who do that research, engineers who turn the research into plans, and programmers who write code to those plans. Mark is right: the software industry keeps reinventing itself. This is both good and bad. Most of us wouldn't be in our current lines of work if it didn't, but at the same time it means that we get shoddily designed SCADA systems and medical devices, ATMs and voting machines vulnerable to all sorts of compromise, and so forth. I think that holding PSEs' work to the same kinds of standards that we hold other PEs' work would go a long way towards preventing this kind of crap software from being released as product. I'm not suggesting that PSEs would be required to use only certain languages or operating systems. A Civil Engineer can use whatever materials he wants when designing a building or a bridge. Likewise, a Software Engineer can use whatever "materials" he wants when designing a program. What is important is that the bridge meets defined standards of safety and reliability. Likewise, it is important that the program meets appropriately defined standards. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Jan 22, 2012, at 2:18 AM, Matthew Gillen wrote: > > Says who? People who are PEs? Look up the word engineer on dict.org. > None of the definitions say *anything* about licensure. Says the Commonwealth of Massachusetts: http://www.mass.gov/ocabr/licensee/dpl-boards/en/ --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 01/22/2012 08:00 AM, Mark Woodward wrote: > In some ways we are to blame. We software engineers have not taken our > profession seriously. We have not created and/or joined the > professional organizations, like doctors, lawyers, electricians, and > pipe-fitters, to define and protect our profession. I would agree to some extent. There was an organization many years ago that attempted this, but never made any headway. While certainly doctors need to be licensed to practice, lawyers, electricians, and others do not need a license if they work inside a company. But if they are employed to where they use their profession to provide a service they need to be licensed. When you hire a law firm, you expect that the lawyers you deal with are fully licensed and have passed the bar. > > What has happened, sadly, is that we have a profession in which there > are no standards and any newbe can come along create a new programming > language because he or she did not like the existing language. If we > are lucky, it looks something like previous languages, but this is not > always the case. We don't steadily improve the tools of our craft, we > destroy them and rebuild them new each and every time. Agreed to some extent. > > How many programming languages and environments are needed? How many > operating systems? If you look at electricians, they have a whole set > of regulations about wire, connectors, methodologies, etc. Do we? > Hell, if we compared ourselves to plumbers, we would re-invent the > pipe for each job. -- Jerry Feldman Boston Linux and Unix PGP key id:3BC1EB90 PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90 ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 01/21/2012 09:05 PM, Richard Pieri wrote: Case in point, this article that just came down through Slashdot: http://www.digitalbond.com/2012/01/19/project-basecamp-at-s4/ Imagine a highway or building or train or airliner being designed and constructed to the same standards that these SCADA systems were made. Take it another step: imagine medical equipment designed the same way that these SCADA systems were. Now be afraid because medical equipment really is designed the same. It gets worse: that medical equipment can't be updated. They can't be updated because changing anything will push them off spec, will violate whatever EAL the devices have, and will make them legally unusable for medical practice. Many of these are running old operating systems -- like Windows 98 old -- without any patches at all. And yet, we trust quite literally our lives to these things. These are serious problems, yes, but they are not a result of a licensing issue. They are about an immature profession. Think of it this way, if software engineering were formalized, we'd have to settle some problems. What is the standard language in which to write programs? What is the standard operating system that is run on computers? If we can't have a standard operating system, what is the standard API to which we code? Who owns these things? Would you pay Microsoft for the privilege to practice in your field? In some ways we are to blame. We software engineers have not taken our profession seriously. We have not created and/or joined the professional organizations, like doctors, lawyers, electricians, and pipe-fitters, to define and protect our profession. What has happened, sadly, is that we have a profession in which there are no standards and any newbe can come along create a new programming language because he or she did not like the existing language. If we are lucky, it looks something like previous languages, but this is not always the case. We don't steadily improve the tools of our craft, we destroy them and rebuild them new each and every time. How many programming languages and environments are needed? How many operating systems? If you look at electricians, they have a whole set of regulations about wire, connectors, methodologies, etc. Do we? Hell, if we compared ourselves to plumbers, we would re-invent the pipe for each job. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 01/21/2012 04:37 PM, Richard Pieri wrote: > On Jan 21, 2012, at 1:39 PM, Mark Woodward wrote: >> Does anyone have any comment? > Yeah, but it's more rant than anything else. You've been warned. > > > The title "Engineer" has a specific, legal meaning. Professional use of the > Engineer title requires rigorous education, testing, internship and > licensure. None of these exist for professional programmers. Therefore, > there are no Professional Software Engineers, regardless of what is on our > business cards[1]. All of this also applies to the "Architect" title. > Architects have similar education and testing requirements to Engineers, and > like Engineers they must be licensed to practice professionally. Use of the > Engineer and Architect titles for computer specialists is nothing more than > aggrandizement. > > In my book, your exemplar "good software engineer" is really a good > programmer, and your "good programmer" is anything but good. He is terrible. > He'll write "correct", "clean" code that will be five to ten times slower > than the good programmers' painstakingly optimized code. Then he'll go and > rewrite their code to "clean it up" to match his own and check it in without > telling anyone. Then the next release candidate suffers catastrophic > performance problems and a mad scramble to figure out why ensues. Someone at > a previous job of mine did this, and the senior management was not amused. > Bad programmer, no biscuit. > > Rant off. > > [1] My title at my last gig was "Senior Systems Engineer". I hated that > title and I hate putting it on my resume because it is a lie. I'm no > Engineer. Basically, I agree with your first paragraph and I have had the title of Software Engineer (by way of job description) for many years. There are certain principles of software engineering that mirror principles of engineering in contrast to a programmer or programmer/analyst. But, in industry it is more of a pecking order. In a company where there are programmers who work on product, they are generally called software engineers where programmers in the IT department are generally called programmers. In some companies I have worked at, to become a "principal software engineer" you needed to be published,. The bottom line is that engineering is a discipline. That means in terms of code, that the code works when you throw it over the fence, that it is also readable and maintainable. It also means that you don't rewrite code for the sake of it. I've had to work with many very old programs (like Lex and YACC) where the code was originally written by a graduate student. But, both programs work. I've seen many rewrites of old code that never were able to perform as well as the old code. Another discipline is to document both using comments, as well as reasonable comments when checking in to a source code control system like git, SVN, or CVS. Recently at work there was a question of why my code (BASH in this case) pointed at a specific server. I went back to the git logs and found when that was changed. (I know it is not a good practice to hard code things like that, but this was originally designed as a way to make it easier for people in the office to install a piece of software we bought from Europe). -- Jerry Feldman Boston Linux and Unix PGP key id:3BC1EB90 PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90 ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On 1/21/2012 4:37 PM, Richard Pieri wrote: > The title "Engineer" has a specific, legal meaning. Professional use > of the Engineer title requires rigorous education, testing, > internship and licensure. Says who? People who are PEs? Look up the word engineer on dict.org. None of the definitions say *anything* about licensure. > engineer > n 1: a person who uses scientific knowledge to solve practical >problems That describes my job better than pretty much any other word. But it seems "Engineer" is a reserved term and I can't use it for my job title... > None of these exist for professional programmers. Therefore, there > are no Professional Software Engineers, regardless of what is on our > business cards[1]. All of this also applies to the "Architect" > title. Architects have similar education and testing requirements to > Engineers, and like Engineers they must be licensed to practice > professionally. Use of the Engineer and Architect titles for > computer specialists is nothing more than aggrandizement. You're making essentially the same argument as this: someone who has a PhD is aggrandizing themselves if they call themselves 'Doctor', because they don't take all the tests that a MD does. I'm sorry, I just don't accept the made-up rule (I will note that this isn't the first time I've been lectured on not being a PE) that says the word "Engineer" is off limits unless you've passed a PE test. Go ahead, be mad about it. Get indignant about it. I don't really care. I'm a Software Engineer. Most of the world agrees with me. You want to say that PEs have rigorous standards? Fine, I won't argue. I don't put "Professional Engineer" on my business cards. I know what it means. But you have to realize that you've just taken two common language words that describe me, and said "you can't use those together". How should I describe myself and my job without those words? Does that mean I'm an amateur? I'm an engineer for my day job, therefore I am a professional engineer. There, I didn't make it in to a proper noun. Does that make you happy? Matt ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
Come on guys... I have an ME and have done "software engineering" as well as analysis for DoD, etc.. There's a place for both, you need professional engineers who understand guidelines and procedures, etc, but you also need the theoretical who are pushing boundaries, teaching the limiting cases and all that. Would you seriously suggest that my grad advisor, specializing in lattice gas dynamics for Aero/Mech applications isn't "real" engineer because he doesn't have a license? He's trying to understand turbulence better, a very important practical problem He isn't to be taken serious with with C code models? You need both, you need guys who will build you a highway but engineers come in all forms and there a number of them built on more theoretical grounds who don't need a license to do their jobs, and will likely spend a lot of time writing code, pencils on paper, etc... If you have a rant on poor programming, rant on that, but engineering comes in a lot of forms, let's not forget that - Jared From: Richard Pieri To: BLU Discuss Sent: Saturday, January 21, 2012 9:05 PM Subject: Re: [Discuss] Programming vs Engineering Case in point, this article that just came down through Slashdot: http://www.digitalbond.com/2012/01/19/project-basecamp-at-s4/ Imagine a highway or building or train or airliner being designed and constructed to the same standards that these SCADA systems were made. Take it another step: imagine medical equipment designed the same way that these SCADA systems were. Now be afraid because medical equipment really is designed the same. It gets worse: that medical equipment can't be updated. They can't be updated because changing anything will push them off spec, will violate whatever EAL the devices have, and will make them legally unusable for medical practice. Many of these are running old operating systems -- like Windows 98 old -- without any patches at all. And yet, we trust quite literally our lives to these things. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
Case in point, this article that just came down through Slashdot: http://www.digitalbond.com/2012/01/19/project-basecamp-at-s4/ Imagine a highway or building or train or airliner being designed and constructed to the same standards that these SCADA systems were made. Take it another step: imagine medical equipment designed the same way that these SCADA systems were. Now be afraid because medical equipment really is designed the same. It gets worse: that medical equipment can't be updated. They can't be updated because changing anything will push them off spec, will violate whatever EAL the devices have, and will make them legally unusable for medical practice. Many of these are running old operating systems -- like Windows 98 old -- without any patches at all. And yet, we trust quite literally our lives to these things. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Jan 21, 2012, at 7:08 PM, Guy Gold wrote: > > Allow me to join your rant Richard, with minor adjustments. > Yes, undoubtedly the word " Engineer " is easily and cheaply used in the > software and IT world, but some folks in the software world do justify > the title. Well, no, I don't agree. I'm not trying to belittle Dennis Ritchie or Tim Berners-Lee and their peers; nor am I trying to belittle their work. They've done great things, but great accomplishments do not make them Engineers. Engineers, like doctors, are licensed professionals. They are held to codified standards of practice and ethics. Like doctors, if they violate those standards then they lose their licenses to practice. This is a fundamental difference between a "software engineer" and a Professional Engineer. Programmers typically are not held to any standards other than those set by their employers, and those typically revolve around meeting deadlines rather than things like safety and ethics. Meeting a deadline is more important than ensuring that a program won't flake out and kill someone. I think this is a problem. I think that Software Engineers should join the ranks of Professional Engineering professions and that they should be trained and tested and licensed the same as other Professional Engineers. And just like other Professional Engineers they should be held to codified standards of practice and ethics that trump corporate policies and release schedules. No, I don't expect every programmer to be a Software Engineer, no more than I expect every construction worker to be a Civil Engineer. That'd be crazy -- and nothing would ever get built. As long as we have a need for real Software Engineers we will have a need for skilled programmers to "build" the software that they design. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
Allow me to join your rant Richard, with minor adjustments. Yes, undoubtedly the word " Engineer " is easily and cheaply used in the software and IT world, but some folks in the software world do justify the title. People that take nothing, or close to nothing and make a working system out if it . (builder(s) of Unix, the C language, The Perl language ,Cisco IOS - the actual writers, to name a few), pardon my lack of name memory,those distinguished folks did earn the title "Engineer" in my book. With that said, it will be better for all if the word Engineer would be used with more caution. Guy Gold On Sat, 2012-01-21 at 16:37 -0500, Richard Pieri wrote: > On Jan 21, 2012, at 1:39 PM, Mark Woodward wrote: > > > > Does anyone have any comment? > > Yeah, but it's more rant than anything else. You've been warned. > > > The title "Engineer" has a specific, legal meaning. Professional use of the > Engineer title requires rigorous education, testing, internship and > licensure. None of these exist for professional programmers. Therefore, > there are no Professional Software Engineers, regardless of what is on our > business cards[1]. All of this also applies to the "Architect" title. > Architects have similar education and testing requirements to Engineers, and > like Engineers they must be licensed to practice professionally. Use of the > Engineer and Architect titles for computer specialists is nothing more than > aggrandizement. > > In my book, your exemplar "good software engineer" is really a good > programmer, and your "good programmer" is anything but good. He is terrible. > He'll write "correct", "clean" code that will be five to ten times slower > than the good programmers' painstakingly optimized code. Then he'll go and > rewrite their code to "clean it up" to match his own and check it in without > telling anyone. Then the next release candidate suffers catastrophic > performance problems and a mad scramble to figure out why ensues. Someone at > a previous job of mine did this, and the senior management was not amused. > Bad programmer, no biscuit. > > Rant off. > > [1] My title at my last gig was "Senior Systems Engineer". I hated that > title and I hate putting it on my resume because it is a lie. I'm no > Engineer. > > --Rich P. > > ___ > Discuss mailing list > Discuss@blu.org > http://lists.blu.org/mailman/listinfo/discuss ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
> From: discuss-bounces+blu=nedharvey@blu.org [mailto:discuss- > bounces+blu=nedharvey@blu.org] On Behalf Of Mark Woodward > > http://www.mohawksoft.org/?q=node/86 > > Does anyone have any comment? Yeah, I have a comment. Don't post URL's without any explanation or hints as to what it's about, if you expect people to follow it and read it. If it's a small text article, maybe you should post the link and the whole article, so people can read it without following the link. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
On Jan 21, 2012, at 1:39 PM, Mark Woodward wrote: > > Does anyone have any comment? Yeah, but it's more rant than anything else. You've been warned. The title "Engineer" has a specific, legal meaning. Professional use of the Engineer title requires rigorous education, testing, internship and licensure. None of these exist for professional programmers. Therefore, there are no Professional Software Engineers, regardless of what is on our business cards[1]. All of this also applies to the "Architect" title. Architects have similar education and testing requirements to Engineers, and like Engineers they must be licensed to practice professionally. Use of the Engineer and Architect titles for computer specialists is nothing more than aggrandizement. In my book, your exemplar "good software engineer" is really a good programmer, and your "good programmer" is anything but good. He is terrible. He'll write "correct", "clean" code that will be five to ten times slower than the good programmers' painstakingly optimized code. Then he'll go and rewrite their code to "clean it up" to match his own and check it in without telling anyone. Then the next release candidate suffers catastrophic performance problems and a mad scramble to figure out why ensues. Someone at a previous job of mine did this, and the senior management was not amused. Bad programmer, no biscuit. Rant off. [1] My title at my last gig was "Senior Systems Engineer". I hated that title and I hate putting it on my resume because it is a lie. I'm no Engineer. --Rich P. ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
Re: [Discuss] Programming vs Engineering
hello world! On Sat, Jan 21, 2012 at 13:39, Mark Woodward wrote: > http://www.mohawksoft.org/?q=node/86 i understand the point, but i think it gets back to just using the most talented people you can find. then again, i'm not one to focus on labels too much ... "a rose by any other name would smell as sweet" -willie the shake -- \js [http://or8.net/~johns/] : "A strange fellow with many odd attitudes in human relationships" -d.luckham on j.mccarthy ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss
[Discuss] Programming vs Engineering
http://www.mohawksoft.org/?q=node/86 Does anyone have any comment? ___ Discuss mailing list Discuss@blu.org http://lists.blu.org/mailman/listinfo/discuss