Call for a Professional Programmers' Association
-
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency. So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention. What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices. Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software. I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to d
And one more facetious thought - maybe we should focus on creating a professional licensing organization that licenses people who want to create professional licensing organizations. I mean, if you setup one of these organizations improperly or do it under the wrong premises or reasons- it could cause HUGE problems within that industry. So, only those who have a proper license should be able to propose creating them. The specific words, phrases, concepts, legalities, etc... especially when flaws/failures could cost money/time/resources, indirectly cause injuries, death, etc... are a serious concern. Only seasoned, elite, professional licensing organization creators should be involved in such things. :)
-
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
-
During my 50+ year career, I have been employed by 16 companies, each for varying periods of time. At the end of it all, guess how much of a retirement fund that I have - $0. Guess how much insurance I have - $0. Basically, I have no benefits that accrued over the 50+ years. Nothing was done illegally. In large part this situation was caused as a result of my decisions. But, when you're 34, you seldom have the wisdom that you have when you are 60. The other side of the problem was that in 2 cases, my salary was significantly higher with recent to that of recent graduates. I believe that a professional organization would have protected me against myself.
Gus Gustafson
If you made software-engineer wages and didn't put anything away for retirement, that is so totally your fault. A union with a mandatory-participation retirement plan to "protect you from yourself" is the kind of union that union-haters particularly dislike. It's an organization with enough money to make it ripe for abuse and racketeering. This is the wrong model IMHO.
-
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!
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.
-
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency. So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention. What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices. Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software. I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to d
Gus... Like you I have spent decades as a professional software developer. And I have used many languages, finally specializing in C# and VB.NET since 2001 when the Microsoft .NET Framework development environments were commercially released. However, I am not sure that certification is the way to go. Certification implies testing, which is short lived at best and useless at its worst. Various coding boot camps have performed a similar function in terms of certification and it has been found that such graduates only have a cursory knowledge of what they claim to know from such training. I have to agree with the commenter here that suggested a union but there are issues here as well. The Freelancer's Union attempted to be such an organization for the growing "freelance economy" (which was just a new word for exploitation). They appeared to have a good start but quickly eroded as they became more or less another insurance company peddling Obama Care medical programs, all of which were questionable in quality. As it regards your observations on the Boeing 737 Max aircraft, there is nothing to indicate that any programmers were at fault. This was clearly a management decision to hide issues that resulted from the extension of a design with additional attributes the original design was not meant to support. As usual, stupid management made a very stupid and dangerous decision, not the developers. The deterioration of software development quality in the United States has many factors. However, the major ones can be categorized as the following... 1... Corporate outsourcing of IT positions to reduce costs while lowering quality and flooding the US professional IT market with low-cost foreign workers that are willing to be exploited by degenerate management to the detriment of US citizens 2.. Increasingly, degenerate technical management that has been increasingly politicized to the point of ueslessness 3.. Vendor promotions of increasing complexity in development products, which has seriously weakened the inherent knowledge bases in the various communities 4... Constant iterations of software, which add only questionable capabilities in lieu of the basic sets of features the majority of developers require or use 5... The promotion of cloud-based services, which inherently reduce security for the purposes of allowing such companies as Amazon and others to make more money without advancing anything that safer individual, corporate run IT organizations could provide 6... A major degen
-
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.
-
I'm not a professional programmer, but I worked for personal projects starting with assembly in the 90s, then C, more recently Python and Web technologies. This "occupation" helped me in other professional projects (not related to software, I'm a medical doctor) and allowed me (intelectually) to develop a well structured way of thinking. Talking about "professional associations", should a law prevent (or discourage) people from learning how to program or to make their own programs, tailored for their needs? For me, a computer is a tool and everyone must have the right (== liberty) to use it full-power (meaning programming, that's what it was built for, not just for watching Netflix or Facebook). I've seen very good programs made by passioned self-taught individuals and bad programs made by "professional" programmers. By the way, what about the Open Source programs? There are a few made by non-professional programmers, but not that bad. How could one "certify" such programs? And what about the use of Open Source in public institutions?
Nothing about a professional society should prevent you from learning to program, just as nothing should prevent you from testing yourself for a fever and taking an aspirin to reduce it. But just as with medicine, there is a point where the public has an interest in certifying the quality of practitioners. That point comes when a practitioner wants to be paid for their expertise, and wants to prescribe the most powerful and problematic treatments, that require experience and knowledge to administer.
-
I'm not unsympathetic to the points you've raised, but every time this issue comes up, I see the same two problems with it: - Outside of safety-critical industries, the market (of companies who hire programmers and/or need custom software created) just doesn't care. In some countries, "software engineer" is a protected title and requires specific education and licensing. The net result? Companies choosing job titles other than "software engineer". Trying to compel all programmers to be part of a professional association would give companies a huge incentive to try to create all of their software using methods that you'd call 'not programming'. We'd end up in a universe where all business software is cobbled together using things like VBA and PowerApps. And I don't mean to knock VBA and PowerApps. Whether or not they count as real programming, they're often the quickest/fastest way to solve a problem, and like it or not, those are the metrics that most businesses care about. Given the old choice of 'fast, cheap, good - pick two', customers overwhelmingly prefer 'done cheap, delivered fast'. - Even though the idea of professional programmer standards is appealing, it's almost impossible to be an advocate of these ideas without sounding like a jaded old fart who's trying to circle the wagons and keep out the dirty hippies and the hoi polloi with their disgusting VBAs and JavaScripts. I'm not sure even there's even a good way to combat this perception. Now, there *are* a subset of companies who care deeply about quality. Why not just try to focus on selling yourself to those companies, since they already understand the value you provide? On the flip side, there are lots of companies for whom the kind of quality you want just wouldn't provide them any competitive advantage. If quality programming is your primary concern, spending too much time worrying about people who don't (and will never) care about it will only cost you your sanity. I do wish you the best of luck in your endeavour, though.
Try to imagine Amazon.com, cobbled together from VBA and PowerApps.Imagine Call of Duty, built from VBA and PowerApps. The consumer marketplace is not insensitive to quality, and companies are not insensitive to reality. The effect of a Professional Developer association would on cost and on jobs would be marginal. It's not necessary for every programmer to belong to the association. It's only needed for some senior decision makers to belong, and for the company to sign on to the code of behavior. Of course, these are the folks who make the big bucks, and the big decisions, so it's always possible that most programmers will want to belong.
-
In a word - No. The type of organization you describe is called a trade union. What we've seen over the decades as that although unions, regardless of why they started, eventually become barriers to entry for competitors. I'm not opposed to distinguishing between a programmer and a software engineer, with the latter being required to have additional skills to ensure robust and bug free software. But requiring programmers to belong to a union would make it impossible for the mom & pop store to create a web-site. Not at first but it's a guarantee this would happen, simply because of human nature.
-
Gus... Like you I have spent decades as a professional software developer. And I have used many languages, finally specializing in C# and VB.NET since 2001 when the Microsoft .NET Framework development environments were commercially released. However, I am not sure that certification is the way to go. Certification implies testing, which is short lived at best and useless at its worst. Various coding boot camps have performed a similar function in terms of certification and it has been found that such graduates only have a cursory knowledge of what they claim to know from such training. I have to agree with the commenter here that suggested a union but there are issues here as well. The Freelancer's Union attempted to be such an organization for the growing "freelance economy" (which was just a new word for exploitation). They appeared to have a good start but quickly eroded as they became more or less another insurance company peddling Obama Care medical programs, all of which were questionable in quality. As it regards your observations on the Boeing 737 Max aircraft, there is nothing to indicate that any programmers were at fault. This was clearly a management decision to hide issues that resulted from the extension of a design with additional attributes the original design was not meant to support. As usual, stupid management made a very stupid and dangerous decision, not the developers. The deterioration of software development quality in the United States has many factors. However, the major ones can be categorized as the following... 1... Corporate outsourcing of IT positions to reduce costs while lowering quality and flooding the US professional IT market with low-cost foreign workers that are willing to be exploited by degenerate management to the detriment of US citizens 2.. Increasingly, degenerate technical management that has been increasingly politicized to the point of ueslessness 3.. Vendor promotions of increasing complexity in development products, which has seriously weakened the inherent knowledge bases in the various communities 4... Constant iterations of software, which add only questionable capabilities in lieu of the basic sets of features the majority of developers require or use 5... The promotion of cloud-based services, which inherently reduce security for the purposes of allowing such companies as Amazon and others to make more money without advancing anything that safer individual, corporate run IT organizations could provide 6... A major degen
Somewhere along the line the concept of certification became embedded. I do not espouse certification. Rather I espouse something more in the line of an apprentice-journeyman-master approach - like blacksmiths who also create something out of a simple piece of iron. To the younger programmers who object remember: you maybe earning $90K today but there is always someone coming out of college who can do your job for $75K. And guess who management hires? You have no protection! You have no one looking out for your interests!
Gus Gustafson
-
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency. So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention. What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices. Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software. I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to d
Some thoughts for a professional organization * Membership must be voluntary. There must be a place for people who choose not to belong, or who could not meet the demands of the certification process. * The association's core product would be a code of ethics, binding on both individual and corporate members, with some cost (at least losing their membership) for ethical failures. * To become and remain relevant, there would have to be some advantage to belonging, both for individuals and for corporations. * The association could provide voluntary certifications. If the certifications were valuable, companies would come to expect them, and would perhaps even send employees to obtain them. There are existing certifications which the association could adopt initially. Maybe the association could put their brand approval on other groups' certifications. * Along with certification, the association would have a role in providing education with certification as the end goal. As with certification, there is courseware that the association could adopt initially. Providing education leading to certification could become a powerful tool for pointing the industry in a positive direction. * Like a labor union, the association could come to have a collective bargaining role, perhaps not for wages, but for working conditions. Some of this could happen through ethical rules about how to treat workers. If I was planning such an association, I would wait to roll out collective bargaining until there had been some uptake of the basic idea. (Bwah ha ha). * Like a traditional union hall with members sitting around waiting for work, the association could maintain a market of freelancers who were certified by the association, or a collection of resumes. ACM makes a somewhat weak and pathetic attempt at this, but their heart isn't in it because they are run by academics.
-
In a word - No. The type of organization you describe is called a trade union. What we've seen over the decades as that although unions, regardless of why they started, eventually become barriers to entry for competitors. I'm not opposed to distinguishing between a programmer and a software engineer, with the latter being required to have additional skills to ensure robust and bug free software. But requiring programmers to belong to a union would make it impossible for the mom & pop store to create a web-site. Not at first but it's a guarantee this would happen, simply because of human nature.
I have no problem erecting barriers to entry into the programming workspace. I have seen the junk code produced by incompetent "programmers" who are only interested in the paycheck and who work for managers for whom the bottom-line is the only measurement of success.
Gus Gustafson
-
What a disgusting premise! The computing industry has been a major boom because people can get into it and develop what their imaginations can create. Stifling this with BS licenses and then ensuing regulatory legislation that would not be far behind would slam the brakes on this. What a ridiculous comment that people using higher level programming languages aren't programmers - such a narrow point of view. Do you really need to dig into the depths of C to write a front end application heavy in reporting functions? With your experience you should know and see that certain languages are better suited for different tasks. This kind of elitist mindset is one good reason for not having certifications and regulations. Any manager worth their salt who is in charge of hiring can cipher out a skilled programmer vs a newbie or someone that knows enough to "look" good - but are not capable of the job at hand - and "technical currency" can then be determined. If they are a junior level programmer - then pay them as such - and pay a senior level programmer accordingly. Experience and actual knowledge do matter - but a license DOES NOT guarantee the quality of either of these. I have spent the last few years substantially remodeling my house. I have studied local and state building code, building standards for residential building code, electrical/plumbing codes, studied architectural and structural engineering, etc... to make sure it is done right. What I have learned is that MANY of the local builders who are certified/licensed in many cases don't know what they are doing and/or are intentionally doing poor work. I see their projects, in progress and completed, and can point out the flaws with will cause problems in the short and/or long term - yet they are licensed and I am not. My wife is a teacher - requiring college degrees, licensing, passing of licensing tests, etc... and we could both write you a book on the stupidity that manages to make its way into the classroom. Licensing only puts barriers in the way for those interested in going into the field and eliminates great talent that will go in another direction instead of hopping though the red tape hoops. Sure you may filter low quality programmers out - but at such great expenses. Protected industries are insane and should be abolished across this county/world. An look at the education system. I have reviewed so many Computer Science degrees from multiple colleges where the amount of programming, the level of difficulty, and real world use is abysmal. I
Did I say license?
Gus Gustafson
-
Nothing about a professional society should prevent you from learning to program, just as nothing should prevent you from testing yourself for a fever and taking an aspirin to reduce it. But just as with medicine, there is a point where the public has an interest in certifying the quality of practitioners. That point comes when a practitioner wants to be paid for their expertise, and wants to prescribe the most powerful and problematic treatments, that require experience and knowledge to administer.
I agree with you in that software for critical missions or services should be verified and/or certified by competent developers, but (no offense intended) an aspirin is - compared to the medical arsenal - what a MS-DOS .BAT file is for software development. Are there only small tools to be left to "power users"? A "professional association" model would not push companies to distribute programming tools only to "certified" developers and then, in a positive reaction of some kind, few and few will become computer-programming-literates and the liberty of thinking (and inventing things) will suffer? Oh, but there's the Open Source ... May I ask what do you think about it? What should be done with the huge code-sharing resources available or, more general, with "the" Open Source? There are, I think, critical applications based upon (sites hosted with Apache Web Server, ...). Someone working as non-professional developer should not get payed for his/her knowledge/effort (I didn't write "expertise" as I'm talking about a non-professional). Or a model like ActiveState or RedHat - where a community of developers makes software that the company selects and certifies - would be more acceptable?
-
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency. So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention. What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices. Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software. I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to d
Got mine first try. Computer grads; not so much. [Certificate in Data Processing - Wikipedia](https://en.wikipedia.org/wiki/Certificate\_in\_Data\_Processing)
The Master said, 'Am I indeed possessed of knowledge? I am not knowing. But if a mean person, who appears quite empty-like, ask anything of me, I set it forth from one end to the other, and exhaust it.' ― Confucian Analects
-
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency. So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention. What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices. Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software. I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to d
Quote:
What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices.
Can we look at a programmer as someone who breaks a given task into steps and instructions for a computer to follow? How big a program does it have to be to make a programmer? I don't have quite your years, but VBA and xbase (Clipper & FoxPro) before, have been good to me. I have an MS Access database with ~20 users that has been working for ~20 years now. We have code at so many layers, imbedded systems to UI candy. Is writing SQL, coding? RegEx, does that count?
-
What a disgusting premise! The computing industry has been a major boom because people can get into it and develop what their imaginations can create. Stifling this with BS licenses and then ensuing regulatory legislation that would not be far behind would slam the brakes on this. What a ridiculous comment that people using higher level programming languages aren't programmers - such a narrow point of view. Do you really need to dig into the depths of C to write a front end application heavy in reporting functions? With your experience you should know and see that certain languages are better suited for different tasks. This kind of elitist mindset is one good reason for not having certifications and regulations. Any manager worth their salt who is in charge of hiring can cipher out a skilled programmer vs a newbie or someone that knows enough to "look" good - but are not capable of the job at hand - and "technical currency" can then be determined. If they are a junior level programmer - then pay them as such - and pay a senior level programmer accordingly. Experience and actual knowledge do matter - but a license DOES NOT guarantee the quality of either of these. I have spent the last few years substantially remodeling my house. I have studied local and state building code, building standards for residential building code, electrical/plumbing codes, studied architectural and structural engineering, etc... to make sure it is done right. What I have learned is that MANY of the local builders who are certified/licensed in many cases don't know what they are doing and/or are intentionally doing poor work. I see their projects, in progress and completed, and can point out the flaws with will cause problems in the short and/or long term - yet they are licensed and I am not. My wife is a teacher - requiring college degrees, licensing, passing of licensing tests, etc... and we could both write you a book on the stupidity that manages to make its way into the classroom. Licensing only puts barriers in the way for those interested in going into the field and eliminates great talent that will go in another direction instead of hopping though the red tape hoops. Sure you may filter low quality programmers out - but at such great expenses. Protected industries are insane and should be abolished across this county/world. An look at the education system. I have reviewed so many Computer Science degrees from multiple colleges where the amount of programming, the level of difficulty, and real world use is abysmal. I
Very pertinent answer, I think (I can't give 2 upvotes...). As a medical "specialist" I can only agree with you that self-learning values the most, we must all have licenses (in order to practice). As a self-taught "developer" I can say the same thing. Freedom is the key for any developer/creator/inventor. Checking and/or testing is the key for any user/client, starting by not clicking on any "Download Here" link on any obscure page.
-
Did I say license?
Gus Gustafson
Certification with an argument for imposing consequences sounds like licensing to me or already close to the next step to get there. It's a moving line. Open the door, and the next person fights for the next step. Doesn't answer my concerns and points in any case. Plus - there are certifications for software development/software engineering - I suppose you just don't like them? Maybe for some of the reasons I point out?
-
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency. So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention. What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices. Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software. I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to d
While I agree with your reasoning (it astounds me what calls itself a programmer these days), collective bargaining is not the answer - and that's one of the undesired outcomes of becoming part of a professional association. I know what I'm talking about. In the early 90s (yeah, before you looked up stuff on the internet) I was an up-and-coming Ada programmer with General Electric. Whether I wanted to be or not I was represented by ASPEP (Association of Scientific and Professional Engineering Personnel). Apart from the monthly sub-par (free!) Prime Rib dinner to discuss... whatever, there was nothing positive about the experience unless you were the sort to not really apply ones-self. ANY kind of reward system is GONE! Everybody gets a raise, so no one gets a decent raise. Management tends to love this because you can't appeal to them directly or you get something like "Sorry, the union says blah blah blah, and there is nothing I can do about it." or "You know, if it were up to me I'd give you a huge raise, you deserve it, but the union...". I can see you have the best of intentions and you didn't explicitly use the term "union" but that's what "professional associations" inevitably become. Then they become an organism whose sole drive is to exist and procreate. I've been there and there is no "union" in ASPEP either. Vote No!
-
What a disgusting premise! The computing industry has been a major boom because people can get into it and develop what their imaginations can create. Stifling this with BS licenses and then ensuing regulatory legislation that would not be far behind would slam the brakes on this. What a ridiculous comment that people using higher level programming languages aren't programmers - such a narrow point of view. Do you really need to dig into the depths of C to write a front end application heavy in reporting functions? With your experience you should know and see that certain languages are better suited for different tasks. This kind of elitist mindset is one good reason for not having certifications and regulations. Any manager worth their salt who is in charge of hiring can cipher out a skilled programmer vs a newbie or someone that knows enough to "look" good - but are not capable of the job at hand - and "technical currency" can then be determined. If they are a junior level programmer - then pay them as such - and pay a senior level programmer accordingly. Experience and actual knowledge do matter - but a license DOES NOT guarantee the quality of either of these. I have spent the last few years substantially remodeling my house. I have studied local and state building code, building standards for residential building code, electrical/plumbing codes, studied architectural and structural engineering, etc... to make sure it is done right. What I have learned is that MANY of the local builders who are certified/licensed in many cases don't know what they are doing and/or are intentionally doing poor work. I see their projects, in progress and completed, and can point out the flaws with will cause problems in the short and/or long term - yet they are licensed and I am not. My wife is a teacher - requiring college degrees, licensing, passing of licensing tests, etc... and we could both write you a book on the stupidity that manages to make its way into the classroom. Licensing only puts barriers in the way for those interested in going into the field and eliminates great talent that will go in another direction instead of hopping though the red tape hoops. Sure you may filter low quality programmers out - but at such great expenses. Protected industries are insane and should be abolished across this county/world. An look at the education system. I have reviewed so many Computer Science degrees from multiple colleges where the amount of programming, the level of difficulty, and real world use is abysmal. I
Quote:
I have reviewed so many Computer Science degrees from multiple colleges where the amount of programming, the level of difficulty, and real world use is abysmal.
I think you proved his point.
The Master said, 'Am I indeed possessed of knowledge? I am not knowing. But if a mean person, who appears quite empty-like, ask anything of me, I set it forth from one end to the other, and exhaust it.' ― Confucian Analects