Software Engineering

Software engineering is the application of engineering principles and practices to the development of software system. Though there are useful, fine-grained semantic differences between "software development" and "software engineering", I generally use the two terms interchangeably.

Deeper Knowledge on Software Engineering

ChatGPT as a Software Development Assistant

ChatGPT as a Software Development Assistant

A useful ChatGPT prompt to guide software development

Code Recipes

Code Recipes

Quick and easy to copy recipes for JavaScript and TypeScript

DevOps Research and Assessment (DORA)

DevOps Research and Assessment (DORA)

A research program at Google Cloud, notable for the State of DevOps reports

DORA's Four Key Metrics

DORA's Four Key Metrics

The four key metrics for software development team performance, as identified by DevOps Research and Assessment (DORA)

Version Control

Version Control

A distributed version-control system to track changes, typically for software development projects

Design Patterns in Software Engineering

Design Patterns in Software Engineering

Common solutions to common problems in software engineering

Visual Studio Code (VS Code)

Visual Studio Code (VS Code)

An extensible code editor for software engineers

DevOps

DevOps

The philosophies, practices, and technologies for accelerated software time to value

Databases

Databases

Organized collections of structured data

Data Engineering

Data Engineering

Engineering approaches to data management

System Qualities and Nonfunctional Requirements (NFRs)

System Qualities and Nonfunctional Requirements (NFRs)

Constraints on how software is engineered

Software Architecture

Software Architecture

The practice of organizing software components in a complex system

Containers

Containers

Packaging applications with all of their dependencies

Software Testing

Software Testing

The art and science of testing software

Software Development Lifecycle (SDLC)

Software Development Lifecycle (SDLC)

The lifecycle of software applications, from concept to revenue

SPACE Framework

SPACE Framework

SPACE Framework to Measure Developer Productivity: Satisfaction, Performance, Activity, Communication

Web Development

Web Development

Tools and techniques for building websites and web-applications

The Cathedral and the Bazaar

The Cathedral and the Bazaar

An essay and a book on software engineering based on experience with Linux kernel development

Linus's Law

Linus's Law

Given enough eyeballs, all bugs are shallow

Software Pipelines (CI/CD)

Software Pipelines (CI/CD)

Continuous Integration and Continuous Deployment (CI/CD)

Computer Languages

Computer Languages

Computer Languages: How humans tell computers what to do

Broader Topics Related to Software Engineering

Information Technology (IT)

Information Technology (IT)

The principles, practices, and technologies used to build information systems

Engineering

Engineering

Apply science to create technology

Software Engineering Knowledge Graph