Why Software Engineering Is Also Business, Law, Policy, and Judgment
The part of software engineering that code cannot explain
A software system can be technically correct and still be the wrong solution. It can compile, pass its tests, meet its performance requirements, and still fail because the solution does not fit the organization's policies, regulations, business process, risk tolerance, or actual human needs.
This is one of the reasons I increasingly see professional software engineering as more than technical implementation. The difficult questions are often not purely technical questions. They can involve law, regulation, business priorities, organizational policy, ethics, cost, accountability, human behavior, and competing stakeholder interests.
The ACM's current CS2023 curriculum makes this distinction explicitly. ACM states that technical topics do not constitute a complete computing education and that computing professionals also need an understanding of social, ethical, legal, and professional issues and responsibilities. It also describes these capabilities as transferable across projects, jobs, industries, and increasingly into leadership and management. [1]
Technology exists inside an organization
IBM's current discussion of cloud governance makes this relationship very concrete. IBM describes governance as the policy framework that guides how enterprises use cloud services and explains that governance must keep cloud usage aligned with security requirements, cost controls, organizational goals, laws, and regulations. [2]
That means a technical decision cannot always be evaluated only by asking, "Does this architecture work?"
A professional engineer also has to ask: Is this permitted? Is it secure enough? Does it expose the organization to unnecessary liability? Does it fit the company's policy? Does it satisfy the client's obligations? Who is accountable if it fails?
Those are not syntax questions. They are professional judgment questions.
Law and regulation become engineering constraints
Laws and regulations are not merely legal department concerns that exist somewhere outside software development. In practice, they can become direct engineering constraints.
IBM's discussion of AI governance provides a useful example. IBM explains that governance frameworks are used to address bias, privacy, security, accountability, regulatory compliance, and human oversight. It also identifies legal teams and general counsel as important stakeholders when AI systems have regulatory implications. [3]
Therefore, a developer working on an AI-enabled system may have to understand more than how the model works. The developer may need to understand what data can legally be processed, what information needs protection, which users may be affected, what decisions require human intervention, and what evidence must be retained.
The implementation may still be written in Java, C#, Python, or another language. The constraint, however, came from outside the programming language.
Business requirements are not technical requirements
PMI's requirements guidance, discussed by Michele Maritato, separates business requirements from solution requirements. Business requirements describe the problem or opportunity and the value the organization wants to achieve, while solution requirements describe the capabilities needed to satisfy those needs. [4]
This distinction is extremely important.
A client might say, "We need a mobile application." That is not automatically the real requirement. The underlying business problem might actually be slow customer processing, poor field communication, inconsistent records, or a lack of visibility into operations.
The engineer's job is therefore not to blindly implement the first technical request. The engineer has to understand the underlying need, challenge assumptions when appropriate, identify constraints, and determine whether the proposed technology actually addresses the problem.
The importance of policies and organizational context
Organizations operate according to policies that may have nothing to do with programming syntax. There can be rules about data retention, authentication, employee access, procurement, vendor management, incident reporting, security, records management, acceptable technology use, and change approval.
IBM's cloud-governance guidance describes governance precisely in these terms: organizations establish "house rules" for technology usage so that systems remain secure, transparent, financially controlled, and compliant. [2]
This is why I think engineers should learn to read policies and requirements instead of assuming everything relevant to a project will appear in a technical specification.
Sometimes the most important engineering constraint is buried in a paragraph written by legal, compliance, security, procurement, or business operations.
Not every problem has a 1 + 1 = 2 answer
Technical problems often have measurable answers. A query either returns the correct result. A service either reaches its latency target. A program either handles the required input.
Professional decisions can be different.
Suppose one solution is cheaper, another is safer, another is easier to maintain, and another provides more flexibility. There may be no universal equation that produces one objectively correct answer.
ACM's Code of Ethics explicitly recognizes this problem. The Code states that ethical decision-making is not an algorithm and that several principles may need to be considered at the same time, with different levels of relevance depending on the situation. [5]
This is where professional judgment becomes important. The engineer has to evaluate the situation, understand competing responsibilities, consider risks, and make a decision that can be explained and defended.
Humans remain accountable
IBM's current responsible-AI guidance provides another important distinction: IBM argues that AI should augment human intelligence rather than independently replace human responsibility. Its guidance recommends human oversight, agency, accountability, training, and reskilling throughout the AI lifecycle. [6]
IBM's human-in-the-loop guidance similarly explains that human participation can provide safeguards for ambiguity, bias, edge cases, ethical reasoning, and technical, legal, or operational risk. [7]
This does not prove that AI can never replace a particular job or task. It does show something more useful: automation does not eliminate the need for people who understand the context in which a technical decision is being applied.
Why this matters to my career
This is the direction I want to take professionally: not just becoming someone who can implement software, but someone who can understand the business, technical, legal, policy, ethical, and human context surrounding the software.
I want to be capable of talking to developers about architecture, to managers about project risks, to clients about business value, and to non-technical stakeholders about what a system actually means for them.
That combination creates a different kind of engineering value. The technical implementation can increasingly be assisted by tools, automation, and AI. Understanding what should be built, what should not be built, who will be affected, what obligations exist, and how the organization should act is a broader professional responsibility.
What I learned
The more I study software engineering, the less I see it as a purely technical discipline. ACM's curriculum explicitly connects computing to society, ethics, law, and professional responsibility. IBM connects enterprise technology to governance, policy, regulation, accountability, and human oversight. PMI connects technical solutions back to business requirements and organizational value. [1] [3] [4]
That is the layer of software engineering I want to develop: technical competence combined with business awareness, legal and policy awareness, professional ethics, and the judgment to make decisions when there is no simple technical answer.
References
-
ACM Computer Science Curricula.
"CS2023: Society, Ethics, and the Profession."
https://csed.acm.org/wp-content/uploads/2025/11/CS2023-Report.htm -
IBM.
"What is cloud governance?"
https://www.ibm.com/think/topics/cloud-governance -
IBM.
"What is AI governance?"
https://www.ibm.com/think/topics/ai-governance -
Project Management Institute (PMI).
Michele Maritato, "Mastering the project requirements."
https://www.pmi.org/learning/library/mastering-project-requirements-assessing-good-5942 -
Association for Computing Machinery (ACM).
"ACM Code of Ethics and Professional Conduct."
https://acm.org/binaries/content/assets/about/acm-code-of-ethics-and-professional-conduct.pdf -
IBM Responsible Technology Board.
"Best practices for augmenting human intelligence with AI."
https://www.ibm.com/think/insights/ai-best-practices -
IBM.
"What Is Human In The Loop (HITL)?"
https://www.ibm.com/think/topics/human-in-the-loop