|
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?
|
|
|
|
|
If you can actually produce something useful, with a "minimum" of defects, that someone else can maintain, then I think you can call yourself a programmer; regardless of the platform.
That does not (automatically) qualify you to program a pace maker or a flight control system with all the IF's and ELSE's.
"Developing" is not the same as programming (or "coding").
I am a software "developer".
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
|
|
|
|
|
These are self imposed titles. A programmer is a programmer is a programmer. You can claim developer is better but a programmer is a developer is a programmer. Same thing. As much as the OP wants it to be engineer, or whatever. I have programmed for years on my own. Never employed as a programmer - but I am proficient enough that I am not really concerned about what language you'd like me to use (unless some technical specification makes in insane to make it work). I've gotten to a point a long time ago that it's just translation and what pre-exiting functions/classes/etc.. you have to work with. But, I also have a wide variety of knowledge to bring to the table that many programmers don't. Such as - my high end background in IT and business systems gives me a lot of knowledge about operating systems, servers (web/mail/database/routing/etc), security models, networking/network security, database design/implementation/security/tuning, accounting systems, double entry bookkeeping and accounting, tax code, legal issues (business, government, etc). Many computer languages: direct hex editing; various assemblers, COBOL, BASICs, PASCALs, Cs, C++s, SQLs, DDLs, VB(DOS)/VB(Windows)/VB.NET, C#, Java, JavaScript, VBScript, HTML, CSS, XML, etc., etc. and I've programed across many of these boundaries. Currently writing a billing system for a County Government using C#, Azure SQL Server, with some web components. Also, a mostly finished custom air handler control system using RaspberryPi with Python, MQTT, as well as designing the circuit board and components for a small datacenter I own and run.
However - don't worry about keeping all the code locked in my head. I know what I want to do - the general structure that I need to develop, the security concerns, the bookkeeping side of it all, the web server and security side of it all and I simply look up what I don't recall (which is a lot - specific syntax, data types, even finding the commands/classes/etc... that I want to utilize. Makes me a bit slower - but there's very little I can't develop. I even wrote 3D graphics rotation systems back in the early 80's on my Apple II - and my own multi-language complier. BUT - I doubt I would pass a programmer certification test - as they are typically very specific in what they want you to know off the top of your head - like about some language syntax or command use. Who cares - look it up. That's what the docs are for - and google But - should I be an apprentice? Or be excluded for working for a business as a programmer/coder/whatever you want to call it?
I think the employer/customer needs to take the time to know what they need in a programmer. Interview them. Figure out if they can do what they say they can - and then decide. Relying on licenses, certifications, titles, etc is the lazy persons way out of knowing what they actually need and having enough knowledge to see if that is who they have in front of them.
|
|
|
|
|
I think you expect too much from your "average" customer in terms of vetting a "programmer".
Makes about as much sense as me making a medical diagnosis, which didn't involve just an "aspirin".
There are "laws" to protect the consumer. Same difference.
And when I talk of "developing", that includes:
Scope / problem definition
User requirements analysis
Current system analysis
Preliminary / detail design
Presenting, gaining acceptance
Planning, estimating and allocating resources
Executing, monitoring and controlling
Unit, integration and system testing
User training and acceptance testing
Documentation
Turnover to production / maintenance.
Oh, and "programming".
And I have to carry $2,000,000 in "liability insurance". There's my "cred".
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
modified 25-Jun-19 18:53pm.
|
|
|
|
|
And you honestly think because the customer see that a programmers has a cert that they are then vetted?
And yes - if you have a medical condition - do you not make some effort to figure out what it could be, or after going to a doctor - research their conclusions or get a second opinion if a serious issue? Due diligence...
Your list is fine - and doesn't define anything that is not programming. You don't just set down and start plunking the keyboard. You have to define the problem, figure out requirements, da, da, da... I learned nearly 40 years ago that your list is the basic steps of software development/programming. One in the same. Smaller programs may allow skipping some of this - especially when designing for your own purposes - as you are the end user and know what you want to do and so on. But if your are doing it for someone else - and you want to do a good job - what part of this do you leave out?
Maybe you make the distinction that someone hired to write code (a 'programmer') based on the specs given to them after a systems analyst has had at the project, and the user interface design team has worked up their parts, and the project manger has distributed the work amongst the 'programmers' - that these 'programmers' are not developers? I think any 'programmer' should always be a developer if that is your distinction. I don't think I have ever met anyone - self trained, college trained, etc... that looks at programming so narrowly. 'Development' is inherently part of programming in my view. Having a team to split the work load over doesn't absolve the 'programmers' from knowing, understanding, and participating in the overall process. If that's how some handle it - then I think this is poor managements and not taking advantage of the full resources of their programmers/developers/engineers. In my opinion - these are all programmers/software developers/software engineers - whatever - its just a matter of entry level, junior, senior rankings of whatever you want to call them. People are always playing with names. I don't want to be a janitor - I want to be the custodial engineer, or I don't want to be a secretary, I want to be the Front Desk Executive. Same here. We have a department at the state that calls their people that know how to change settings in their tax system software - programmers. Their administrator is the DBA. Names, names, names...
|
|
|
|
|
Many years ago, at a social event, I was introduced to an attractive woman. She asked me what I did for a living and I responded that I was a "software developer". She then asked me some questions and when I could not answer any to her satisfaction, she said that I couldn't be a very good software developer. After further discussion, I found that software, in her mind was clothing. Since then I always reply "computer software developer".
Gus Gustafson
|
|
|
|
|
I hear you.
Depending on the audience, I am, not necessarily in that order:
computer programmer
programmer-analyst
software developer
IT consultant
IT contractor
the computer guy
self-employed
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
|
|
|
|
|
I never intended that professional programmers (i.e.,those who are paid) who use VBA ever think that I am putting them down. VBA is a language that, in the hands of a knowledgeable programmer, can do magic with a spreadsheet. When I used VBA in my complaint about wannabes, I was using an example. I could have used PHP. Sorry for the misunderstanding.
Regards,
Gus Gustafson
|
|
|
|
|
Understood.
I deal with haters at the wrok place, so a little thin skinned on the issue.
|
|
|
|
|
Script kiddies, in other words.
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
|
|
|
|
|
Please see my reply to Andrew L. Meador, below.
Regards,
Gus Gustafson
|
|
|
|
|
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!
|
|
|
|
|
Collective bargaining was never intended. A Code of Ethics; monetary benefits (retirement, insurance, health care, etc.), legal assistance, mediation, etc. was what I had in mind. But the original post was a call for not a proposal for (as noted by another reply-er much work would have to go into the organizing and publicizing)
As an aside, I've been looking up stuff on the "internet" since the early 70's. Only it was called ARPANET.
Regards,
Gus Gustafson
|
|
|
|
|
I intended to mention previously that I agree with you on goals, 100%. But these things get out of hand. The next thing you know the guy who barely phones it in is being promoted just because he's been there too long or you're on strike because there isn't enough tartar sauce to cover the mandated 7 fish sticks for lunch in the cafeteria. And who doesn't like a little on their chips as well...
I only want to emphasize caution because I was part of a system that was too old and established to be changed or removed. To say that no one worth their salt was for it would be unfair because I worked with some truly exceptional software engineers who thought it was a fine idea. But it left me with the impression that there were limits to where my hard work could take me.
To your aside, perhaps I should have use the term "world wide web", but ARPANET, man you are older than me!
|
|
|
|
|
I am older than most. My partner says I'm "older than rock".
Gus Gustafson
|
|
|
|
|
Your post makes a lot of sense. You may be interested to look at the 'British Computer Society' in the UK. They accept qualified people from around the world into membership.
Also, in the USA, there is the 'Association for Computing Machinery'. I enjoy the articles in their journal and they keep me in touch with what is going on in technology. Also, they provide access to online training courses, books and have a comprehensive digital library.
Both of the above fulfil the role of learned societies rather than trade unions but I don't believe any competent programmer, software/systems designer, etc., has need of a trade union. Generally, because of their knowledge and experience, they can walk away from bad employers with the knowledge they will be picked up by some other company.
|
|
|
|
|
In 1990 I was invited to a membership review committee by the ACM. I had been a critic of the organization for its failure to address the problems facing the production programmer. Yes, the Special Interest Groups had the occasional useful-to-a-production-programmer article (especially the SIGPLAN). But the vast majority of the publications (Journal, Communication, Review, etc.) were aimed at a more academic audience. ACM did not recognize the problem and I discontinued my membership two years later.
So although ACM has some useful offerings, they come with a price too high.
Thanks for your thoughts.
Gus Gustafson
|
|
|
|
|
I believe the call is raising a very important concern.
While it is true that fault can come from management, but a programmer sitting on a desk may not have the right defense to say 'no' to things that he or she is asked to certain things which do not necessarily is ethical. An association could also make a programmer stronger so that he/she can defend in reference to ethical standards set by the professional association and with the existence of such association, programmers may not be proactively working on the 'unethical' things within the software. Uncle (Bob) Martin would also agree as he has been talking about a need for professionalism for some time now. HEre is the link about Uncle (Bob) Martin's call for professionalism Robert C. Martin (Uncle Bob) - Demanding Professionalism in Software Development – Zaneta Baran[^]
|
|
|
|
|
|
I'm not going to call you a programming snob, but I do think you are biased against VBA programming. It's true that much of the programming in VBA is trivial, but some of it is very complex and supports a multitude of business in their day to day operations. Were it not for VBA these companies would have to pay a fortune for bespoke app's and spend large amounts of time doing things 'manually'.
|
|
|
|
|
Did I not make myself clear in my reply to Andrew L. Meador? Please don't try to draw me into a flame war regarding the worth of any or all programming languages. Each has a place.
I have used VBA but I caution you, in most of my tasks, VBA would not be the language of choice. Systems, embedded, communications, weapons, medical, etc. software would be, in my opinion, very difficult to implement in VBA. But Excel spreadsheet modules are a different story.
And should the organization that I propose come to fruition, VBA programmers would be more than welcome.
Gus Gustafson
|
|
|
|
|
Unionize, never.
Professional organization, like ASME for mechanical engineers, or even like a PE license, yes.
|
|
|
|
|
What about the ACM? The Association for Computing Machinery is about as professional as can be had.
|
|
|
|
|
When I discovered the ACM in 1975, I was just beginning to learn that there was much more to programming than just design and coding. It seemed to me that the ACM was an organization that could help me improve my understanding of algorithms and architecture. I was so impressed that I recruited my peers and students to join the ACM. I had subscriptions to Communications, JACM, Reviews, Transactions, and joined the special interest groups SIGGRAPH, SIGMOD, SIGPLAN, SIGSIM, and SIGSOFT. I ended up with more than 25 boxes of publication that I touted around from job to job. There were a few notable exceptions: Boyer Moore A fast string searching algorithm and Vitter's Implementations for Coalesced Hashing. But it seemed that ACM was aiming solely at academia rather than including programmers-in-the-wild.
The ACM offers little to its members in the way the proposed organization would. So although I agree that the ACM was once (in 1975 - 1998) an organization that programmers should join, I don't think that it would perform the services I suggest. Note too that I proposed such an organization to ACM and was advised it was not interested!
Gus Gustafson
|
|
|
|
|
Is a byproduct the manufacturers last desperate plea?
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!
|
|
|
|
|