← Back to context

Comment by austin-cheney

9 hours ago

Software is an employment rather than a profession. That distinction is important. Here is a definition of profession:

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.

What do you find important about this distinction? To me it's a description of the normative relationship between practitioners and broader society but I don't really see the significance you do.

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.

https://www.hillelwayne.com/post/are-we-really-engineers/

  • If you have ever worked in almost any other industry your first question quickly answers itself. If you have never worked in an industry principally governed by ethical standards it would be challenging for me to describe it to you. I cannot give you what your perspective has never before imagined.

    • I'm not sure how you can know what I've experienced or imagined. But I appreciate your ownership of the communication failure here.

  • I sure as hell don’t want a doctor who hasn’t gone through any kind of certification and approval process.

    • for me it would depend on a situation (I definitely would not want to be in a situation where this would be needed)

  • Coding interviews don't matter anymore.

    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.

> US Army, ADP 6-22, Army Leadership and the Profession

I'm not going to let the army tell me what my job is.

  • Well yes, but dont call it a profession then.

    And lets be pirates and hackers instead.

The IEEE has made some efforts to turn software engineering from an occupation into a profession — on par with civil engineering, architecture, law, medicine, military science, etc. A true profession requires a recognized body of knowledge, formal qualification criteria, and a code of ethics. So far most working software developers haven't shown much interest in this, nor is there much demand from employers or government authorities. I don't think we need to professionalize software engineering in the general case but it is an option for those who want it.

https://www.computer.org/education/bodies-of-knowledge/softw...

Be careful with military definitions. One near-universal aspect of a "profession" is that it be self-regulating. Lawyers have Bar Associations that dictate who can or cannot practice. Doctors have Medical Associations. So too accountants and engineers. These entities are granted monopolies but remain independent from government and set their own standards.

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.

  • > These entities are independent from government and set their own standards.

    As they should. Industries should be self regulating. While these industries form their own standards of practice they do so with the blessing of government, typically under state government supervision/authorization in the US, and are held to account by government. A lawyer or doctor who violates their standards of practice could very likely be guilty of criminal law and find themselves in prison depending upon the violation even when no other criminal actions occurred.

    Even bus drivers are held to higher standards of practice than software developers.

    • >> Even bus drivers are held to higher standards of practice than software developers.

      Because while there are some software developers that might be in a place to cause people physical harm, ALL bus drivers are ALWAYS in a position to cause great and immediate harm to others on the road.

      1 reply →

An easier way to answer this question is: does the profession have a professional society?

Yes, several: the ACS, ACM, IEEE.

So you’re wrong.

  • Do those organizations determine your acceptable level of practice? I would argue they do not and are thus not relevant to this conversation.

    What was your last employer that asked for your license number of member ID from any of those organizations? I am guessing it has never happened.

    Normally when people try this argument they are hoping a for a dog whistle to shift ground because they don't want to be regulated.