The Process of Cognition

by Oleg Sovetnik

The concept of Umwelt, originally developed in biology, describes how living organisms perceive and interact with their surroundings, forming their unique view of reality. In programming, this principle can be applied to describe how systems interpret and interact with data from a subject area. Umwelt acts as a set of architectural decisions and models that define how a software system perceives and adapts to its environment.

Parallels between creating Umwelt in programming and the methodology of sociological research lie in the similar approach to working with abstract models. Like sociologists studying social processes, programmers face the need to choose a theoretical foundation that will guide their work. The choice of a fundamental theory plays a key role at the initial stage—it serves as the basis for conceptualizing complex phenomena and systems.

At the conceptualization stage, abstract ideas are transformed into specific models that represent a simplified and structured version of the studied reality. In programming, this means creating a model of the subject area that reflects key aspects of the real world. Similarly to the sociological process, programmers abstract from unnecessary details and focus on the important elements of the system.

The next stage, operationalization, involves translating concepts and models into concrete working elements. In programming, this corresponds to writing code that implements models of the subject area, enabling the system to interact with real data. This process turns abstract ideas into concrete functional tools.

The main contribution of sociology to rethinking the process of researching a subject area lies in its ability to view knowledge not as something static and independent of social context, but as the result of social interactions, networks, and structures. This changes the perspective on researching a subject area, as it becomes important not only to study the area itself but also to understand the social factors that influence its perception and interpretation.

Applying the concept of Umwelt in programming demonstrates possible paths for a more structured approach to software development, allowing the integration of various aspects of data and context into the system’s operations.


  1. Common Stages
    This section introduces the key parallels between processes in sociology and programming, forming the foundation for further discussions. In both disciplines, there are four main stages: fundamental theory (or programming paradigm), conceptualization (defining entities), operationalization (defining properties), and fact verification (testing in programming or empirical observation in sociology). Comparing these processes reveals how sociology and programming follow a shared structure in building and verifying models of reality.

  2. Choosing a Fundamental Theory
    After explaining the common stages, it makes sense to move on to the first step—choosing the theoretical foundation. This section examines how fundamental theory in both sociology and programming directs subsequent steps in research or development.

  3. Conceptualization
    Next, the conceptualization process is discussed: how abstract theoretical ideas are transformed into specific models. This shows how both sociology and programming create models that reflect the subject area.

  4. Operationalization
    The next stage is the implementation of these models, translating them into code or measurable elements. This subsection explains how theory and concepts are transformed into concrete actions (in programming—into code).

  5. A New Approach
    The division concludes with a description of a new approach, where the concept of Umwelt links the stages of software development to sociological research. Possible benefits of using this scheme for developing complex systems are discussed here.

sociology umwelt research cognition


Dive deeper


  • Object and Subject

    The distinction between object and subject of research, their transformation in the process of scientific inquiry, and the connection to the concept of Umwelt. It shows how conceptual frameworks and subjective perceptions shape research subjects and influence the understanding of reality in different disciplines.

    object subject umwelt research



  • The Choice of Theory

    The choice of a foundational theory in sociological research sets the framework for analysis and directs the course of the study.

    sociology theory research



  • Conceptualization

    Conceptualization in sociology is a key stage in the research process, where abstract ideas and foundational theories are transformed into concrete concepts. It is the basis of both scientific knowledge and practical activity, allowing for the creation of cognitive schemas necessary for understanding and interacting with reality.

    sociology theory conceptualization domain umwelt



  • Operationalization

    Operationalization and its impact on conceptualization, along with the need for refactoring the conceptual model when discrepancies arise between the conceptual schema and empirical data.

    sociology operationalization domain umwelt



  • Understanding Facts

    A fact is a statement about a phenomenon that is only true within the context of a specific conceptual framework and theoretical model.

    sociology theory fact research



  • Common Stages

    A comparison of two processes—conceptualization and operationalization in sociology—and approaches to modeling a domain in programming, to understand how these approaches can enrich software engineering.

    sociology umwelt research



  • Umwelt in Programming

    A new approach to software development based on sociological theories. It involves creating a system grounded in the concept of Umwelt.

    sociology umwelt programming


Buzzwords
strong-weak-ties programming social-group-dynamics mindmap platform-networks structural-functionalism rationalism structuration-theory cognitive-capital mediatisation-theory operationalization enterprise Babylon automation social-action marketplace AI actor-network ideas scrum discord cognition communication social-capital financial production semantic-gap aspect-oriented umwelt empiricism positivism gap actor-network-theory research complexity information imperative verification problem psychologism game-dev streaming systems-theory disciplinary-power multiple-worlds-theory teamwork theory systems elephant cloud knowledge-communication structure tools symbolic-interactionism babylon field-theory messengers element security network e-commerce mediation-market big-data fact information-society concept communities philosophy social-network elements development object service multimedia sociology paradigm distribution theories language lenses epistemology metaphor social-exchange functional deconstruction linguistics anthropology meaning apriorism institutionalization-theory analytics projects conceptualization concepts poststructuralism procedural knowledge hoare-triples domain semantics consumption-theory syntax capitalist-systems subject