|
Standby to be disappointed.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
There are programmers/engineering professional associations (something like the IEEE or ACM).
A lot of states/countries have professional organizations, mostly engineering, that oversees the profession, including programming.
I'd rather be phishing!
|
|
|
|
|
Neither the IEEE nor ACM provide the services I suggest to production software developers. The former is primarily hardware; the latter is primarily academia. I have belonged to both.
Gus Gustafson
|
|
|
|
|
Forget ACM and IEEE. ACM is run by academics, for academics, as a place to get your lame-ass theory paper published, but not so frequently as a place to find high quality papers of use to developers in industry. IEEE's focus is not primarily on software, though they have some stuff of greater relevance to software folk.
The ACM has a code of ethics. It's a verbose document with no actual requirements for behavior. It's full of "should" language, no "shall" or "shall not", and no penalty for noncompliance. Most state Professional Engineer ethics standards have actual requirements and actual teeth. The standard of behavior for Certified Public Accountants is also better.
It's very unfortunate that the PE certification in most states doesn't cover programming, and requires too much understanding of methods of mechanical engineering. Otherwise it would be an excellent choice.
|
|
|
|
|
The problem is ... defining a "professional programmer", I think.
I class myself as "professional" - but I'm sure many would disagree because I write code with an eye to specification changes and maintenance rather than "clever code".
And many that I'd class as unprofessional* would disagree because "their code works" (despite it being assembled from bits found on Youtube and SO it compiles, and that counts as working as far as some are concerned).
Add in JSOP's fun and games with required certification recently and the prospects get remote because he isn't the only one who is going to squawk about the waste of time spent getting a piece of paper every year or two that says "I really do know what I am doing". Particularly when the current bits of paper just say "I can pass an exam in this".
When you also think that pretty much every country on the planet is pushing the young into software regardless of inclination, ability or (in extreme cases) active brain cells it gets even harder to set up a good association.
It'll come - eventually, and over a lot of shouting - when it becomes obvious that the whole world relies on software and the current crop is woefully poor quality. But just like doctors, pharmacists, teachers, et al, it's going to take a long time because the bad developers either don't realise they are poor, or they don't want to be found out.
* Third try: the first two descriptions were obscene
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Well said old boy
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
One problem you overlook is what is meant by 'true engineering.' In order to become a professional engineer you must have deep problem domain knowledge. I graduated as a mechanical engineer, but never got professionalized. If you want a true 'software engineer' in the terms you are talking, they will have to have non-software engineering training to be proficient with the big engineering picture of their designs. Or the ability to pass an engineering exam on the relevant topics to their software project. It will require much more time and money to obtain than even my mechanical engineering took.
For a fascinating read (at least to me): Engineer's Ring - Wikipedia
|
|
|
|
|
I agree, I started life as a Mechanical Engineer which is probably why I over engineer most things - but it pays off in spades when I need to extend / change something
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
I avoided using the word "engineer" for the very reason you provide. However, if this professional organization can guide academia then the word might be able to be used. I'm suggesting Congressional charter.
Gus Gustafson
|
|
|
|
|
gggustafson wrote: I avoided using the word "engineer" for the very reason you provide.
gggustafson wrote: I firmly believe that programmers should be held accountable for their mistakes I don't believe you can have one without the other. The best you can do is probably the current situation where a professional engineer creates the specifications for the program, and the programmer must meet the specs. The full blame falls on the professional engineer and the company that checks to make sure their spec was met. If a programmer in the current scenario fails to meet the spec, and the company doesn't catch this, you are advocating for the programmer to be responsible? I doubt it. Some more thought needs to go into your proposal.
I am not saying you have to get a full mechanical engineering degree before making them 'professional.' Engineering is one of the few disciplines where if you can pass the test (and in some cases an apprenticeship) they don't care how you get the knowledge. At least it was when I last checked.
|
|
|
|
|
Engineers cannot be held accountable for their mistakes until they have the power to hold up releases until they are satisfied with the quality. Otherwise you just shift liability off of business and onto people, which is not what any sane person would desire in a professional society. Professional Engineers have the power to withhold certification of a civil engineering project, and thus to demand quality.
Imagine what the world would look like if every major project and every web site had an engineer that was professionally liable to the public for the quality of the code. Imagine if this engineer (or these engineers), and not the company, got the last word on whether the project was ready for release. In fact, imagine a world where anybody at all was liable to the public for the quality of software. This is the thing you want in a professional affiliation.
|
|
|
|
|
Interesting point. I'd never thought of that aspect.
Thanks
Gus Gustafson
|
|
|
|
|
Thank you for your thoughts
Gus Gustafson
|
|
|
|
|
The opposite of Progress is Congress...
|
|
|
|
|
Although I agree with your sentiments regarding legislative bodies, a Congressional Charter is mandatory for legal purposes.
Gus Gustafson
|
|
|
|
|
I actually disagree. I am working as a programmer and just like you, I fancy the intellectual challenge of creating something both functional and maintainable (my main definition of code beauty). But I haven't started this way. I studied physics and my current employer (a co-worker, to be precise) even told me that they were reluctant to hire me but there simply weren't any "real" programmers available. Now, I am actually better in what I'm doing than several people I've worked with who are "proper" programmers. While I agree that there's need for certification in life-threatening situations (Boeing, medical equipment), preventing people from getting into programming in the first place ain't the way to go.
|
|
|
|
|
Please note that I am not espousing certification. I am espousing an organization that might espouse certification.
An aside. I too took my undergraduate degree in Physics. I have found that it has given me a significant advantage over graduates with a "programming" degree. Even worse, I taught the core computer science curriculum at Chapman University for five years. Of course by then I had more than 30 years experience in the trenches.
After much reflection, I've come to the conclusion that musicians are the "best" programmers, followed by physics majors.
Gus Gustafson
|
|
|
|
|
Ciao a tutti,
Scrivo in italiano per esprimermi meglio, e spero che riusciate a comprendere usando un traduttore.
La parola "programmatore" nel corso del tempo ha subito una trasformazione nel significato.
Quando ho scelto, a 17 anni, che questa passione sarebbe diventato il mio mondo, essere programmatore aveva lo stesso significato di essere "uno scenziato". Ora che ne ho 54, la parola ha subito un deprezzamento. Anche chi sa usare le macro di Excel si propone come programmatore.
Non voglio denigrare coloro che, per diletto o per necessità, si ingegniano nell'accontentare amici o datori di lavoro.
Ma il significato della parola programmatore è un altro. Non è semplicemente la conoscenza di nozioni, saper buttare del codice, farlo funzionare alla meno peggio. E' un arte (perchè di questo si tratta).
Saper scrivere codice di qualità è come la differenza che c'è fra la pizza fatta in qualsiasi paese del mondo con ingredienti locali e quella napoletana fatta con gli ingredienti campani.
Il programmatore "puro" ha una visione d'insieme dell'intero argomento non solo del singolo problema, ha la capacità di essere critico sul suo codice, di esser disposto anche a riscriverlo per raggiungere la perfezione sintattica del linguaggio scelto.
Appartenere a forum o gruppi come questo non fa di per se essere programmatori.
A programmer is ..a artist
Google Translate: Hi everyone,
I write in Italian to express myself better, and I hope you can understand using a translator.
The word "programmer" over time has undergone a transformation in meaning.
When I chose, at 17, that this passion would become my world, being a programmer had the same meaning as being "a scientist". Now that I'm 54, the word has depreciated. Even those who know how to use Excel macros propose themselves as a programmer.
I do not want to denigrate those who, for pleasure or necessity, try to please friends or employers.
But the meaning of the word programmer is another. It is not simply the knowledge of notions, knowing how to throw out code, making it work at the worst. It is an art (because of this it is).
Knowing how to write quality code is like the difference between pizza made in any country in the world with local ingredients and Neapolitan-made pizza made with Campania ingredients.
The "pure" programmer has an overview of the whole topic not only of the single problem, he has the ability to be critical of his code, to be willing to rewrite it to reach the syntactic perfection of the chosen language.
Belonging to forums or groups like this does not in itself be programmers.
A programmer is ..a artist
|
|
|
|
|
Please, don;t post directly in Italian: Google Translate works pretty well, and it saves a lot of effort if one person translates it rather than many!
I've done it for you this time, but just please think about the audience in future. Thanks!
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
Thanks for the translation
Gus Gustafson
|
|
|
|
|
La Campania ha acciughe e ananas ?
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
|
|
|
|
|
No, è vero, ma tutto il resto (farina, acqua, pomodoro, mozzarella... tecnica) si
|
|
|
|
|
I look forward to dinner with you !
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
|
|
|
|
|
why not?!!
If you are in planning came in italy.. let me know. I'm living in Abruzzo, on the other side respect to Rome, on the Adriatico sea
|
|
|
|