Train drivers being called engineers has nothing to do with this. It is simply a coincidence that they happen to have the same name. They are sometimes called "engineers" but what they do is never called "engineering". No one thinks that the two jobs are the same thing any more than they think that an academic doctor is the same thing as a medical doctor. With software engineers, that is not the case. There is a great deal of academic study in the field of "software engineering".
There are, in fact, many places where engineer is not a protected title and to claim otherwise is just wrong. Many large countries like the US, UK and France do not restrict the use of the title engineer. They only restrict something like "Professional Engineer" or "Chartered Engineer".
It has everything to do with it. Just as much as you are saying what train drivers does has nothing to do with engineering, just the same I am saying writing javascript also has nothing to do with engineering...
There is a great deal of academic study in the field of "software engineering". That I agree with, but that academic research is being done by degree'd people, either with computer science or computer engineering degrees. Even still they don't practice engineering, they are researchers or scientist. Much like in the other engineering professions, scientists study and advance the engineering fields.
They only restrict something like "Professional Engineer" or "Chartered Engineer".
Ok that I agree with, but I restate, writing code does not make you an engineer, anymore than performing an operation makes me a doctor. Being board certified, makes you a docter. Same with engineering.
There are, in fact, many places where engineer is not a protected title and to claim otherwise is just wrong. Many large countries like the US, UK and France do not restrict the use of the title engineer. They only restrict something like "Professional Engineer" or "Chartered Engineer".