This document provides an overview of platform engineering including its origins from DevOps practices, definitions, principles and best practices. Platform engineering emerged as organizations invested in building internal developer platforms to provide self-service capabilities for engineering teams and minimize cognitive load. It is defined as designing toolchains and workflows that enable self-service for application development. Key principles for platform teams include having a clear mission focused on improving developer experience, treating the internal platform as a product, and focusing on common problems across engineering organizations.