For instance in Germany with its strong engineering tradition, nobody in their right mind would call somebody who builds software an 'engineer' (there are some google hits for "Softwareingeneur" but I bet this has a fairly recent thing and has been leaking back from English).
A person who builds software is simply called a 'programmer' or 'developer' here.
And I really have my doubts that there's any meaningful difference between what's called a 'software engineer' in the US and a 'programmer/developer' in Germany. Building software requires creativity, planning, experience, rationalism and problem solving abilities, all in the same person. If you don't have that, then don't call yourself a 'programmer' ;)
Out of interest what are the different skillset requirements between 'software engineering' and 'programming'? Because I really can't think of any.
I have a bachelor of software engineering, accredited by the Australian institute of engineers. Many of my university buddies studied computer science, so I saw the difference in course loads and expectations then, and 17 years later I’ve seen it play out long term.
If I have to pin it down, I’d say my degree had a lot of focus on all the phases of the SDLC, while computer science and programming are just one phase.
My course was an extra year and included mandatory classes on testing theory, large scale system design, real time systems, personal software process, and much more theory about the what, why and how of each phase of the SDLC.
My computer science friends were just writing code, without much education on the bigger picture.
So I would say a programmer is doing one piece of building a software system (like a bricklayer), while a software engineer keeps in mind and can actually perform all the tasks required to design, build, test, document and support the software (all the people required to build a building from conception to completion)
I've worked with multiple german companies that declared their programmers as engineers, "Jr/Mid/Sr Software Engineer" or the more focused "Frontend/Backend/Fullstack Software Engineer". Maybe that's more of a thing in agencies? But then I think SAP calls them "Software Engineer" as well.
I suspect this is mainly because the whole hiring process has been internationalized, and 'Software Engineer' seems to have become the common international phrase for 'anybody who has the ability to author software'.
15 years ago it would have been "Softwareentwickler" or "Programmierer" (optionally with the requirement of a degree in computer science, which - funny enough - also isn't excplicitely called a 'science' in Germany, but simply 'informatics'), even though the job description would be exactly the same as today.
I wouldn't put too much thought into the naming, "informatics" in Germany is still a Bachelor/Master of Science and on the other hand at Stanford they have a "Mathematical and Computational Engineering" programme.
These all lead to articles which basically come down to separate 'architect vs implementer' roles, which is a long outdated view on how software development works.
This is true. "software engineering" was very terrible trauma back in university. It's almost nothing about coding, it's waterfall and a bunch of diagrams. I still think "software engineer" could be overloaded to mean something related to performance .. and architect, and some other things that's not related to coding style or even algorithm.
For instance in Germany with its strong engineering tradition, nobody in their right mind would call somebody who builds software an 'engineer' (there are some google hits for "Softwareingeneur" but I bet this has a fairly recent thing and has been leaking back from English).
A person who builds software is simply called a 'programmer' or 'developer' here.
And I really have my doubts that there's any meaningful difference between what's called a 'software engineer' in the US and a 'programmer/developer' in Germany. Building software requires creativity, planning, experience, rationalism and problem solving abilities, all in the same person. If you don't have that, then don't call yourself a 'programmer' ;)
Out of interest what are the different skillset requirements between 'software engineering' and 'programming'? Because I really can't think of any.