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
A useful ChatGPT prompt to guide software development
Code Recipes
Quick and easy to copy recipes for JavaScript and TypeScript
DevOps Research and Assessment (DORA)
A research program at Google Cloud, notable for the State of DevOps reports
DORA's Four Key Metrics
The four key metrics for software development team performance, as identified by DevOps Research and Assessment (DORA)
Version Control
A distributed version-control system to track changes, typically for software development projects
Design Patterns in Software Engineering
Common solutions to common problems in software engineering
Visual Studio Code (VS Code)
An extensible code editor for software engineers
DevOps
The philosophies, practices, and technologies for accelerated software time to value
Databases
Organized collections of structured data
Data Engineering
Engineering approaches to data management
System Qualities and Nonfunctional Requirements (NFRs)
Constraints on how software is engineered
Software Architecture
The practice of organizing software components in a complex system
Containers
Packaging applications with all of their dependencies
Software Testing
The art and science of testing software
Software Development Lifecycle (SDLC)
The lifecycle of software applications, from concept to revenue
SPACE Framework
SPACE Framework to Measure Developer Productivity: Satisfaction, Performance, Activity, Communication
Web Development
Tools and techniques for building websites and web-applications
The Cathedral and the Bazaar
An essay and a book on software engineering based on experience with Linux kernel development
Linus's Law
Given enough eyeballs, all bugs are shallow
Software Pipelines (CI/CD)
Continuous Integration and Continuous Deployment (CI/CD)
Computer Languages
Computer Languages: How humans tell computers what to do
Broader Topics Related to Software Engineering
Information Technology (IT)
The principles, practices, and technologies used to build information systems
Engineering
Apply science to create technology