Re: [Discuss] Programming vs Engineering

2012-01-23 Thread Daniel C.
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

2012-01-23 Thread markw
> 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

2012-01-23 Thread Jerry Feldman
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

2012-01-23 Thread Richard Pieri

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

2012-01-23 Thread Jerry Feldman
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

2012-01-23 Thread Tom Metro
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

2012-01-23 Thread Tom Metro
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

2012-01-22 Thread Derek Martin
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

2012-01-22 Thread Daniel C.
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

2012-01-22 Thread Drew Van Zandt
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

2012-01-22 Thread Richard Pieri
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

2012-01-22 Thread jc
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

2012-01-22 Thread Jack Coats
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

2012-01-22 Thread Richard Pieri
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

2012-01-22 Thread Richard Pieri
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

2012-01-22 Thread Jerry Feldman
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

2012-01-22 Thread Mark Woodward

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

2012-01-22 Thread Jerry Feldman
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

2012-01-21 Thread Matthew Gillen
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

2012-01-21 Thread Jared Carlson
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

2012-01-21 Thread Richard Pieri
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

2012-01-21 Thread Richard Pieri
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

2012-01-21 Thread Guy Gold
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

2012-01-21 Thread Edward Ned Harvey
> 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

2012-01-21 Thread Richard Pieri
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

2012-01-21 Thread john saylor
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

2012-01-21 Thread Mark Woodward

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