Open service 20.99.157.72:80 · bookoftpm.com
2025-12-23 03:11
HTTP/1.1 301 Moved Permanently Content-Length: 0 Connection: close Date: Tue, 23 Dec 2025 03:11:24 GMT Location: https://bookoftpm.com/
Open service 20.99.157.72:443 · bookoftpm.com
2025-12-23 03:11
HTTP/1.1 200 OK
Content-Length: 50480
Connection: close
Content-Type: text/html
Date: Tue, 23 Dec 2025 03:11:24 GMT
Cache-Control: public, must-revalidate, max-age=30
ETag: "10037305"
Last-Modified: Thu, 27 Nov 2025 22:18:07 GMT
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
Referrer-Policy: strict-origin-when-cross-origin
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-DNS-Prefetch-Control: off
Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' https: data:;
X-Frame-Options: SAMEORIGIN
Page title: Home - The Book of TPM
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="A comprehensive guide to becoming a world-class Technical Program Manager">
<meta name="author" content="Matthew Manuel">
<link rel="canonical" href="https://bookoftpm.com/">
<link rel="next" href="1-Introduction/">
<link rel="icon" href="assets/images/favicon.ico">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.0">
<title>Home - The Book of TPM</title>
<link rel="stylesheet" href="assets/stylesheets/main.618322db.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="css/timeago.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.0/css/all.min.css">
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script
defer
data-domain="bookoftpm.com"
src="https://plausible.io/js/script.js"
></script>
<script>
window.plausible = window.plausible || function () { (window.plausible.q = window.plausible.q || []).push(arguments) };
/* Register event handlers after documented loaded */
document.addEventListener("DOMContentLoaded", function () {
/* Set up search tracking */
if (document.forms.search) {
var query = document.forms.search.query;
query.addEventListener("blur", function() {
if (this.value) plausible("Search", { props: { search_term: this.value } });
})
}
/* Set up feedback, i.e. "Was this page helpful?" */
document$.subscribe(function () {
var feedback = document.forms.feedback;
if (typeof feedback === "undefined") return;
/* Send feedback to Plausible */
for (var button of feedback.querySelectorAll("[type=submit]")) {
button.addEventListener("click", function (ev) {
ev.preventDefault();
var page = document.location.pathname;
var value = this.getAttribute("data-md-value");
console.log("[feedback] User clicked", { value });
plausible(`Feedback: ${value}`);
/* Disable form and show note, if given */
feedback.firstElementChild.disabled = true;
var note = feedback.querySelector(".md-feedback__note [data-md-value='" + value + "']");
if (note) note.hidden = false;
})
/* Show feedback */
feedback.hidden = false;
}
});
});
</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V5B77L1TNH"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V5B77L1TNH');
</script>
<meta property="og:type" content="website" />
<meta property="og:title" content="Home - The Book of TPM" />
<meta property="og:description" content="A comprehensive guide to becoming a world-class Technical Program Manager" />
<meta property="og:image" content="https://bookoftpm.com/assets/images/soc