1st Principles

Subject

Software Engineering

Building reliable software in teams with tests, design, and delivery.

102 sub-topics · use search below on large subjects

Topics

Foundations

Orientation and shared vocabulary for this subject.

In practice

How practitioners apply core ideas in real settings.

Application

Constraints in real jobs in Software Engineering

Constraints in real jobs as it applies to Software Engineering.

Cost and benefit in Software Engineering

Cost and benefit as it applies to Software Engineering.

Failure modes in Software Engineering

Failure modes as it applies to Software Engineering.

Implementation steps in Software Engineering

Implementation steps as it applies to Software Engineering.

Maintenance over time in Software Engineering

Maintenance over time as it applies to Software Engineering.

Problem framing in Software Engineering

Problem framing as it applies to Software Engineering.

Risk in Software Engineering

Risk as it applies to Software Engineering.

Scaling up in Software Engineering

Scaling up as it applies to Software Engineering.

Stakeholders in Software Engineering

Stakeholders as it applies to Software Engineering.

Trade-offs in Software Engineering

Trade-offs as it applies to Software Engineering.

Communication

Cross-disciplinary talk in Software Engineering

Cross-disciplinary talk as it applies to Software Engineering.

Explaining to beginners in Software Engineering

Explaining to beginners as it applies to Software Engineering.

Media coverage in Software Engineering

Media coverage as it applies to Software Engineering.

Open questions in Software Engineering

Open questions as it applies to Software Engineering.

Policy briefs in Software Engineering

Policy briefs as it applies to Software Engineering.

Presentations in Software Engineering

Presentations as it applies to Software Engineering.

Public controversy in Software Engineering

Public controversy as it applies to Software Engineering.

Teaching others in Software Engineering

Teaching others as it applies to Software Engineering.

Visuals that teach in Software Engineering

Visuals that teach as it applies to Software Engineering.

Writing clear summaries in Software Engineering

Writing clear summaries as it applies to Software Engineering.

Comparison

Analogies from other fields in Software Engineering

Analogies from other fields as it applies to Software Engineering.

Common confusions in Software Engineering

Common confusions as it applies to Software Engineering.

Competing models in Software Engineering

Competing models as it applies to Software Engineering.

Consensus areas in Software Engineering

Consensus areas as it applies to Software Engineering.

Debates that matter in Software Engineering

Debates that matter as it applies to Software Engineering.

Historical shifts in Software Engineering

Historical shifts as it applies to Software Engineering.

Interdisciplinary links in Software Engineering

Interdisciplinary links as it applies to Software Engineering.

Regional differences in Software Engineering

Regional differences as it applies to Software Engineering.

Schools of thought in Software Engineering

Schools of thought as it applies to Software Engineering.

Translation of terms in Software Engineering

Translation of terms as it applies to Software Engineering.

Context

Climate and environment in Software Engineering

Climate and environment as it applies to Software Engineering.

Demographics in Software Engineering

Demographics as it applies to Software Engineering.

Equity and access in Software Engineering

Equity and access as it applies to Software Engineering.

Funding in Software Engineering

Funding as it applies to Software Engineering.

Future scenarios in Software Engineering

Future scenarios as it applies to Software Engineering.

Global trends in Software Engineering

Global trends as it applies to Software Engineering.

Institutions in Software Engineering

Institutions as it applies to Software Engineering.

Regulation in Software Engineering

Regulation as it applies to Software Engineering.

Social impact in Software Engineering

Social impact as it applies to Software Engineering.

Technology change in Software Engineering

Technology change as it applies to Software Engineering.

Core ideas

Abstraction levels in Software Engineering

Abstraction levels as it applies to Software Engineering.

Cause and correlation in Software Engineering

Cause and correlation as it applies to Software Engineering.

Central definitions in Software Engineering

Central definitions as it applies to Software Engineering.

Equilibrium and change in Software Engineering

Equilibrium and change as it applies to Software Engineering.

Feedback loops in Software Engineering

Feedback loops as it applies to Software Engineering.

Laws, rules, or patterns in Software Engineering

Laws, rules, or patterns as it applies to Software Engineering.

Models and diagrams in Software Engineering

Models and diagrams as it applies to Software Engineering.

Scale: micro to macro in Software Engineering

Scale: micro to macro as it applies to Software Engineering.

Systems and parts in Software Engineering

Systems and parts as it applies to Software Engineering.

Units and measurement in Software Engineering

Units and measurement as it applies to Software Engineering.

Deep dives

Advanced preview in Software Engineering

Advanced preview as it applies to Software Engineering.

Capstone directions in Software Engineering

Capstone directions as it applies to Software Engineering.

Classic papers or texts in Software Engineering

Classic papers or texts as it applies to Software Engineering.

Edge cases in Software Engineering

Edge cases as it applies to Software Engineering.

Landmark discoveries in Software Engineering

Landmark discoveries as it applies to Software Engineering.

Minority reports in Software Engineering

Minority reports as it applies to Software Engineering.

Open research fronts in Software Engineering

Open research fronts as it applies to Software Engineering.

Paradigm shifts in Software Engineering

Paradigm shifts as it applies to Software Engineering.

Synthesis projects in Software Engineering

Synthesis projects as it applies to Software Engineering.

Where to go next in Software Engineering

Where to go next as it applies to Software Engineering.

Evidence

Anomalies in Software Engineering

Anomalies as it applies to Software Engineering.

Bias and blind spots in Software Engineering

Bias and blind spots as it applies to Software Engineering.

Case studies in Software Engineering

Case studies as it applies to Software Engineering.

Conflicting studies in Software Engineering

Conflicting studies as it applies to Software Engineering.

Data tables and charts in Software Engineering

Data tables and charts as it applies to Software Engineering.

Primary sources in Software Engineering

Primary sources as it applies to Software Engineering.

Secondary summaries in Software Engineering

Secondary summaries as it applies to Software Engineering.

Strong versus weak claims in Software Engineering

Strong versus weak claims as it applies to Software Engineering.

Triangulation in Software Engineering

Triangulation as it applies to Software Engineering.

Uncertainty language in Software Engineering

Uncertainty language as it applies to Software Engineering.

Methods

Documentation in Software Engineering

Documentation as it applies to Software Engineering.

Estimation and error in Software Engineering

Estimation and error as it applies to Software Engineering.

Ethics in method in Software Engineering

Ethics in method as it applies to Software Engineering.

Experiments and controls in Software Engineering

Experiments and controls as it applies to Software Engineering.

Observation protocols in Software Engineering

Observation protocols as it applies to Software Engineering.

Peer review in Software Engineering

Peer review as it applies to Software Engineering.

Replication in Software Engineering

Replication as it applies to Software Engineering.

Reproducible workflows in Software Engineering

Reproducible workflows as it applies to Software Engineering.

Simulation and models in Software Engineering

Simulation and models as it applies to Software Engineering.

Surveys and samples in Software Engineering

Surveys and samples as it applies to Software Engineering.

Orientation

Careers and roles in Software Engineering

Careers and roles as it applies to Software Engineering.

Everyday examples in Software Engineering

Everyday examples as it applies to Software Engineering.

History in one glance in Software Engineering

History in one glance as it applies to Software Engineering.

How claims get checked in Software Engineering

How claims get checked as it applies to Software Engineering.

Jargon worth learning first in Software Engineering

Jargon worth learning first as it applies to Software Engineering.

Objects you study in Software Engineering

Objects you study as it applies to Software Engineering.

Reading habits that stick in Software Engineering

Reading habits that stick as it applies to Software Engineering.

Tools practitioners use in Software Engineering

Tools practitioners use as it applies to Software Engineering.

What questions the field asks in Software Engineering

What questions the field asks as it applies to Software Engineering.

What the field is not in Software Engineering

What the field is not as it applies to Software Engineering.

Skills

Checklists in Software Engineering

Checklists as it applies to Software Engineering.

Collaboration norms in Software Engineering

Collaboration norms as it applies to Software Engineering.

Debugging mistakes in Software Engineering

Debugging mistakes as it applies to Software Engineering.

Hands-on practice in Software Engineering

Hands-on practice as it applies to Software Engineering.

Mentorship in Software Engineering

Mentorship as it applies to Software Engineering.

Pattern recognition in Software Engineering

Pattern recognition as it applies to Software Engineering.

Portfolio pieces in Software Engineering

Portfolio pieces as it applies to Software Engineering.

Self-assessment in Software Engineering

Self-assessment as it applies to Software Engineering.

Speed versus accuracy in Software Engineering

Speed versus accuracy as it applies to Software Engineering.

Tooling basics in Software Engineering

Tooling basics as it applies to Software Engineering.