Traditional professions share essential characteristics. They provide a vital service to society, requiring expertise and skill developed through years of training, education, and experience. Professions establish standards of practice and certify that their members are qualified to serve the needs of society.
--US Army, ADP 6-22, Army Leadership and the Profession
Software does not have explicit standards of practice or a required body of certifications for its practitioners. Software, as an employment, is whatever an employer wants or is willing to accept at any given moment.
Hillel Wayne wrote a really excellent well researched article about software engineering compared to other forms of engineering a few years ago. It necessarily goes into a lot of this stuff but what emerges is that these definitions are regulatory and historical debris.
You don't need medical board or a bar to certify or constrain professional behavior and those organizations may not constrain as much as you assume anyway. The reasons we do have those institutions is as much a matter of historical accident as any modern need for it, and the reasons we don't have it for other high impact fields is pretty much an accident too.
And in a lot of the world software engineering does have professional certification and standards of practice. They still ship adware and racist loan denial algorithms too.
Every part of your existing job is transforming before your eyes.
If you cling to definitions and static roles, you're going to have a bad time.
I'm not going to let the army tell me what my job is.
https://www.computer.org/education/bodies-of-knowledge/softw...
But by that definition, soldiering can never be a "profession" as a soldier is always regulated by the government they serve, and there is no professional association regulating mercenaries. But I would be very hesitant to suggest that the US Marines are not professional soldiers. They are. The definitions are messy.
Yes, several: the ACS, ACM, IEEE.
So you’re wrong.