[{"data":1,"prerenderedAt":2770},["ShallowReactive",2],{"navbar-data":3,"footer-data":11,"post-page-pragmatic-programmer-review":13,"notion-page-67663562-ea81-43fa-82db-39e20cafa296":2768},{"contentPages":4,"social":8},[5],{"title":6,"slug":7},"About","about",{"github":9,"x":10},"https://github.com/hyf0/musubi","https://x.com/_hyf0",{"author":12},"Musubi Team",{"websiteTitle":14,"post":15},"Musubi - A Notion CMS Blog Framework",{"meta":16,"recordMap":25},{"pageId":17,"title":18,"slug":19,"date":20,"description":21,"tags":22},"67663562-ea81-43fa-82db-39e20cafa296","Book Review: The Pragmatic Programmer","pragmatic-programmer-review","2024-10-12","",[23,24],"Book","读书笔记",{"block":26,"collection":2611,"collection_view":2724,"notion_user":2765,"collection_query":2766,"signed_urls":2767},{"67663562-ea81-43fa-82db-39e20cafa296":27,"2d0fe8dd-acd6-81ff-bfc5-f9bbd873cc36":176,"2d0fe8dd-acd6-80a5-b773-c49f06baa29c":215,"325eecda-df36-41a9-b63c-ebb305b828bd":217,"59a2d5f4-a68b-4ad4-a5eb-13fb2aed0aac":264,"9cd9f3ff-f5b2-4107-b4cc-e889dddc87fc":287,"733745ff-f6af-49a9-a96c-85f361324e35":326,"7f7e1f41-6975-427a-bc05-0a05bbdcf220":358,"2971620f-d1dc-4b44-aee7-316d2d8deed3":380,"9560df4d-9e31-4ea5-a940-abf02db28d1e":401,"b1b15fb7-ef36-4f17-969d-4afd6da55b97":422,"eeeef592-6520-46da-ab49-9db7e5b5b981":443,"aeb4d949-6c5e-4a32-b5f4-e3b900860b4c":476,"96498cce-dec4-4627-8df5-10cc36d65593":497,"8031f1fc-b3ee-4b11-aedf-34909e740450":519,"288e5d5e-ba5d-4a33-a30d-2244b887c805":541,"0d7cff20-c89c-45d1-a593-576e49ecf001":562,"9066f890-e67a-451e-9114-8f79e2c3c52d":600,"87d7d83e-e1cd-4818-9b0f-8a3257411d43":622,"00753f71-4ce9-4fa6-be8a-43883dc59f64":643,"56410d22-825a-495e-a89c-50c6e47394f6":680,"92d1ea8a-9eef-402d-a690-75a3195a622d":701,"bfb5d3f7-497f-4403-bc94-9280dc43cbc8":722,"37ff3397-2335-4530-a9b1-a52fd0753724":759,"5852da20-ef64-41b3-9a33-3e1bf88adb21":781,"b7544bbb-a836-4598-a8fa-00a1bfa97e2a":802,"c1f255f7-c289-4ff5-9b31-c5f12cae7e11":839,"b19f07ff-b6c7-4dc2-bd22-a2e833ea4b38":860,"3861f53e-572f-4722-829e-bcc9bbe895f2":881,"5958023e-50c9-4f3c-8f28-ff1199113c02":918,"167b1e8e-f122-42a9-9ecf-93858b7e9df3":940,"a130b20b-b1e7-4477-8308-d3d8df05259a":961,"870de128-065f-4dd5-b538-a776bec17a39":982,"c11618b8-d823-4956-bed5-6b18b131a5a0":1002,"e87b25fe-05c8-440d-a288-0d3e5ad5ad20":1023,"62c9e5a5-afc0-4ab8-8077-7049c4901e94":1044,"8b4ad222-ba3b-4a18-89b8-9e779bc46ba0":1064,"3d2c7712-6c51-489f-9ecc-ffec37960a12":1085,"4b0bb961-bf62-40b3-8acf-dd09496637c4":1125,"3a452774-05f6-4773-9ac0-63703bebe8ab":1146,"48683706-5496-45b9-b686-52d05e0cd1c8":1167,"930a7b01-083d-42d5-9b77-f547a330aa6a":1204,"7bda0bb3-8141-4ab7-98bc-d8ab74658647":1225,"62eabb49-80e3-410a-83ad-e970b72def81":1245,"f5fe834a-3cef-4c9b-9fba-faa183c6598d":1282,"6f54a7bb-03ca-445c-b79e-7a15a1655061":1303,"ea3f92ae-caf3-4cc6-a524-97eb3d8fa159":1324,"ccc0ff87-e4dc-4a28-accc-fb72e3b00d27":1345,"f5fa5671-3fdf-4f3a-bd10-421ac6c00ce1":1383,"3c4e32b6-15d3-4e0f-9d93-dc7821524fc1":1405,"7b127f1d-ef42-48c1-9451-8ffe9e968c4f":1426,"92ad9eee-8f42-45dc-bf9a-ead0d9ed89ff":1479,"125d477d-8df7-4127-bbca-55e1300a7a76":1500,"8d171c89-19b3-4b36-b232-9617e7e9ad1b":1520,"25b3588a-f677-4b1d-9c7c-c04ad4331200":1540,"b046b13c-e8ca-472b-ac75-cf15debfc0a2":1560,"6c0706fe-3c46-4f73-9437-4d1002dcf036":1580,"2286353b-a409-4aa4-9fac-a4d34a7a12e0":1600,"04466734-3b0c-400c-9770-9e347c238677":1621,"4cd53688-f28a-4ec8-b619-0657ec274afc":1642,"29923d01-a701-4a3b-a4d3-f319c094495b":1673,"ec572fdb-90f6-45db-94c8-dfe5cb789b9d":1693,"e2df155d-3599-4694-a2f7-8f06c2f60456":1714,"218c4b56-9b63-4970-8c12-fe7161dde66b":1734,"c586c70a-7ef8-4914-9e36-413080c58f76":1764,"2064b03a-110f-4f72-8e96-ea0047af63f5":1785,"dcdde6f8-f175-435a-b5e4-657939b56afb":1805,"7ec4c55b-2579-4361-80d7-129d5cb39a43":1826,"0fbdfa24-03f2-446d-b690-b2c556f6a7e0":1848,"010d4943-439d-4b63-a861-225a2112ab8d":1879,"1a7f57ab-bc69-40bd-9260-cf6172284e12":1899,"3cbc502e-a95d-46ff-8b06-122409a64c1d":1919,"a7a6be4f-9d2b-46c0-8a8a-85cbc19ac139":1940,"999ffcea-fe15-4bb3-a156-663404356121":1960,"eb8f7676-89f2-46af-ab69-e2a0d9b3e403":1981,"7129acdd-6258-4241-8718-e7861347653e":2002,"e7c29a42-7d65-42e2-9c0e-aa0e18947cab":2022,"fa88119d-7b4f-4bad-bfa1-5747110bad43":2061,"c5400e28-12f2-48c0-934f-e1a2cd5b1617":2097,"47473fd4-39a5-49cc-9581-aa95a5c119f3":2135,"a74f3e07-c577-4030-a226-1190ecc60b62":2172,"082feb83-a51d-47d1-8877-af82d600311f":2193,"d4710ff1-1f77-4672-9fc9-8a474b1de7a1":2230,"700e9d14-2028-4ade-b116-88eb0361ffe1":2261,"37ab728a-9705-43eb-af3d-b1314309eae3":2282,"7fd626bf-24fb-4212-a6e3-8c13a8a43dea":2302,"c0ed50ef-de92-4777-a0ce-2952a0b82d02":2322,"9d1535f4-981e-46da-87ed-21a784240c1c":2342,"5cb0eae2-7517-4320-905d-57e397b2675f":2357,"e5f0a5dc-9385-44a1-8b9b-6eab0df88180":2387,"05e6fd9d-81b6-42be-b54c-dfe57f551b02":2425,"fcb056ad-9827-41cf-a1f9-712cd5ee08aa":2461,"428c7729-d180-411a-afaf-7ed281b418d6":2498,"659c7d5f-3951-4971-b502-f4d4b7d1043d":2535,"7ecdb86d-9c24-4569-a032-bbfbc1b15bee":2573},{"value":28,"role":175},{"id":17,"version":29,"type":30,"properties":31,"content":56,"created_time":149,"last_edited_time":150,"parent_id":151,"parent_table":152,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":156},28,"page",{"A\u003Cgx":32,"dp_o":34,"title":42,"0d131b96-a11a-4078-85a2-06eef84c7be6":44,"10243cf2-965e-450d-99ee-dc6076017363":47,"c832da20-339d-4a80-9a7b-62f98d5a8996":50,"ece115aa-d10f-4ea0-83b3-ea2a43e6e71e":53},[33],[19],[35],[36,37],"‣",[38],[39,40],"d",{"type":41,"start_date":20},"date",[43],[18],[45],[46],"Book,读书笔记",[48],[49],"A comprehensive review of 'The Pragmatic Programmer' and key takeaways for software engineers.",[51],[52],"Post",[54],[55],"Published",[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],"325eecda-df36-41a9-b63c-ebb305b828bd","59a2d5f4-a68b-4ad4-a5eb-13fb2aed0aac","9cd9f3ff-f5b2-4107-b4cc-e889dddc87fc","733745ff-f6af-49a9-a96c-85f361324e35","7f7e1f41-6975-427a-bc05-0a05bbdcf220","2971620f-d1dc-4b44-aee7-316d2d8deed3","9560df4d-9e31-4ea5-a940-abf02db28d1e","b1b15fb7-ef36-4f17-969d-4afd6da55b97","eeeef592-6520-46da-ab49-9db7e5b5b981","aeb4d949-6c5e-4a32-b5f4-e3b900860b4c","96498cce-dec4-4627-8df5-10cc36d65593","8031f1fc-b3ee-4b11-aedf-34909e740450","288e5d5e-ba5d-4a33-a30d-2244b887c805","0d7cff20-c89c-45d1-a593-576e49ecf001","9066f890-e67a-451e-9114-8f79e2c3c52d","87d7d83e-e1cd-4818-9b0f-8a3257411d43","00753f71-4ce9-4fa6-be8a-43883dc59f64","56410d22-825a-495e-a89c-50c6e47394f6","92d1ea8a-9eef-402d-a690-75a3195a622d","bfb5d3f7-497f-4403-bc94-9280dc43cbc8","37ff3397-2335-4530-a9b1-a52fd0753724","5852da20-ef64-41b3-9a33-3e1bf88adb21","b7544bbb-a836-4598-a8fa-00a1bfa97e2a","c1f255f7-c289-4ff5-9b31-c5f12cae7e11","b19f07ff-b6c7-4dc2-bd22-a2e833ea4b38","3861f53e-572f-4722-829e-bcc9bbe895f2","5958023e-50c9-4f3c-8f28-ff1199113c02","167b1e8e-f122-42a9-9ecf-93858b7e9df3","a130b20b-b1e7-4477-8308-d3d8df05259a","870de128-065f-4dd5-b538-a776bec17a39","c11618b8-d823-4956-bed5-6b18b131a5a0","e87b25fe-05c8-440d-a288-0d3e5ad5ad20","62c9e5a5-afc0-4ab8-8077-7049c4901e94","8b4ad222-ba3b-4a18-89b8-9e779bc46ba0","3d2c7712-6c51-489f-9ecc-ffec37960a12","4b0bb961-bf62-40b3-8acf-dd09496637c4","3a452774-05f6-4773-9ac0-63703bebe8ab","48683706-5496-45b9-b686-52d05e0cd1c8","930a7b01-083d-42d5-9b77-f547a330aa6a","7bda0bb3-8141-4ab7-98bc-d8ab74658647","62eabb49-80e3-410a-83ad-e970b72def81","f5fe834a-3cef-4c9b-9fba-faa183c6598d","6f54a7bb-03ca-445c-b79e-7a15a1655061","ea3f92ae-caf3-4cc6-a524-97eb3d8fa159","ccc0ff87-e4dc-4a28-accc-fb72e3b00d27","f5fa5671-3fdf-4f3a-bd10-421ac6c00ce1","3c4e32b6-15d3-4e0f-9d93-dc7821524fc1","7b127f1d-ef42-48c1-9451-8ffe9e968c4f","92ad9eee-8f42-45dc-bf9a-ead0d9ed89ff","125d477d-8df7-4127-bbca-55e1300a7a76","8d171c89-19b3-4b36-b232-9617e7e9ad1b","25b3588a-f677-4b1d-9c7c-c04ad4331200","b046b13c-e8ca-472b-ac75-cf15debfc0a2","6c0706fe-3c46-4f73-9437-4d1002dcf036","2286353b-a409-4aa4-9fac-a4d34a7a12e0","04466734-3b0c-400c-9770-9e347c238677","4cd53688-f28a-4ec8-b619-0657ec274afc","29923d01-a701-4a3b-a4d3-f319c094495b","ec572fdb-90f6-45db-94c8-dfe5cb789b9d","e2df155d-3599-4694-a2f7-8f06c2f60456","218c4b56-9b63-4970-8c12-fe7161dde66b","c586c70a-7ef8-4914-9e36-413080c58f76","2064b03a-110f-4f72-8e96-ea0047af63f5","dcdde6f8-f175-435a-b5e4-657939b56afb","7ec4c55b-2579-4361-80d7-129d5cb39a43","0fbdfa24-03f2-446d-b690-b2c556f6a7e0","010d4943-439d-4b63-a861-225a2112ab8d","1a7f57ab-bc69-40bd-9260-cf6172284e12","3cbc502e-a95d-46ff-8b06-122409a64c1d","a7a6be4f-9d2b-46c0-8a8a-85cbc19ac139","999ffcea-fe15-4bb3-a156-663404356121","eb8f7676-89f2-46af-ab69-e2a0d9b3e403","7129acdd-6258-4241-8718-e7861347653e","e7c29a42-7d65-42e2-9c0e-aa0e18947cab","fa88119d-7b4f-4bad-bfa1-5747110bad43","c5400e28-12f2-48c0-934f-e1a2cd5b1617","47473fd4-39a5-49cc-9581-aa95a5c119f3","a74f3e07-c577-4030-a226-1190ecc60b62","082feb83-a51d-47d1-8877-af82d600311f","d4710ff1-1f77-4672-9fc9-8a474b1de7a1","700e9d14-2028-4ade-b116-88eb0361ffe1","37ab728a-9705-43eb-af3d-b1314309eae3","7fd626bf-24fb-4212-a6e3-8c13a8a43dea","c0ed50ef-de92-4777-a0ce-2952a0b82d02","9d1535f4-981e-46da-87ed-21a784240c1c","5cb0eae2-7517-4320-905d-57e397b2675f","e5f0a5dc-9385-44a1-8b9b-6eab0df88180","05e6fd9d-81b6-42be-b54c-dfe57f551b02","fcb056ad-9827-41cf-a1f9-712cd5ee08aa","428c7729-d180-411a-afaf-7ed281b418d6","659c7d5f-3951-4971-b502-f4d4b7d1043d","7ecdb86d-9c24-4569-a032-bbfbc1b15bee",1766329830450,1768238749057,"2d0fe8dd-acd6-81fb-8702-000b039af795","collection",true,"06bac834-b24d-4b4f-af9c-4d73cb389dd0",1,{"title":157},{"r":158,"n":159},"mZl50Ikk_Ad4ovQv0Il-9A,\"start\",\"end\"",{"mZl50Ikk_Ad4ovQv0Il-9A,\"start\",\"end\"":160},{"s":161,"c":174},{"x":162,"i":163,"l":21},"mZl50Ikk_Ad4ovQv0Il-9A",[164,166,172],{"t":165},"s",{"t":167,"i":168,"o":170,"l":171,"c":18},"t",[169,155],"nfZTZ9zUE7YK","start",37,{"t":173},"e",[],"reader",{"value":177,"role":175},{"id":178,"version":179,"type":180,"view_ids":181,"collection_id":151,"format":183,"permissions":192,"created_time":197,"last_edited_time":198,"parent_id":199,"parent_table":190,"alive":153,"copied_from":189,"file_ids":200,"space_id":154,"crdt_format_version":155,"crdt_data":204},"2d0fe8dd-acd6-81ff-bfc5-f9bbd873cc36",68,"collection_view",[182],"2d0fe8dd-acd6-81fb-891c-000c60c5b153",{"site_id":184,"collection_pointer":185,"collection_pointers":186,"copied_from_pointer":188,"social_media_image_preview_url":191},"2d0fe8dd-acd6-809e-a1e4-007926ec3d98",{"id":151,"table":152,"spaceId":154},[187],{"id":151,"table":152,"spaceId":154},{"id":189,"table":190,"spaceId":154},"292fe8dd-acd6-80ac-b0c5-d1872b1260e9","block","attachment:ae8d6f37-b809-4ce2-a89c-36a4b693a60d:SocialMediaPreviewImage.png",[193],{"role":175,"type":194,"is_site":153,"added_timestamp":195,"allow_duplicate":196},"public_permission",1766329928526,false,1766327873676,1768240166165,"2d0fe8dd-acd6-80a5-b773-c49f06baa29c",[201,202,203],"68b3ef2c-c20f-4105-9881-cf0a5c512267","8f837990-35ce-47be-a870-fa1104f06eac","ae8d6f37-b809-4ce2-a89c-36a4b693a60d",{"title":205},{"r":206,"n":207},"sS4tAf89MD13_NKXo1NMNg,\"start\",\"end\"",{"sS4tAf89MD13_NKXo1NMNg,\"start\",\"end\"":208},{"s":209,"c":214},{"x":210,"i":211,"l":21},"sS4tAf89MD13_NKXo1NMNg",[212,213],{"t":165},{"t":173},[],{"role":216},"none",{"value":218,"role":175},{"id":57,"version":219,"type":220,"properties":221,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":232},5,"text",{"title":222},[223,228],[224,225],"The Pragmatic Programmer",[226],[227],"i",[229]," by Andrew Hunt and David Thomas is one of those rare technical books that remains relevant decades after publication. Updated in 2019 for its 20th anniversary, this book distills practical wisdom for software engineers at any career stage.",1766331493107,1766331661794,{"title":233},{"r":234,"n":235},"g-pt5AngmKTPnGJA2l4gMg,\"start\",\"end\"",{"g-pt5AngmKTPnGJA2l4gMg,\"start\",\"end\"":236},{"s":237,"c":263},{"x":238,"i":239,"l":21},"g-pt5AngmKTPnGJA2l4gMg",[240,241,257,262],{"t":165},{"t":167,"i":242,"o":170,"l":244,"c":224,"b":245},[243,155],"jSxBdB3ehKsp",24,[246],{"t":247,"x":238,"l":21,"i":248,"s":250,"e":253,"a":256},"a",[243,249],265,{"i":251,"a":252},[243,155],"b",{"i":254,"a":252},[243,255],25,[227],{"t":167,"i":258,"o":259,"l":260,"c":229,"b":261},[243,255],[243,244],240,[],{"t":173},[],{"value":265,"role":175},{"id":58,"version":219,"type":266,"properties":267,"format":271,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":272},"sub_header",{"title":268},[269],[270],"Overview",{"toggleable":196},{"title":273},{"r":274,"n":275},"TMqWtgh42r273URPePyz9A,\"start\",\"end\"",{"TMqWtgh42r273URPePyz9A,\"start\",\"end\"":276},{"s":277,"c":286},{"x":278,"i":279,"l":21},"TMqWtgh42r273URPePyz9A",[280,281,285],{"t":165},{"t":167,"i":282,"o":170,"l":284,"c":270},[283,155],"ZncwYZWOrTX2",8,{"t":173},[],{"value":288,"role":175},{"id":59,"version":219,"type":220,"properties":289,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":297},{"title":290},[291,295],[292,293],"Rating:",[294],[252],[296]," ⭐⭐⭐⭐⭐ (5/5)",{"title":298},{"r":299,"n":300},"i8P7x4wnk6ESQxCodOzWKQ,\"start\",\"end\"",{"i8P7x4wnk6ESQxCodOzWKQ,\"start\",\"end\"":301},{"s":302,"c":325},{"x":303,"i":304,"l":21},"i8P7x4wnk6ESQxCodOzWKQ",[305,306,319,324],{"t":165},{"t":167,"i":307,"o":170,"l":309,"c":292,"b":310},[308,155],"4nHNDXN0HbDq",7,[311],{"t":247,"x":303,"l":21,"i":312,"s":314,"e":316,"a":318},[308,313],20,{"i":315,"a":252},[308,155],{"i":317,"a":252},[308,284],[252],{"t":167,"i":320,"o":321,"l":322,"c":296,"b":323},[308,284],[308,309],12,[],{"t":173},[],{"value":327,"role":175},{"id":60,"version":219,"type":220,"properties":328,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":334},{"title":329},[330],[331,332],"Key themes:",[333],[252],{"title":335},{"r":336,"n":337},"ol-kGKQAYyOB6-xiEH2I0w,\"start\",\"end\"",{"ol-kGKQAYyOB6-xiEH2I0w,\"start\",\"end\"":338},{"s":339,"c":357},{"x":340,"i":341,"l":21},"ol-kGKQAYyOB6-xiEH2I0w",[342,343,355],{"t":165},{"t":167,"i":344,"o":170,"l":346,"c":331,"b":347},[345,155],"qRUDzYPnOKIj",11,[348],{"t":247,"x":340,"l":21,"i":349,"s":350,"e":352,"a":354},[345,322],{"i":351,"a":252},[345,155],{"i":353,"a":252},"end",[252],{"t":173,"b":356},[],[],{"value":359,"role":175},{"id":61,"version":219,"type":360,"properties":361,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":365},"bulleted_list",{"title":362},[363],[364],"Craftsmanship and professionalism in software development",{"title":366},{"r":367,"n":368},"5ydSziuWxnAdp27piscCrA,\"start\",\"end\"",{"5ydSziuWxnAdp27piscCrA,\"start\",\"end\"":369},{"s":370,"c":379},{"x":371,"i":372,"l":21},"5ydSziuWxnAdp27piscCrA",[373,374,378],{"t":165},{"t":167,"i":375,"o":170,"l":377,"c":364},[376,155],"pK0Ampe4uJ4K",57,{"t":173},[],{"value":381,"role":175},{"id":62,"version":219,"type":360,"properties":382,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":386},{"title":383},[384],[385],"Practical techniques for writing better code",{"title":387},{"r":388,"n":389},"SpB2ufvOYSrLCY6RLP5GkQ,\"start\",\"end\"",{"SpB2ufvOYSrLCY6RLP5GkQ,\"start\",\"end\"":390},{"s":391,"c":400},{"x":392,"i":393,"l":21},"SpB2ufvOYSrLCY6RLP5GkQ",[394,395,399],{"t":165},{"t":167,"i":396,"o":170,"l":398,"c":385},[397,155],"qtjZYDRz5F0H",44,{"t":173},[],{"value":402,"role":175},{"id":63,"version":219,"type":360,"properties":403,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":407},{"title":404},[405],[406],"Career development and continuous learning",{"title":408},{"r":409,"n":410},"OQBLe5S6VCl9b44tuoY4Yw,\"start\",\"end\"",{"OQBLe5S6VCl9b44tuoY4Yw,\"start\",\"end\"":411},{"s":412,"c":421},{"x":413,"i":414,"l":21},"OQBLe5S6VCl9b44tuoY4Yw",[415,416,420],{"t":165},{"t":167,"i":417,"o":170,"l":419,"c":406},[418,155],"iNmxzSc6KSsl",42,{"t":173},[],{"value":423,"role":175},{"id":64,"version":219,"type":360,"properties":424,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":428},{"title":425},[426],[427],"Team dynamics and communication",{"title":429},{"r":430,"n":431},"qdJwNINRah1lsBLF93CfNQ,\"start\",\"end\"",{"qdJwNINRah1lsBLF93CfNQ,\"start\",\"end\"":432},{"s":433,"c":442},{"x":434,"i":435,"l":21},"qdJwNINRah1lsBLF93CfNQ",[436,437,441],{"t":165},{"t":167,"i":438,"o":170,"l":440,"c":427},[439,155],"JeIdShbKagP5",31,{"t":173},[],{"value":444,"role":175},{"id":65,"version":219,"type":445,"properties":446,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":452},"quote",{"title":447},[448],[449,450],"\"Care about your craft. Think! About your work.\"",[451],[227],{"title":453},{"r":454,"n":455},"GxjZ_h1ulbcxuzQHLXfQbg,\"start\",\"end\"",{"GxjZ_h1ulbcxuzQHLXfQbg,\"start\",\"end\"":456},{"s":457,"c":475},{"x":458,"i":459,"l":21},"GxjZ_h1ulbcxuzQHLXfQbg",[460,461,473],{"t":165},{"t":167,"i":462,"o":170,"l":464,"c":449,"b":465},[463,155],"yksVPQSuN1-K",48,[466],{"t":247,"x":458,"l":21,"i":467,"s":469,"e":471,"a":472},[463,468],49,{"i":470,"a":252},[463,155],{"i":353,"a":252},[227],{"t":173,"b":474},[],[],{"value":477,"role":175},{"id":66,"version":219,"type":220,"properties":478,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":482},{"title":479},[480],[481],"This opening sets the tone for the entire book—programming is a craft that demands thoughtfulness and continuous improvement.",{"title":483},{"r":484,"n":485},"pJ4oNHG2KvWf2quMQM3M0g,\"start\",\"end\"",{"pJ4oNHG2KvWf2quMQM3M0g,\"start\",\"end\"":486},{"s":487,"c":496},{"x":488,"i":489,"l":21},"pJ4oNHG2KvWf2quMQM3M0g",[490,491,495],{"t":165},{"t":167,"i":492,"o":170,"l":494,"c":481},[493,155],"DG9hcgfd8ns7",125,{"t":173},[],{"value":498,"role":175},{"id":67,"version":219,"type":266,"properties":499,"format":503,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":504},{"title":500},[501],[502],"Key Takeaways",{"toggleable":196},{"title":505},{"r":506,"n":507},"ziUqVO_eYaS7-1pUiPTAmA,\"start\",\"end\"",{"ziUqVO_eYaS7-1pUiPTAmA,\"start\",\"end\"":508},{"s":509,"c":518},{"x":510,"i":511,"l":21},"ziUqVO_eYaS7-1pUiPTAmA",[512,513,517],{"t":165},{"t":167,"i":514,"o":170,"l":516,"c":502},[515,155],"DManuPgDdePI",13,{"t":173},[],{"value":520,"role":175},{"id":68,"version":219,"type":521,"properties":522,"format":526,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":527},"sub_sub_header",{"title":523},[524],[525],"The Broken Window Theory",{"toggleable":196},{"title":528},{"r":529,"n":530},"nUc1V_CHB9TTzMVdp_JUsA,\"start\",\"end\"",{"nUc1V_CHB9TTzMVdp_JUsA,\"start\",\"end\"":531},{"s":532,"c":540},{"x":533,"i":534,"l":21},"nUc1V_CHB9TTzMVdp_JUsA",[535,536,539],{"t":165},{"t":167,"i":537,"o":170,"l":244,"c":525},[538,155],"qTfkJYx6AHTw",{"t":173},[],{"value":542,"role":175},{"id":69,"version":219,"type":220,"properties":543,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":547},{"title":544},[545],[546],"One of the most powerful concepts in the book: don't leave \"broken windows\" (bad code, poor decisions) unrepaired. Once you allow one broken window, more will follow, and the entire project will deteriorate.",{"title":548},{"r":549,"n":550},"8yuimSGIPYH8LqcE9Z59pQ,\"start\",\"end\"",{"8yuimSGIPYH8LqcE9Z59pQ,\"start\",\"end\"":551},{"s":552,"c":561},{"x":553,"i":554,"l":21},"8yuimSGIPYH8LqcE9Z59pQ",[555,556,560],{"t":165},{"t":167,"i":557,"o":170,"l":559,"c":546},[558,155],"3reSn_rZCBj5",207,{"t":173},[],{"value":563,"role":175},{"id":70,"version":219,"type":220,"properties":564,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":572},{"title":565},[566,570],[567,568],"In practice:",[569],[252],[571]," When you encounter bad code, fix it immediately or file a ticket. Don't let it become normalized.",{"title":573},{"r":574,"n":575},"3Hmy_qg_7kLY8ZDFlK8wjQ,\"start\",\"end\"",{"3Hmy_qg_7kLY8ZDFlK8wjQ,\"start\",\"end\"":576},{"s":577,"c":599},{"x":578,"i":579,"l":21},"3Hmy_qg_7kLY8ZDFlK8wjQ",[580,581,593,598],{"t":165},{"t":167,"i":582,"o":170,"l":322,"c":567,"b":584},[583,155],"frm4YgluZBlq",[585],{"t":247,"x":578,"l":21,"i":586,"s":588,"e":590,"a":592},[583,587],111,{"i":589,"a":252},[583,155],{"i":591,"a":252},[583,516],[252],{"t":167,"i":594,"o":595,"l":596,"c":571,"b":597},[583,516],[583,322],98,[],{"t":173},[],{"value":601,"role":175},{"id":71,"version":219,"type":521,"properties":602,"format":606,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":607},{"title":603},[604],[605],"DRY: Don't Repeat Yourself",{"toggleable":196},{"title":608},{"r":609,"n":610},"bvRFeWg_4FrzkvPqcd8kww,\"start\",\"end\"",{"bvRFeWg_4FrzkvPqcd8kww,\"start\",\"end\"":611},{"s":612,"c":621},{"x":613,"i":614,"l":21},"bvRFeWg_4FrzkvPqcd8kww",[615,616,620],{"t":165},{"t":167,"i":617,"o":170,"l":619,"c":605},[618,155],"X48GzPY7SUvT",26,{"t":173},[],{"value":623,"role":175},{"id":72,"version":219,"type":220,"properties":624,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":628},{"title":625},[626],[627],"Every piece of knowledge should have a single, unambiguous representation in the system. This goes beyond code duplication—it's about knowledge duplication across documentation, databases, APIs, and code.",{"title":629},{"r":630,"n":631},"PK6e50Pka486L3TQq1c5Rw,\"start\",\"end\"",{"PK6e50Pka486L3TQq1c5Rw,\"start\",\"end\"":632},{"s":633,"c":642},{"x":634,"i":635,"l":21},"PK6e50Pka486L3TQq1c5Rw",[636,637,641],{"t":165},{"t":167,"i":638,"o":170,"l":640,"c":627},[639,155],"5RRO1bS8BOoj",204,{"t":173},[],{"value":644,"role":175},{"id":73,"version":219,"type":220,"properties":645,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":652},{"title":646},[647,650],[567,648],[649],[252],[651]," When writing similar code twice, abstract it. When maintaining parallel documentation, automate it from a single source.",{"title":653},{"r":654,"n":655},"LChPR0fYgQk5HKImcFaW6g,\"start\",\"end\"",{"LChPR0fYgQk5HKImcFaW6g,\"start\",\"end\"":656},{"s":657,"c":679},{"x":658,"i":659,"l":21},"LChPR0fYgQk5HKImcFaW6g",[660,661,673,678],{"t":165},{"t":167,"i":662,"o":170,"l":322,"c":567,"b":664},[663,155],"fD8GZAp2rNEb",[665],{"t":247,"x":658,"l":21,"i":666,"s":668,"e":670,"a":672},[663,667],134,{"i":669,"a":252},[663,155],{"i":671,"a":252},[663,516],[252],{"t":167,"i":674,"o":675,"l":676,"c":651,"b":677},[663,516],[663,322],121,[],{"t":173},[],{"value":681,"role":175},{"id":74,"version":219,"type":521,"properties":682,"format":686,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":687},{"title":683},[684],[685],"Orthogonality",{"toggleable":196},{"title":688},{"r":689,"n":690},"9j2UQgpfPbHfBsX3Q2jNfg,\"start\",\"end\"",{"9j2UQgpfPbHfBsX3Q2jNfg,\"start\",\"end\"":691},{"s":692,"c":700},{"x":693,"i":694,"l":21},"9j2UQgpfPbHfBsX3Q2jNfg",[695,696,699],{"t":165},{"t":167,"i":697,"o":170,"l":516,"c":685},[698,155],"KNO1y8TrwkVL",{"t":173},[],{"value":702,"role":175},{"id":75,"version":219,"type":220,"properties":703,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":707},{"title":704},[705],[706],"Design components that are independent—changes to one don't affect others. This reduces risk and increases flexibility.",{"title":708},{"r":709,"n":710},"dy7zIj8Hpdo-d4QZnnBWrQ,\"start\",\"end\"",{"dy7zIj8Hpdo-d4QZnnBWrQ,\"start\",\"end\"":711},{"s":712,"c":721},{"x":713,"i":714,"l":21},"dy7zIj8Hpdo-d4QZnnBWrQ",[715,716,720],{"t":165},{"t":167,"i":717,"o":170,"l":719,"c":706},[718,155],"m_gtqz9efEdO",119,{"t":173},[],{"value":723,"role":175},{"id":76,"version":219,"type":220,"properties":724,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":731},{"title":725},[726,729],[567,727],[728],[252],[730]," Keep your business logic separate from your data access layer. Make your functions do one thing well.",{"title":732},{"r":733,"n":734},"8QbCBevr-xWx60n6_Fzowg,\"start\",\"end\"",{"8QbCBevr-xWx60n6_Fzowg,\"start\",\"end\"":735},{"s":736,"c":758},{"x":737,"i":738,"l":21},"8QbCBevr-xWx60n6_Fzowg",[739,740,752,757],{"t":165},{"t":167,"i":741,"o":170,"l":322,"c":567,"b":743},[742,155],"P3qNL8aDowRM",[744],{"t":247,"x":737,"l":21,"i":745,"s":747,"e":749,"a":751},[742,746],115,{"i":748,"a":252},[742,155],{"i":750,"a":252},[742,516],[252],{"t":167,"i":753,"o":754,"l":755,"c":730,"b":756},[742,516],[742,322],102,[],{"t":173},[],{"value":760,"role":175},{"id":77,"version":219,"type":521,"properties":761,"format":765,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":766},{"title":762},[763],[764],"Tracer Bullets",{"toggleable":196},{"title":767},{"r":768,"n":769},"dgQsJPVp1Gh7x3KNigKT6Q,\"start\",\"end\"",{"dgQsJPVp1Gh7x3KNigKT6Q,\"start\",\"end\"":770},{"s":771,"c":780},{"x":772,"i":773,"l":21},"dgQsJPVp1Gh7x3KNigKT6Q",[774,775,779],{"t":165},{"t":167,"i":776,"o":170,"l":778,"c":764},[777,155],"eay6mF5Qh6Q8",14,{"t":173},[],{"value":782,"role":175},{"id":78,"version":219,"type":220,"properties":783,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":787},{"title":784},[785],[786],"Build end-to-end functionality early, even if incomplete. This gives you immediate feedback and helps you adjust course.",{"title":788},{"r":789,"n":790},"7QM7_s5yuBK4elufgfHCwQ,\"start\",\"end\"",{"7QM7_s5yuBK4elufgfHCwQ,\"start\",\"end\"":791},{"s":792,"c":801},{"x":793,"i":794,"l":21},"7QM7_s5yuBK4elufgfHCwQ",[795,796,800],{"t":165},{"t":167,"i":797,"o":170,"l":799,"c":786},[798,155],"D7-gQ3lxRiJD",120,{"t":173},[],{"value":803,"role":175},{"id":79,"version":219,"type":220,"properties":804,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":811},{"title":805},[806,809],[567,807],[808],[252],[810]," When building a new feature, create the simplest working version that touches all layers, then iterate.",{"title":812},{"r":813,"n":814},"2iJN6bfFQ_Z8Ekx2x4qUGA,\"start\",\"end\"",{"2iJN6bfFQ_Z8Ekx2x4qUGA,\"start\",\"end\"":815},{"s":816,"c":838},{"x":817,"i":818,"l":21},"2iJN6bfFQ_Z8Ekx2x4qUGA",[819,820,832,837],{"t":165},{"t":167,"i":821,"o":170,"l":322,"c":567,"b":823},[822,155],"WOf6VwZ1vTXY",[824],{"t":247,"x":817,"l":21,"i":825,"s":827,"e":829,"a":831},[822,826],117,{"i":828,"a":252},[822,155],{"i":830,"a":252},[822,516],[252],{"t":167,"i":833,"o":834,"l":835,"c":810,"b":836},[822,516],[822,322],104,[],{"t":173},[],{"value":840,"role":175},{"id":80,"version":219,"type":521,"properties":841,"format":845,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":846},{"title":842},[843],[844],"Programming by Coincidence",{"toggleable":196},{"title":847},{"r":848,"n":849},"gtkdA_XV6XhXFHMqCg-cxQ,\"start\",\"end\"",{"gtkdA_XV6XhXFHMqCg-cxQ,\"start\",\"end\"":850},{"s":851,"c":859},{"x":852,"i":853,"l":21},"gtkdA_XV6XhXFHMqCg-cxQ",[854,855,858],{"t":165},{"t":167,"i":856,"o":170,"l":619,"c":844},[857,155],"wL2pDwjDaTMI",{"t":173},[],{"value":861,"role":175},{"id":81,"version":219,"type":220,"properties":862,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":866},{"title":863},[864],[865],"Don't rely on code that \"just works\" without understanding why. Coincidental programming leads to fragile systems.",{"title":867},{"r":868,"n":869},"KRwKNzt3kd9gUySPGxt_vQ,\"start\",\"end\"",{"KRwKNzt3kd9gUySPGxt_vQ,\"start\",\"end\"":870},{"s":871,"c":880},{"x":872,"i":873,"l":21},"KRwKNzt3kd9gUySPGxt_vQ",[874,875,879],{"t":165},{"t":167,"i":876,"o":170,"l":878,"c":865},[877,155],"151TfNxRWDjN",114,{"t":173},[],{"value":882,"role":175},{"id":82,"version":219,"type":220,"properties":883,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":890},{"title":884},[885,888],[567,886],[887],[252],[889]," When debugging, understand the root cause. Don't just try random changes until something works.",{"title":891},{"r":892,"n":893},"elO8r1KLeFiSx3y5janw1g,\"start\",\"end\"",{"elO8r1KLeFiSx3y5janw1g,\"start\",\"end\"":894},{"s":895,"c":917},{"x":896,"i":897,"l":21},"elO8r1KLeFiSx3y5janw1g",[898,899,911,916],{"t":165},{"t":167,"i":900,"o":170,"l":322,"c":567,"b":902},[901,155],"BPvqMT3B39Jt",[903],{"t":247,"x":896,"l":21,"i":904,"s":906,"e":908,"a":910},[901,905],109,{"i":907,"a":252},[901,155],{"i":909,"a":252},[901,516],[252],{"t":167,"i":912,"o":913,"l":914,"c":889,"b":915},[901,516],[901,322],96,[],{"t":173},[],{"value":919,"role":175},{"id":83,"version":219,"type":266,"properties":920,"format":924,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":925},{"title":921},[922],[923],"Practical Tips That Changed My Approach",{"toggleable":196},{"title":926},{"r":927,"n":928},"Mf0obRKUHlQ4F3EO0mDVlA,\"start\",\"end\"",{"Mf0obRKUHlQ4F3EO0mDVlA,\"start\",\"end\"":929},{"s":930,"c":939},{"x":931,"i":932,"l":21},"Mf0obRKUHlQ4F3EO0mDVlA",[933,934,938],{"t":165},{"t":167,"i":935,"o":170,"l":937,"c":923},[936,155],"KXI1cI7PZO9t",39,{"t":173},[],{"value":941,"role":175},{"id":84,"version":219,"type":521,"properties":942,"format":946,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":947},{"title":943},[944],[945],"Invest Regularly in Your Knowledge Portfolio",{"toggleable":196},{"title":948},{"r":949,"n":950},"IR1OAghsuVstGvD-LPowdQ,\"start\",\"end\"",{"IR1OAghsuVstGvD-LPowdQ,\"start\",\"end\"":951},{"s":952,"c":960},{"x":953,"i":954,"l":21},"IR1OAghsuVstGvD-LPowdQ",[955,956,959],{"t":165},{"t":167,"i":957,"o":170,"l":398,"c":945},[958,155],"lgllyLREjbKy",{"t":173},[],{"value":962,"role":175},{"id":85,"version":219,"type":220,"properties":963,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":967},{"title":964},[965],[966],"Treat learning like financial investment:",{"title":968},{"r":969,"n":970},"ld3agtHaDdkdu-bl17mjGQ,\"start\",\"end\"",{"ld3agtHaDdkdu-bl17mjGQ,\"start\",\"end\"":971},{"s":972,"c":981},{"x":973,"i":974,"l":21},"ld3agtHaDdkdu-bl17mjGQ",[975,976,980],{"t":165},{"t":167,"i":977,"o":170,"l":979,"c":966},[978,155],"ShhwJ2ZWay1V",41,{"t":173},[],{"value":983,"role":175},{"id":86,"version":219,"type":360,"properties":984,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":988},{"title":985},[986],[987],"Learn a new language every year",{"title":989},{"r":990,"n":991},"gvlaFGh8MIyNIUhqtKy8pg,\"start\",\"end\"",{"gvlaFGh8MIyNIUhqtKy8pg,\"start\",\"end\"":992},{"s":993,"c":1001},{"x":994,"i":995,"l":21},"gvlaFGh8MIyNIUhqtKy8pg",[996,997,1000],{"t":165},{"t":167,"i":998,"o":170,"l":440,"c":987},[999,155],"OKQ8qLgcrOjv",{"t":173},[],{"value":1003,"role":175},{"id":87,"version":219,"type":360,"properties":1004,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1008},{"title":1005},[1006],[1007],"Read technical books regularly",{"title":1009},{"r":1010,"n":1011},"U9xMAH4ZfpD_i_6GJytdnA,\"start\",\"end\"",{"U9xMAH4ZfpD_i_6GJytdnA,\"start\",\"end\"":1012},{"s":1013,"c":1022},{"x":1014,"i":1015,"l":21},"U9xMAH4ZfpD_i_6GJytdnA",[1016,1017,1021],{"t":165},{"t":167,"i":1018,"o":170,"l":1020,"c":1007},[1019,155],"ruoO-ZoO9tim",30,{"t":173},[],{"value":1024,"role":175},{"id":88,"version":219,"type":360,"properties":1025,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1029},{"title":1026},[1027],[1028],"Participate in user groups and meetups",{"title":1030},{"r":1031,"n":1032},"fU34gWV4XpQGtlWLK19lrg,\"start\",\"end\"",{"fU34gWV4XpQGtlWLK19lrg,\"start\",\"end\"":1033},{"s":1034,"c":1043},{"x":1035,"i":1036,"l":21},"fU34gWV4XpQGtlWLK19lrg",[1037,1038,1042],{"t":165},{"t":167,"i":1039,"o":170,"l":1041,"c":1028},[1040,155],"LvWKeHWkVmrv",38,{"t":173},[],{"value":1045,"role":175},{"id":89,"version":219,"type":360,"properties":1046,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1050},{"title":1047},[1048],[1049],"Experiment with different technologies",{"title":1051},{"r":1052,"n":1053},"DxNqQqLQ8iM-PLJwZiOmWw,\"start\",\"end\"",{"DxNqQqLQ8iM-PLJwZiOmWw,\"start\",\"end\"":1054},{"s":1055,"c":1063},{"x":1056,"i":1057,"l":21},"DxNqQqLQ8iM-PLJwZiOmWw",[1058,1059,1062],{"t":165},{"t":167,"i":1060,"o":170,"l":1041,"c":1049},[1061,155],"5YNBUyO3NXuG",{"t":173},[],{"value":1065,"role":175},{"id":90,"version":219,"type":360,"properties":1066,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1070},{"title":1067},[1068],[1069],"Stay current with industry trends",{"title":1071},{"r":1072,"n":1073},"MJu7v7Kha3TTrmFP6dObiw,\"start\",\"end\"",{"MJu7v7Kha3TTrmFP6dObiw,\"start\",\"end\"":1074},{"s":1075,"c":1084},{"x":1076,"i":1077,"l":21},"MJu7v7Kha3TTrmFP6dObiw",[1078,1079,1083],{"t":165},{"t":167,"i":1080,"o":170,"l":1082,"c":1069},[1081,155],"nEiRT2W_ixSe",33,{"t":173},[],{"value":1086,"role":175},{"id":91,"version":219,"type":220,"properties":1087,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1095},{"title":1088},[1089,1093],[1090,1091],"My implementation:",[1092],[252],[1094]," Dedicate time each week to learning—whether it's reading papers, contributing to open source, or exploring new tools.",{"title":1096},{"r":1097,"n":1098},"-_AQU2zkSUZmrqfPRs2o1A,\"start\",\"end\"",{"-_AQU2zkSUZmrqfPRs2o1A,\"start\",\"end\"":1099},{"s":1100,"c":1124},{"x":1101,"i":1102,"l":21},"-_AQU2zkSUZmrqfPRs2o1A",[1103,1104,1118,1123],{"t":165},{"t":167,"i":1105,"o":170,"l":1107,"c":1090,"b":1108},[1106,155],"vvYMzQ-0y5aZ",18,[1109],{"t":247,"x":1101,"l":21,"i":1110,"s":1112,"e":1114,"a":1117},[1106,1111],137,{"i":1113,"a":252},[1106,155],{"i":1115,"a":252},[1106,1116],19,[252],{"t":167,"i":1119,"o":1120,"l":1121,"c":1094,"b":1122},[1106,1116],[1106,1107],118,[],{"t":173},[],{"value":1126,"role":175},{"id":92,"version":219,"type":521,"properties":1127,"format":1131,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1132},{"title":1128},[1129],[1130],"Use Plain Text",{"toggleable":196},{"title":1133},{"r":1134,"n":1135},"3zbozkHxvUOnrUg98fLNFQ,\"start\",\"end\"",{"3zbozkHxvUOnrUg98fLNFQ,\"start\",\"end\"":1136},{"s":1137,"c":1145},{"x":1138,"i":1139,"l":21},"3zbozkHxvUOnrUg98fLNFQ",[1140,1141,1144],{"t":165},{"t":167,"i":1142,"o":170,"l":778,"c":1130},[1143,155],"XUbcA3heDlbJ",{"t":173},[],{"value":1147,"role":175},{"id":93,"version":219,"type":220,"properties":1148,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1152},{"title":1149},[1150],[1151],"Plain text is the universal interface. It's readable, testable, and version-controllable.",{"title":1153},{"r":1154,"n":1155},"GiKJgWHJAAmf9EA634QFyA,\"start\",\"end\"",{"GiKJgWHJAAmf9EA634QFyA,\"start\",\"end\"":1156},{"s":1157,"c":1166},{"x":1158,"i":1159,"l":21},"GiKJgWHJAAmf9EA634QFyA",[1160,1161,1165],{"t":165},{"t":167,"i":1162,"o":170,"l":1164,"c":1151},[1163,155],"-eKddPaF68C9",89,{"t":173},[],{"value":1168,"role":175},{"id":94,"version":219,"type":220,"properties":1169,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1176},{"title":1170},[1171,1174],[567,1172],[1173],[252],[1175]," Prefer configuration in plain text formats (YAML, TOML) over binary formats. Write documentation in Markdown. Keep logs in structured text.",{"title":1177},{"r":1178,"n":1179},"xU3Hflw8AyqLmRa4PeKD9Q,\"start\",\"end\"",{"xU3Hflw8AyqLmRa4PeKD9Q,\"start\",\"end\"":1180},{"s":1181,"c":1203},{"x":1182,"i":1183,"l":21},"xU3Hflw8AyqLmRa4PeKD9Q",[1184,1185,1197,1202],{"t":165},{"t":167,"i":1186,"o":170,"l":322,"c":567,"b":1188},[1187,155],"N0_94NyH8q_e",[1189],{"t":247,"x":1182,"l":21,"i":1190,"s":1192,"e":1194,"a":1196},[1187,1191],153,{"i":1193,"a":252},[1187,155],{"i":1195,"a":252},[1187,516],[252],{"t":167,"i":1198,"o":1199,"l":1200,"c":1175,"b":1201},[1187,516],[1187,322],140,[],{"t":173},[],{"value":1205,"role":175},{"id":95,"version":219,"type":521,"properties":1206,"format":1210,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1211},{"title":1207},[1208],[1209],"Prototype to Learn",{"toggleable":196},{"title":1212},{"r":1213,"n":1214},"ZoBc5FZewy2DImzIVDXfEQ,\"start\",\"end\"",{"ZoBc5FZewy2DImzIVDXfEQ,\"start\",\"end\"":1215},{"s":1216,"c":1224},{"x":1217,"i":1218,"l":21},"ZoBc5FZewy2DImzIVDXfEQ",[1219,1220,1223],{"t":165},{"t":167,"i":1221,"o":170,"l":1107,"c":1209},[1222,155],"mPcRpnmL97ZH",{"t":173},[],{"value":1226,"role":175},{"id":96,"version":219,"type":220,"properties":1227,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1231},{"title":1228},[1229],[1230],"Build prototypes to explore uncertain areas, then throw them away. Prototypes are for learning, not production.",{"title":1232},{"r":1233,"n":1234},"q__dL4NC9xGw-cAynEz_3g,\"start\",\"end\"",{"q__dL4NC9xGw-cAynEz_3g,\"start\",\"end\"":1235},{"s":1236,"c":1244},{"x":1237,"i":1238,"l":21},"q__dL4NC9xGw-cAynEz_3g",[1239,1240,1243],{"t":165},{"t":167,"i":1241,"o":170,"l":587,"c":1230},[1242,155],"f7v83mrX-ATD",{"t":173},[],{"value":1246,"role":175},{"id":97,"version":219,"type":220,"properties":1247,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1254},{"title":1248},[1249,1252],[567,1250],[1251],[252],[1253]," When evaluating new technologies or architectural decisions, build a throwaway prototype first. The insights gained are more valuable than the code.",{"title":1255},{"r":1256,"n":1257},"xXA2ASNSbYnQErixPLW3gA,\"start\",\"end\"",{"xXA2ASNSbYnQErixPLW3gA,\"start\",\"end\"":1258},{"s":1259,"c":1281},{"x":1260,"i":1261,"l":21},"xXA2ASNSbYnQErixPLW3gA",[1262,1263,1275,1280],{"t":165},{"t":167,"i":1264,"o":170,"l":322,"c":567,"b":1266},[1265,155],"N5RPZYNEjYOs",[1267],{"t":247,"x":1260,"l":21,"i":1268,"s":1270,"e":1272,"a":1274},[1265,1269],162,{"i":1271,"a":252},[1265,155],{"i":1273,"a":252},[1265,516],[252],{"t":167,"i":1276,"o":1277,"l":1278,"c":1253,"b":1279},[1265,516],[1265,322],149,[],{"t":173},[],{"value":1283,"role":175},{"id":98,"version":219,"type":266,"properties":1284,"format":1288,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1289},{"title":1285},[1286],[1287],"Sections That Resonated Most",{"toggleable":196},{"title":1290},{"r":1291,"n":1292},"BBSPJkVClabmqLw5N9voTg,\"start\",\"end\"",{"BBSPJkVClabmqLw5N9voTg,\"start\",\"end\"":1293},{"s":1294,"c":1302},{"x":1295,"i":1296,"l":21},"BBSPJkVClabmqLw5N9voTg",[1297,1298,1301],{"t":165},{"t":167,"i":1299,"o":170,"l":29,"c":1287},[1300,155],"um3W9cpFnlHr",{"t":173},[],{"value":1304,"role":175},{"id":99,"version":219,"type":521,"properties":1305,"format":1309,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1310},{"title":1306},[1307],[1308],"Chapter 7: While You Are Coding",{"toggleable":196},{"title":1311},{"r":1312,"n":1313},"gxBJGqb-tIuGbnvF9u56ag,\"start\",\"end\"",{"gxBJGqb-tIuGbnvF9u56ag,\"start\",\"end\"":1314},{"s":1315,"c":1323},{"x":1316,"i":1317,"l":21},"gxBJGqb-tIuGbnvF9u56ag",[1318,1319,1322],{"t":165},{"t":167,"i":1320,"o":170,"l":440,"c":1308},[1321,155],"GH8GW5j5EZXV",{"t":173},[],{"value":1325,"role":175},{"id":100,"version":219,"type":220,"properties":1326,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1330},{"title":1327},[1328],[1329],"This chapter covers debugging techniques, testing strategies, and refactoring. The advice on debugging is particularly valuable: treat it as problem-solving, not blame assignment.",{"title":1331},{"r":1332,"n":1333},"R9BWLAcR9UKpx-hhbXCeCg,\"start\",\"end\"",{"R9BWLAcR9UKpx-hhbXCeCg,\"start\",\"end\"":1334},{"s":1335,"c":1344},{"x":1336,"i":1337,"l":21},"R9BWLAcR9UKpx-hhbXCeCg",[1338,1339,1343],{"t":165},{"t":167,"i":1340,"o":170,"l":1342,"c":1329},[1341,155],"UXG9ljJzFWIm",179,{"t":173},[],{"value":1346,"role":175},{"id":101,"version":219,"type":220,"properties":1347,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1355},{"title":1348},[1349,1353],[1350,1351],"Key insight:",[1352],[252],[1354]," Good debugging requires a scientific mindset—form hypotheses, test them, and follow the data.",{"title":1356},{"r":1357,"n":1358},"8qo_FdpXhXTjhRv41wCEfg,\"start\",\"end\"",{"8qo_FdpXhXTjhRv41wCEfg,\"start\",\"end\"":1359},{"s":1360,"c":1382},{"x":1361,"i":1362,"l":21},"8qo_FdpXhXTjhRv41wCEfg",[1363,1364,1376,1381],{"t":165},{"t":167,"i":1365,"o":170,"l":322,"c":1350,"b":1367},[1366,155],"XPSCuakyPzFD",[1368],{"t":247,"x":1361,"l":21,"i":1369,"s":1371,"e":1373,"a":1375},[1366,1370],107,{"i":1372,"a":252},[1366,155],{"i":1374,"a":252},[1366,516],[252],{"t":167,"i":1377,"o":1378,"l":1379,"c":1354,"b":1380},[1366,516],[1366,322],94,[],{"t":173},[],{"value":1384,"role":175},{"id":102,"version":219,"type":521,"properties":1385,"format":1389,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1390},{"title":1386},[1387],[1388],"Chapter 8: Before the Project",{"toggleable":196},{"title":1391},{"r":1392,"n":1393},"XPhC4Kidtp9v1twuZVEJpQ,\"start\",\"end\"",{"XPhC4Kidtp9v1twuZVEJpQ,\"start\",\"end\"":1394},{"s":1395,"c":1404},{"x":1396,"i":1397,"l":21},"XPhC4Kidtp9v1twuZVEJpQ",[1398,1399,1403],{"t":165},{"t":167,"i":1400,"o":170,"l":1402,"c":1388},[1401,155],"AfmxYZ20Gusm",29,{"t":173},[],{"value":1406,"role":175},{"id":103,"version":219,"type":220,"properties":1407,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1411},{"title":1408},[1409],[1410],"Requirements gathering, estimation, and project planning. The emphasis on understanding the problem deeply before proposing solutions is crucial.",{"title":1412},{"r":1413,"n":1414},"DpMs8OBDIBEwsXe8x-Sfxg,\"start\",\"end\"",{"DpMs8OBDIBEwsXe8x-Sfxg,\"start\",\"end\"":1415},{"s":1416,"c":1425},{"x":1417,"i":1418,"l":21},"DpMs8OBDIBEwsXe8x-Sfxg",[1419,1420,1424],{"t":165},{"t":167,"i":1421,"o":170,"l":1423,"c":1410},[1422,155],"FGDxu-xcQs9z",145,{"t":173},[],{"value":1427,"role":175},{"id":104,"version":219,"type":220,"properties":1428,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1440},{"title":1429},[1430,1434,1436],[1431,1432],"Quote to remember:",[1433],[252],[1435]," ",[1437,1438],"\"Don't gather requirements—dig for them.\"",[1439],[227],{"title":1441},{"r":1442,"n":1443},"nFlwICwMfeZ1tOlB779XCQ,\"start\",\"end\"",{"nFlwICwMfeZ1tOlB779XCQ,\"start\",\"end\"":1444},{"s":1445,"c":1478},{"x":1446,"i":1447,"l":21},"nFlwICwMfeZ1tOlB779XCQ",[1448,1449,1461,1465,1476],{"t":165},{"t":167,"i":1450,"o":170,"l":1107,"c":1431,"b":1452},[1451,155],"4ckifWrQXnwo",[1453],{"t":247,"x":1446,"l":21,"i":1454,"s":1456,"e":1458,"a":1460},[1451,1455],61,{"i":1457,"a":252},[1451,155],{"i":1459,"a":252},[1451,1116],[252],{"t":167,"i":1462,"o":1463,"l":155,"c":1435,"b":1464},[1451,1116],[1451,1107],[],{"t":167,"i":1466,"o":1467,"l":979,"c":1437,"b":1468},[1451,313],[1451,1116],[1469],{"t":247,"x":1446,"l":21,"i":1470,"s":1472,"e":1474,"a":1475},[1451,1471],62,{"i":1473,"a":252},[1451,313],{"i":353,"a":252},[227],{"t":173,"b":1477},[],[],{"value":1480,"role":175},{"id":105,"version":219,"type":266,"properties":1481,"format":1485,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1486},{"title":1482},[1483],[1484],"What's New in the 2019 Edition",{"toggleable":196},{"title":1487},{"r":1488,"n":1489},"WKEWhnXQlMaFs35uSGpVIg,\"start\",\"end\"",{"WKEWhnXQlMaFs35uSGpVIg,\"start\",\"end\"":1490},{"s":1491,"c":1499},{"x":1492,"i":1493,"l":21},"WKEWhnXQlMaFs35uSGpVIg",[1494,1495,1498],{"t":165},{"t":167,"i":1496,"o":170,"l":1020,"c":1484},[1497,155],"yMW-jk6ldwO9",{"t":173},[],{"value":1501,"role":175},{"id":106,"version":219,"type":220,"properties":1502,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1506},{"title":1503},[1504],[1505],"The updated edition includes:",{"title":1507},{"r":1508,"n":1509},"qhMc42QjxI6-nt1epe4bFA,\"start\",\"end\"",{"qhMc42QjxI6-nt1epe4bFA,\"start\",\"end\"":1510},{"s":1511,"c":1519},{"x":1512,"i":1513,"l":21},"qhMc42QjxI6-nt1epe4bFA",[1514,1515,1518],{"t":165},{"t":167,"i":1516,"o":170,"l":1402,"c":1505},[1517,155],"E3cpVg4jM_uH",{"t":173},[],{"value":1521,"role":175},{"id":107,"version":219,"type":360,"properties":1522,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1526},{"title":1523},[1524],[1525],"Modern examples using contemporary languages",{"title":1527},{"r":1528,"n":1529},"vaMAjIOoj84hB7_AxZ5boA,\"start\",\"end\"",{"vaMAjIOoj84hB7_AxZ5boA,\"start\",\"end\"":1530},{"s":1531,"c":1539},{"x":1532,"i":1533,"l":21},"vaMAjIOoj84hB7_AxZ5boA",[1534,1535,1538],{"t":165},{"t":167,"i":1536,"o":170,"l":398,"c":1525},[1537,155],"m3Vw_Q3J0M59",{"t":173},[],{"value":1541,"role":175},{"id":108,"version":219,"type":360,"properties":1542,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1546},{"title":1543},[1544],[1545],"Discussion of agile methodologies",{"title":1547},{"r":1548,"n":1549},"i9wkv5JPV03KBQRodOTBhA,\"start\",\"end\"",{"i9wkv5JPV03KBQRodOTBhA,\"start\",\"end\"":1550},{"s":1551,"c":1559},{"x":1552,"i":1553,"l":21},"i9wkv5JPV03KBQRodOTBhA",[1554,1555,1558],{"t":165},{"t":167,"i":1556,"o":170,"l":1082,"c":1545},[1557,155],"phAWo86anIw4",{"t":173},[],{"value":1561,"role":175},{"id":109,"version":219,"type":360,"properties":1562,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1566},{"title":1563},[1564],[1565],"Version control best practices",{"title":1567},{"r":1568,"n":1569},"-dqb_EOnwTQLJ8PzaLqa1Q,\"start\",\"end\"",{"-dqb_EOnwTQLJ8PzaLqa1Q,\"start\",\"end\"":1570},{"s":1571,"c":1579},{"x":1572,"i":1573,"l":21},"-dqb_EOnwTQLJ8PzaLqa1Q",[1574,1575,1578],{"t":165},{"t":167,"i":1576,"o":170,"l":1020,"c":1565},[1577,155],"sRVQSilkag35",{"t":173},[],{"value":1581,"role":175},{"id":110,"version":219,"type":360,"properties":1582,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1586},{"title":1583},[1584],[1585],"Updated tools and techniques",{"title":1587},{"r":1588,"n":1589},"J-bR5j5SsvTx1v_coarGUQ,\"start\",\"end\"",{"J-bR5j5SsvTx1v_coarGUQ,\"start\",\"end\"":1590},{"s":1591,"c":1599},{"x":1592,"i":1593,"l":21},"J-bR5j5SsvTx1v_coarGUQ",[1594,1595,1598],{"t":165},{"t":167,"i":1596,"o":170,"l":29,"c":1585},[1597,155],"4GpqkiA2V7On",{"t":173},[],{"value":1601,"role":175},{"id":111,"version":219,"type":220,"properties":1602,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1606},{"title":1603},[1604],[1605],"Some dated content (like CORBA) has been removed, but the core principles remain timeless.",{"title":1607},{"r":1608,"n":1609},"08aVKmI_aYcHAEvFyAh3uQ,\"start\",\"end\"",{"08aVKmI_aYcHAEvFyAh3uQ,\"start\",\"end\"":1610},{"s":1611,"c":1620},{"x":1612,"i":1613,"l":21},"08aVKmI_aYcHAEvFyAh3uQ",[1614,1615,1619],{"t":165},{"t":167,"i":1616,"o":170,"l":1618,"c":1605},[1617,155],"fP7ytiXF8xAW",90,{"t":173},[],{"value":1622,"role":175},{"id":112,"version":219,"type":266,"properties":1623,"format":1627,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1628},{"title":1624},[1625],[1626],"Who Should Read This Book",{"toggleable":196},{"title":1629},{"r":1630,"n":1631},"Z34_7B9C_cLiFhy9v14GwQ,\"start\",\"end\"",{"Z34_7B9C_cLiFhy9v14GwQ,\"start\",\"end\"":1632},{"s":1633,"c":1641},{"x":1634,"i":1635,"l":21},"Z34_7B9C_cLiFhy9v14GwQ",[1636,1637,1640],{"t":165},{"t":167,"i":1638,"o":170,"l":255,"c":1626},[1639,155],"27XDrrzuHry2",{"t":173},[],{"value":1643,"role":175},{"id":113,"version":219,"type":220,"properties":1644,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1650},{"title":1645},[1646],[1647,1648],"Essential for:",[1649],[252],{"title":1651},{"r":1652,"n":1653},"f-Cx6BFIEdiiljwUvyrqmA,\"start\",\"end\"",{"f-Cx6BFIEdiiljwUvyrqmA,\"start\",\"end\"":1654},{"s":1655,"c":1672},{"x":1656,"i":1657,"l":21},"f-Cx6BFIEdiiljwUvyrqmA",[1658,1659,1670],{"t":165},{"t":167,"i":1660,"o":170,"l":778,"c":1647,"b":1662},[1661,155],"b88t-w1_auEr",[1663],{"t":247,"x":1656,"l":21,"i":1664,"s":1666,"e":1668,"a":1669},[1661,1665],15,{"i":1667,"a":252},[1661,155],{"i":353,"a":252},[252],{"t":173,"b":1671},[],[],{"value":1674,"role":175},{"id":114,"version":219,"type":360,"properties":1675,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1679},{"title":1676},[1677],[1678],"Junior developers transitioning to mid-level",{"title":1680},{"r":1681,"n":1682},"gU9ZlyJJ6fMZSSc4s6b3Eg,\"start\",\"end\"",{"gU9ZlyJJ6fMZSSc4s6b3Eg,\"start\",\"end\"":1683},{"s":1684,"c":1692},{"x":1685,"i":1686,"l":21},"gU9ZlyJJ6fMZSSc4s6b3Eg",[1687,1688,1691],{"t":165},{"t":167,"i":1689,"o":170,"l":398,"c":1678},[1690,155],"f5vfmMsCtRQ0",{"t":173},[],{"value":1694,"role":175},{"id":115,"version":219,"type":360,"properties":1695,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1699},{"title":1696},[1697],[1698],"Self-taught programmers looking to fill knowledge gaps",{"title":1700},{"r":1701,"n":1702},"MDjI5FQBjLmfPJmYxnQ2EA,\"start\",\"end\"",{"MDjI5FQBjLmfPJmYxnQ2EA,\"start\",\"end\"":1703},{"s":1704,"c":1713},{"x":1705,"i":1706,"l":21},"MDjI5FQBjLmfPJmYxnQ2EA",[1707,1708,1712],{"t":165},{"t":167,"i":1709,"o":170,"l":1711,"c":1698},[1710,155],"J4cmxNWeOSB1",54,{"t":173},[],{"value":1715,"role":175},{"id":116,"version":219,"type":360,"properties":1716,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1720},{"title":1717},[1718],[1719],"Anyone who wants to level up their craftsmanship",{"title":1721},{"r":1722,"n":1723},"hGnhiinKd4UrvT84GQsdjw,\"start\",\"end\"",{"hGnhiinKd4UrvT84GQsdjw,\"start\",\"end\"":1724},{"s":1725,"c":1733},{"x":1726,"i":1727,"l":21},"hGnhiinKd4UrvT84GQsdjw",[1728,1729,1732],{"t":165},{"t":167,"i":1730,"o":170,"l":464,"c":1719},[1731,155],"w5oCZYve7z9P",{"t":173},[],{"value":1735,"role":175},{"id":117,"version":219,"type":220,"properties":1736,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1742},{"title":1737},[1738],[1739,1740],"Still valuable for:",[1741],[252],{"title":1743},{"r":1744,"n":1745},"z5cpnxuTOtf7oc1fTVUbgA,\"start\",\"end\"",{"z5cpnxuTOtf7oc1fTVUbgA,\"start\",\"end\"":1746},{"s":1747,"c":1763},{"x":1748,"i":1749,"l":21},"z5cpnxuTOtf7oc1fTVUbgA",[1750,1751,1761],{"t":165},{"t":167,"i":1752,"o":170,"l":1116,"c":1739,"b":1754},[1753,155],"Dje5MRi0-Ejf",[1755],{"t":247,"x":1748,"l":21,"i":1756,"s":1757,"e":1759,"a":1760},[1753,313],{"i":1758,"a":252},[1753,155],{"i":353,"a":252},[252],{"t":173,"b":1762},[],[],{"value":1765,"role":175},{"id":118,"version":219,"type":360,"properties":1766,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1770},{"title":1767},[1768],[1769],"Senior engineers (as a refresher and common vocabulary)",{"title":1771},{"r":1772,"n":1773},"RVQo4O3r0nLcFQlr0z4h4w,\"start\",\"end\"",{"RVQo4O3r0nLcFQlr0z4h4w,\"start\",\"end\"":1774},{"s":1775,"c":1784},{"x":1776,"i":1777,"l":21},"RVQo4O3r0nLcFQlr0z4h4w",[1778,1779,1783],{"t":165},{"t":167,"i":1780,"o":170,"l":1782,"c":1769},[1781,155],"oowODV2dIEi1",55,{"t":173},[],{"value":1786,"role":175},{"id":119,"version":219,"type":360,"properties":1787,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1791},{"title":1788},[1789],[1790],"Technical leads (for mentoring references)",{"title":1792},{"r":1793,"n":1794},"L9aDCZPlDbrcpkKJl2PZKg,\"start\",\"end\"",{"L9aDCZPlDbrcpkKJl2PZKg,\"start\",\"end\"":1795},{"s":1796,"c":1804},{"x":1797,"i":1798,"l":21},"L9aDCZPlDbrcpkKJl2PZKg",[1799,1800,1803],{"t":165},{"t":167,"i":1801,"o":170,"l":419,"c":1790},[1802,155],"jBK9H3fLpwhf",{"t":173},[],{"value":1806,"role":175},{"id":120,"version":219,"type":360,"properties":1807,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1811},{"title":1808},[1809],[1810],"Career changers entering software development",{"title":1812},{"r":1813,"n":1814},"pemVU0N4sVbzZ5cjIe-k8Q,\"start\",\"end\"",{"pemVU0N4sVbzZ5cjIe-k8Q,\"start\",\"end\"":1815},{"s":1816,"c":1825},{"x":1817,"i":1818,"l":21},"pemVU0N4sVbzZ5cjIe-k8Q",[1819,1820,1824],{"t":165},{"t":167,"i":1821,"o":170,"l":1823,"c":1810},[1822,155],"IVc2-Ajia4dM",45,{"t":173},[],{"value":1827,"role":175},{"id":121,"version":219,"type":266,"properties":1828,"format":1832,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1833},{"title":1829},[1830],[1831],"Criticisms",{"toggleable":196},{"title":1834},{"r":1835,"n":1836},"3BBJRGMBo1VZsTsdeRv8jQ,\"start\",\"end\"",{"3BBJRGMBo1VZsTsdeRv8jQ,\"start\",\"end\"":1837},{"s":1838,"c":1847},{"x":1839,"i":1840,"l":21},"3BBJRGMBo1VZsTsdeRv8jQ",[1841,1842,1846],{"t":165},{"t":167,"i":1843,"o":170,"l":1845,"c":1831},[1844,155],"DnGiHK11tL0s",10,{"t":173},[],{"value":1849,"role":175},{"id":122,"version":219,"type":220,"properties":1850,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1856},{"title":1851},[1852],[1853,1854],"Limited scope on:",[1855],[252],{"title":1857},{"r":1858,"n":1859},"eaUlUS7r2iEGNKdkFLUYeQ,\"start\",\"end\"",{"eaUlUS7r2iEGNKdkFLUYeQ,\"start\",\"end\"":1860},{"s":1861,"c":1878},{"x":1862,"i":1863,"l":21},"eaUlUS7r2iEGNKdkFLUYeQ",[1864,1865,1876],{"t":165},{"t":167,"i":1866,"o":170,"l":1868,"c":1853,"b":1869},[1867,155],"oSsvCJSrAAj4",17,[1870],{"t":247,"x":1862,"l":21,"i":1871,"s":1872,"e":1874,"a":1875},[1867,1107],{"i":1873,"a":252},[1867,155],{"i":353,"a":252},[252],{"t":173,"b":1877},[],[],{"value":1880,"role":175},{"id":123,"version":219,"type":360,"properties":1881,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1885},{"title":1882},[1883],[1884],"Modern distributed systems challenges",{"title":1886},{"r":1887,"n":1888},"RbP_5lDvRxt6e_NwykORZg,\"start\",\"end\"",{"RbP_5lDvRxt6e_NwykORZg,\"start\",\"end\"":1889},{"s":1890,"c":1898},{"x":1891,"i":1892,"l":21},"RbP_5lDvRxt6e_NwykORZg",[1893,1894,1897],{"t":165},{"t":167,"i":1895,"o":170,"l":171,"c":1884},[1896,155],"K902kCDrfOK-",{"t":173},[],{"value":1900,"role":175},{"id":124,"version":219,"type":360,"properties":1901,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1905},{"title":1902},[1903],[1904],"Cloud-native architectures",{"title":1906},{"r":1907,"n":1908},"tNkskZ5nI_4kij8wzotiWQ,\"start\",\"end\"",{"tNkskZ5nI_4kij8wzotiWQ,\"start\",\"end\"":1909},{"s":1910,"c":1918},{"x":1911,"i":1912,"l":21},"tNkskZ5nI_4kij8wzotiWQ",[1913,1914,1917],{"t":165},{"t":167,"i":1915,"o":170,"l":619,"c":1904},[1916,155],"_MEt3hXimTeA",{"t":173},[],{"value":1920,"role":175},{"id":125,"version":219,"type":360,"properties":1921,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1925},{"title":1922},[1923],[1924],"Container orchestration",{"title":1926},{"r":1927,"n":1928},"66El4h9GO0W095BmxzlnYw,\"start\",\"end\"",{"66El4h9GO0W095BmxzlnYw,\"start\",\"end\"":1929},{"s":1930,"c":1939},{"x":1931,"i":1932,"l":21},"66El4h9GO0W095BmxzlnYw",[1933,1934,1938],{"t":165},{"t":167,"i":1935,"o":170,"l":1937,"c":1924},[1936,155],"Pb6tWazHgr3T",23,{"t":173},[],{"value":1941,"role":175},{"id":126,"version":219,"type":360,"properties":1942,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1946},{"title":1943},[1944],[1945],"Frontend-specific concerns",{"title":1947},{"r":1948,"n":1949},"pDFIK16OZd52Z6v8ortsTA,\"start\",\"end\"",{"pDFIK16OZd52Z6v8ortsTA,\"start\",\"end\"":1950},{"s":1951,"c":1959},{"x":1952,"i":1953,"l":21},"pDFIK16OZd52Z6v8ortsTA",[1954,1955,1958],{"t":165},{"t":167,"i":1956,"o":170,"l":619,"c":1945},[1957,155],"_dikTuwwulyp",{"t":173},[],{"value":1961,"role":175},{"id":127,"version":219,"type":220,"properties":1962,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1966},{"title":1963},[1964],[1965],"These topics are addressed elsewhere, but it means the book is best complemented with domain-specific resources.",{"title":1967},{"r":1968,"n":1969},"MuTWpWrbaXFcfrZ18sY-8A,\"start\",\"end\"",{"MuTWpWrbaXFcfrZ18sY-8A,\"start\",\"end\"":1970},{"s":1971,"c":1980},{"x":1972,"i":1973,"l":21},"MuTWpWrbaXFcfrZ18sY-8A",[1974,1975,1979],{"t":165},{"t":167,"i":1976,"o":170,"l":1978,"c":1965},[1977,155],"MbmffyV2K46_",112,{"t":173},[],{"value":1982,"role":175},{"id":128,"version":219,"type":266,"properties":1983,"format":1987,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":1988},{"title":1984},[1985],[1986],"Personal Impact",{"toggleable":196},{"title":1989},{"r":1990,"n":1991},"nK-Q_OmPIUrrD3K5gETM-Q,\"start\",\"end\"",{"nK-Q_OmPIUrrD3K5gETM-Q,\"start\",\"end\"":1992},{"s":1993,"c":2001},{"x":1994,"i":1995,"l":21},"nK-Q_OmPIUrrD3K5gETM-Q",[1996,1997,2000],{"t":165},{"t":167,"i":1998,"o":170,"l":1665,"c":1986},[1999,155],"3g97tWXw-fJR",{"t":173},[],{"value":2003,"role":175},{"id":129,"version":219,"type":220,"properties":2004,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2008},{"title":2005},[2006],[2007],"Reading this book early in my career shaped how I think about code quality and professional development. The principles guide my daily decisions:",{"title":2009},{"r":2010,"n":2011},"jc5sm9WDuPKfOWUH_MFPjg,\"start\",\"end\"",{"jc5sm9WDuPKfOWUH_MFPjg,\"start\",\"end\"":2012},{"s":2013,"c":2021},{"x":2014,"i":2015,"l":21},"jc5sm9WDuPKfOWUH_MFPjg",[2016,2017,2020],{"t":165},{"t":167,"i":2018,"o":170,"l":1423,"c":2007},[2019,155],"x1N2Vjbd4TNJ",{"t":173},[],{"value":2023,"role":175},{"id":130,"version":219,"type":360,"properties":2024,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2032},{"title":2025},[2026,2030],[2027,2028],"When reviewing code:",[2029],[252],[2031]," I look for DRY violations and orthogonality issues",{"title":2033},{"r":2034,"n":2035},"FPVm9Wimhk57ZO9oTbBqFQ,\"start\",\"end\"",{"FPVm9Wimhk57ZO9oTbBqFQ,\"start\",\"end\"":2036},{"s":2037,"c":2060},{"x":2038,"i":2039,"l":21},"FPVm9Wimhk57ZO9oTbBqFQ",[2040,2041,2054,2059],{"t":165},{"t":167,"i":2042,"o":170,"l":313,"c":2027,"b":2044},[2043,155],"mTeuigBA5WmG",[2045],{"t":247,"x":2038,"l":21,"i":2046,"s":2048,"e":2050,"a":2053},[2043,2047],72,{"i":2049,"a":252},[2043,155],{"i":2051,"a":252},[2043,2052],21,[252],{"t":167,"i":2055,"o":2056,"l":2057,"c":2031,"b":2058},[2043,2052],[2043,313],51,[],{"t":173},[],{"value":2062,"role":175},{"id":131,"version":219,"type":360,"properties":2063,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2071},{"title":2064},[2065,2069],[2066,2067],"When designing systems:",[2068],[252],[2070]," I think about reversibility and flexibility",{"title":2072},{"r":2073,"n":2074},"Xu3nRI-DMOnLWL-asbGP8Q,\"start\",\"end\"",{"Xu3nRI-DMOnLWL-asbGP8Q,\"start\",\"end\"":2075},{"s":2076,"c":2096},{"x":2077,"i":2078,"l":21},"Xu3nRI-DMOnLWL-asbGP8Q",[2079,2080,2091,2095],{"t":165},{"t":167,"i":2081,"o":170,"l":1937,"c":2066,"b":2083},[2082,155],"lBlz_XzJAwRb",[2084],{"t":247,"x":2077,"l":21,"i":2085,"s":2086,"e":2088,"a":2090},[2082,179],{"i":2087,"a":252},[2082,155],{"i":2089,"a":252},[2082,244],[252],{"t":167,"i":2092,"o":2093,"l":398,"c":2070,"b":2094},[2082,244],[2082,1937],[],{"t":173},[],{"value":2098,"role":175},{"id":132,"version":219,"type":360,"properties":2099,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2107},{"title":2100},[2101,2105],[2102,2103],"When debugging:",[2104],[252],[2106]," I form hypotheses and test systematically",{"title":2108},{"r":2109,"n":2110},"vwyIItFE5hSOWvGAEKiF5g,\"start\",\"end\"",{"vwyIItFE5hSOWvGAEKiF5g,\"start\",\"end\"":2111},{"s":2112,"c":2134},{"x":2113,"i":2114,"l":21},"vwyIItFE5hSOWvGAEKiF5g",[2115,2116,2129,2133],{"t":165},{"t":167,"i":2117,"o":170,"l":1665,"c":2102,"b":2119},[2118,155],"jp5s9RnzFXw2",[2120],{"t":247,"x":2113,"l":21,"i":2121,"s":2123,"e":2125,"a":2128},[2118,2122],58,{"i":2124,"a":252},[2118,155],{"i":2126,"a":252},[2118,2127],16,[252],{"t":167,"i":2130,"o":2131,"l":419,"c":2106,"b":2132},[2118,2127],[2118,1665],[],{"t":173},[],{"value":2136,"role":175},{"id":133,"version":219,"type":360,"properties":2137,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2145},{"title":2138},[2139,2143],[2140,2141],"For career growth:",[2142],[252],[2144]," I continuously invest in my knowledge portfolio",{"title":2146},{"r":2147,"n":2148},"8iZgc123U326KwTT98_9bQ,\"start\",\"end\"",{"8iZgc123U326KwTT98_9bQ,\"start\",\"end\"":2149},{"s":2150,"c":2171},{"x":2151,"i":2152,"l":21},"8iZgc123U326KwTT98_9bQ",[2153,2154,2166,2170],{"t":165},{"t":167,"i":2155,"o":170,"l":1107,"c":2140,"b":2157},[2156,155],"4FcDdXWHvszG",[2158],{"t":247,"x":2151,"l":21,"i":2159,"s":2161,"e":2163,"a":2165},[2156,2160],67,{"i":2162,"a":252},[2156,155],{"i":2164,"a":252},[2156,1116],[252],{"t":167,"i":2167,"o":2168,"l":464,"c":2144,"b":2169},[2156,1116],[2156,1107],[],{"t":173},[],{"value":2173,"role":175},{"id":134,"version":219,"type":266,"properties":2174,"format":2178,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2179},{"title":2175},[2176],[2177],"Final Thoughts",{"toggleable":196},{"title":2180},{"r":2181,"n":2182},"V1I-wKgaWAu_Rpy0Xc2mcw,\"start\",\"end\"",{"V1I-wKgaWAu_Rpy0Xc2mcw,\"start\",\"end\"":2183},{"s":2184,"c":2192},{"x":2185,"i":2186,"l":21},"V1I-wKgaWAu_Rpy0Xc2mcw",[2187,2188,2191],{"t":165},{"t":167,"i":2189,"o":170,"l":778,"c":2177},[2190,155],"M3YC6g9ZVFHa",{"t":173},[],{"value":2194,"role":175},{"id":135,"version":219,"type":220,"properties":2195,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2202},{"title":2196},[2197,2200],[224,2198],[2199],[227],[2201]," isn't about specific technologies—it's about mindset and approach. That's why it remains relevant regardless of what language or framework you use.",{"title":2203},{"r":2204,"n":2205},"G89Hq3qbaOdePBFn2q_QKw,\"start\",\"end\"",{"G89Hq3qbaOdePBFn2q_QKw,\"start\",\"end\"":2206},{"s":2207,"c":2229},{"x":2208,"i":2209,"l":21},"G89Hq3qbaOdePBFn2q_QKw",[2210,2211,2223,2228],{"t":165},{"t":167,"i":2212,"o":170,"l":244,"c":224,"b":2214},[2213,155],"UxQ6MKfFS3FD",[2215],{"t":247,"x":2208,"l":21,"i":2216,"s":2218,"e":2220,"a":2222},[2213,2217],173,{"i":2219,"a":252},[2213,155],{"i":2221,"a":252},[2213,255],[227],{"t":167,"i":2224,"o":2225,"l":2226,"c":2201,"b":2227},[2213,255],[2213,244],148,[],{"t":173},[],{"value":2231,"role":175},{"id":136,"version":219,"type":220,"properties":2232,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2238},{"title":2233},[2234],[2235,2236],"Recommended reading order:",[2237],[252],{"title":2239},{"r":2240,"n":2241},"CEmzCL83KEpb3ZWuiT4byg,\"start\",\"end\"",{"CEmzCL83KEpb3ZWuiT4byg,\"start\",\"end\"":2242},{"s":2243,"c":2260},{"x":2244,"i":2245,"l":21},"CEmzCL83KEpb3ZWuiT4byg",[2246,2247,2258],{"t":165},{"t":167,"i":2248,"o":170,"l":619,"c":2235,"b":2250},[2249,155],"IwLTOvs6S2Xp",[2251],{"t":247,"x":2244,"l":21,"i":2252,"s":2254,"e":2256,"a":2257},[2249,2253],27,{"i":2255,"a":252},[2249,155],{"i":353,"a":252},[252],{"t":173,"b":2259},[],[],{"value":2262,"role":175},{"id":137,"version":219,"type":2263,"properties":2264,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2268},"numbered_list",{"title":2265},[2266],[2267],"Read it cover-to-cover first",{"title":2269},{"r":2270,"n":2271},"knuF1Erzgq_s1Jbw6GbPQQ,\"start\",\"end\"",{"knuF1Erzgq_s1Jbw6GbPQQ,\"start\",\"end\"":2272},{"s":2273,"c":2281},{"x":2274,"i":2275,"l":21},"knuF1Erzgq_s1Jbw6GbPQQ",[2276,2277,2280],{"t":165},{"t":167,"i":2278,"o":170,"l":29,"c":2267},[2279,155],"OAxlXwEagYk3",{"t":173},[],{"value":2283,"role":175},{"id":138,"version":219,"type":2263,"properties":2284,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2288},{"title":2285},[2286],[2287],"Keep it as a reference for specific topics",{"title":2289},{"r":2290,"n":2291},"xZ4oDKhqDOtqb4ZSGu1QSA,\"start\",\"end\"",{"xZ4oDKhqDOtqb4ZSGu1QSA,\"start\",\"end\"":2292},{"s":2293,"c":2301},{"x":2294,"i":2295,"l":21},"xZ4oDKhqDOtqb4ZSGu1QSA",[2296,2297,2300],{"t":165},{"t":167,"i":2298,"o":170,"l":419,"c":2287},[2299,155],"QbndNCRZxqt8",{"t":173},[],{"value":2303,"role":175},{"id":139,"version":219,"type":2263,"properties":2304,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2308},{"title":2305},[2306],[2307],"Re-read every few years as your experience grows",{"title":2309},{"r":2310,"n":2311},"XexkjarrdANMHQsQxcTupg,\"start\",\"end\"",{"XexkjarrdANMHQsQxcTupg,\"start\",\"end\"":2312},{"s":2313,"c":2321},{"x":2314,"i":2315,"l":21},"XexkjarrdANMHQsQxcTupg",[2316,2317,2320],{"t":165},{"t":167,"i":2318,"o":170,"l":464,"c":2307},[2319,155],"zMZXn7Qg9GEt",{"t":173},[],{"value":2323,"role":175},{"id":140,"version":219,"type":220,"properties":2324,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2328},{"title":2325},[2326],[2327],"Each reading reveals new insights as your context changes.",{"title":2329},{"r":2330,"n":2331},"1mH3ypedXL0q9EDABlOcyg,\"start\",\"end\"",{"1mH3ypedXL0q9EDABlOcyg,\"start\",\"end\"":2332},{"s":2333,"c":2341},{"x":2334,"i":2335,"l":21},"1mH3ypedXL0q9EDABlOcyg",[2336,2337,2340],{"t":165},{"t":167,"i":2338,"o":170,"l":2122,"c":2327},[2339,155],"cweXurUJcLkj",{"t":173},[],{"value":2343,"role":175},{"id":141,"version":2344,"type":2345,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2346},4,"divider",{"title":2347},{"r":2348,"n":2349},"zgt3YKKvIvfXvlyje4Jz5w,\"start\",\"end\"",{"zgt3YKKvIvfXvlyje4Jz5w,\"start\",\"end\"":2350},{"s":2351,"c":2356},{"x":2352,"i":2353,"l":21},"zgt3YKKvIvfXvlyje4Jz5w",[2354,2355],{"t":165},{"t":173},[],{"value":2358,"role":175},{"id":142,"version":219,"type":220,"properties":2359,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2365},{"title":2360},[2361],[2362,2363],"Rating breakdown:",[2364],[252],{"title":2366},{"r":2367,"n":2368},"5ieeYTzW8z_KezWFl-wbFQ,\"start\",\"end\"",{"5ieeYTzW8z_KezWFl-wbFQ,\"start\",\"end\"":2369},{"s":2370,"c":2386},{"x":2371,"i":2372,"l":21},"5ieeYTzW8z_KezWFl-wbFQ",[2373,2374,2384],{"t":165},{"t":167,"i":2375,"o":170,"l":1868,"c":2362,"b":2377},[2376,155],"2Lr6-tPcqzKZ",[2378],{"t":247,"x":2371,"l":21,"i":2379,"s":2380,"e":2382,"a":2383},[2376,1107],{"i":2381,"a":252},[2376,155],{"i":353,"a":252},[252],{"t":173,"b":2385},[],[],{"value":2388,"role":175},{"id":143,"version":219,"type":360,"properties":2389,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2397},{"title":2390},[2391,2395],[2392,2393],"Content:",[2394],[252],[2396]," 5/5 – Timeless advice",{"title":2398},{"r":2399,"n":2400},"poRiWLc7tutXYDFMc6YObg,\"start\",\"end\"",{"poRiWLc7tutXYDFMc6YObg,\"start\",\"end\"":2401},{"s":2402,"c":2424},{"x":2403,"i":2404,"l":21},"poRiWLc7tutXYDFMc6YObg",[2405,2406,2418,2423],{"t":165},{"t":167,"i":2407,"o":170,"l":284,"c":2392,"b":2409},[2408,155],"LZpxFAZ24r72",[2410],{"t":247,"x":2403,"l":21,"i":2411,"s":2412,"e":2414,"a":2417},[2408,440],{"i":2413,"a":252},[2408,155],{"i":2415,"a":252},[2408,2416],9,[252],{"t":167,"i":2419,"o":2420,"l":2421,"c":2396,"b":2422},[2408,2416],[2408,284],22,[],{"t":173},[],{"value":2426,"role":175},{"id":144,"version":219,"type":360,"properties":2427,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2435},{"title":2428},[2429,2433],[2430,2431],"Readability:",[2432],[252],[2434]," 4/5 – Dense but well-written",{"title":2436},{"r":2437,"n":2438},"CNo3TcUUTtDW-cIvXIuaNg,\"start\",\"end\"",{"CNo3TcUUTtDW-cIvXIuaNg,\"start\",\"end\"":2439},{"s":2440,"c":2460},{"x":2441,"i":2442,"l":21},"CNo3TcUUTtDW-cIvXIuaNg",[2443,2444,2455,2459],{"t":165},{"t":167,"i":2445,"o":170,"l":322,"c":2430,"b":2447},[2446,155],"Uft09UGBm-cs",[2448],{"t":247,"x":2441,"l":21,"i":2449,"s":2450,"e":2452,"a":2454},[2446,419],{"i":2451,"a":252},[2446,155],{"i":2453,"a":252},[2446,516],[252],{"t":167,"i":2456,"o":2457,"l":1402,"c":2434,"b":2458},[2446,516],[2446,322],[],{"t":173},[],{"value":2462,"role":175},{"id":145,"version":219,"type":360,"properties":2463,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2471},{"title":2464},[2465,2469],[2466,2467],"Actionability:",[2468],[252],[2470]," 5/5 – Practical tips you can apply immediately",{"title":2472},{"r":2473,"n":2474},"tGwzTPplljhiml6woNuKwQ,\"start\",\"end\"",{"tGwzTPplljhiml6woNuKwQ,\"start\",\"end\"":2475},{"s":2476,"c":2497},{"x":2477,"i":2478,"l":21},"tGwzTPplljhiml6woNuKwQ",[2479,2480,2491,2496],{"t":165},{"t":167,"i":2481,"o":170,"l":778,"c":2466,"b":2483},[2482,155],"pIbugYIPYpBh",[2484],{"t":247,"x":2477,"l":21,"i":2485,"s":2486,"e":2488,"a":2490},[2482,1471],{"i":2487,"a":252},[2482,155],{"i":2489,"a":252},[2482,1665],[252],{"t":167,"i":2492,"o":2493,"l":2494,"c":2470,"b":2495},[2482,1665],[2482,778],47,[],{"t":173},[],{"value":2499,"role":175},{"id":146,"version":219,"type":360,"properties":2500,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2508},{"title":2501},[2502,2506],[2503,2504],"Longevity:",[2505],[252],[2507]," 5/5 – Still relevant after 25 years",{"title":2509},{"r":2510,"n":2511},"Q5Zbvp3NZLBhp2NsZoNMPw,\"start\",\"end\"",{"Q5Zbvp3NZLBhp2NsZoNMPw,\"start\",\"end\"":2512},{"s":2513,"c":2534},{"x":2514,"i":2515,"l":21},"Q5Zbvp3NZLBhp2NsZoNMPw",[2516,2517,2528,2533],{"t":165},{"t":167,"i":2518,"o":170,"l":1845,"c":2503,"b":2520},[2519,155],"vbtQwKlqkEWy",[2521],{"t":247,"x":2514,"l":21,"i":2522,"s":2523,"e":2525,"a":2527},[2519,2494],{"i":2524,"a":252},[2519,155],{"i":2526,"a":252},[2519,346],[252],{"t":167,"i":2529,"o":2530,"l":2531,"c":2507,"b":2532},[2519,346],[2519,1845],36,[],{"t":173},[],{"value":2536,"role":175},{"id":147,"version":219,"type":220,"properties":2537,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2545},{"title":2538},[2539,2543],[2540,2541],"Buy it if:",[2542],[252],[2544]," You want to become a better software engineer, regardless of your current level.",{"title":2546},{"r":2547,"n":2548},"AjleHOb6IqpatZXepSwMag,\"start\",\"end\"",{"AjleHOb6IqpatZXepSwMag,\"start\",\"end\"":2549},{"s":2550,"c":2572},{"x":2551,"i":2552,"l":21},"AjleHOb6IqpatZXepSwMag",[2553,2554,2566,2571],{"t":165},{"t":167,"i":2555,"o":170,"l":1845,"c":2540,"b":2557},[2556,155],"owLeHRtSMxey",[2558],{"t":247,"x":2551,"l":21,"i":2559,"s":2561,"e":2563,"a":2565},[2556,2560],92,{"i":2562,"a":252},[2556,155],{"i":2564,"a":252},[2556,346],[252],{"t":167,"i":2567,"o":2568,"l":2569,"c":2544,"b":2570},[2556,346],[2556,1845],81,[],{"t":173},[],{"value":2574,"role":175},{"id":148,"version":219,"type":220,"properties":2575,"created_time":230,"last_edited_time":231,"parent_id":17,"parent_table":190,"alive":153,"space_id":154,"crdt_format_version":155,"crdt_data":2583},{"title":2576},[2577,2581],[2578,2579],"Skip it if:",[2580],[252],[2582]," You're looking for language-specific tutorials or cutting-edge architectural patterns.",{"title":2584},{"r":2585,"n":2586},"6mSJFjEbnCpxSw7D64VdiA,\"start\",\"end\"",{"6mSJFjEbnCpxSw7D64VdiA,\"start\",\"end\"":2587},{"s":2588,"c":2610},{"x":2589,"i":2590,"l":21},"6mSJFjEbnCpxSw7D64VdiA",[2591,2592,2604,2609],{"t":165},{"t":167,"i":2593,"o":170,"l":346,"c":2578,"b":2595},[2594,155],"Bl2LYDro3942",[2596],{"t":247,"x":2589,"l":21,"i":2597,"s":2599,"e":2601,"a":2603},[2594,2598],99,{"i":2600,"a":252},[2594,155],{"i":2602,"a":252},[2594,322],[252],{"t":167,"i":2605,"o":2606,"l":2607,"c":2582,"b":2608},[2594,322],[2594,346],87,[],{"t":173},[],{"2d0fe8dd-acd6-81fb-8702-000b039af795":2612},{"value":2613,"role":175},{"id":151,"version":2614,"name":2615,"schema":2618,"icon":2681,"format":2682,"parent_id":178,"parent_table":190,"alive":153,"copied_from":2684,"migrated":153,"space_id":154,"created_time":2720,"last_edited_time":2721,"created_by_table":2722,"created_by_id":2723,"last_edited_by_table":2722,"last_edited_by_id":2723},103,[2616],[2617],"Database",{"A\u003Cgx":2619,"dp_o":2621,"title":2623,"0d131b96-a11a-4078-85a2-06eef84c7be6":2626,"10243cf2-965e-450d-99ee-dc6076017363":2660,"c832da20-339d-4a80-9a7b-62f98d5a8996":2662,"ece115aa-d10f-4ea0-83b3-ea2a43e6e71e":2671},{"name":2620,"type":220},"Slug",{"name":2622,"type":41},"Date",{"name":2624,"type":2625},"Title","title",{"name":2627,"type":2628,"options":2629},"Tags","multi_select",[2630,2634,2638,2642,2646,2650,2653,2657],{"id":2631,"color":2632,"value":2633},"b67fb051-ddd9-43b5-9fdf-7b7f97a2e056","yellow","Jekyll",{"id":2635,"color":2636,"value":2637},"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","pink","Website",{"id":2639,"color":2640,"value":2641},"674b2636-c585-4057-8a6d-0d6ab9718f90","blue","Cooking",{"id":2643,"color":2644,"value":2645},"499d31ac-26f2-4fed-9ec4-17afe3c6d90d","red","Sociology",{"id":2647,"color":2648,"value":2649},"38611f8e-ab81-4a71-8d40-7bad1370b26a","orange","TEMP",{"id":2651,"color":2652,"value":23},"1ad9233c-079a-44c7-98c3-24ed2faf1879","purple",{"id":2654,"color":2655,"value":2656},"a3d8eb51-77ce-4e83-a9ae-68da9cee63fa","default","Design",{"id":2658,"color":2659,"value":24},"faa335e8-ade9-4a5c-a37f-7ef02b33312d","brown",{"name":2661,"type":220},"Summary",{"name":2663,"type":2664,"options":2665},"Type","select",[2666,2668],{"id":2667,"color":2640,"value":52},"5aff2f95-fd1e-489b-8840-bf10bc9519cb",{"id":2669,"color":2632,"value":2670},"374d2bc6-a144-4832-8ca4-474aaae0ea1f","Content",{"name":2672,"type":2664,"options":2673},"Status",[2674,2678],{"id":2675,"color":2676,"value":2677},"41d5f5c6-b53c-42bc-8e0f-fc9402048480","gray","Draft",{"id":2679,"color":2680,"value":55},"7abc61d4-b405-480d-b699-12588755fa65","green","💾",{"copied_from_pointer":2683,"ai_suggested_properties":2685},{"id":2684,"table":152,"spaceId":154},"292fe8dd-acd6-80a3-b834-000b391f69e4",[2686,2689,2691,2706],{"name":2687,"type":2688},"Author","person",{"name":2690,"type":41},"Published Date",{"name":2692,"type":2664,"options":2693},"Category",[2694,2697,2700,2703],{"id":2695,"color":2680,"value":2696},"Q=ZZ","Technology",{"id":2698,"color":2648,"value":2699},"TVDp","Health",{"id":2701,"color":2659,"value":2702},"|HnH","Education",{"id":2704,"color":2640,"value":2705},"^sc=","Entertainment",{"name":2627,"type":2628,"options":2707},[2708,2711,2714,2717],{"id":2709,"color":2648,"value":2710},"PK>W","Featured",{"id":2712,"color":2659,"value":2713},"VOSJ","Trending",{"id":2715,"color":2632,"value":2716},"=FCE","New",{"id":2718,"color":2655,"value":2719},"JXXc","Popular",1766327873677,1768238784268,"notion_user","ff55607a-3044-4bbb-9667-bc8493a06e9b",{"2d0fe8dd-acd6-81fb-891c-000c60c5b153":2725},{"value":2726,"role":175},{"id":182,"version":346,"type":2727,"format":2728,"parent_id":178,"parent_table":190,"alive":153,"page_sort":2738,"query2":2761,"space_id":154,"created_time":198,"last_edited_time":198,"created_by_table":2722,"created_by_id":2723},"table",{"table_wrap":153,"table_properties":2729,"collection_pointer":2737},[2730,2732,2735],{"width":2731,"visible":153,"property":2625},280,{"width":2733,"visible":153,"property":2734},200,"A\u003Cgx",{"visible":153,"property":2736},"dp_o",{"id":151,"table":152,"spaceId":154},[2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,17,2757,2758,2759,2760],"2d0fe8dd-acd6-81ef-9d9a-cb5f24b61dcd","2d0fe8dd-acd6-81d9-95e8-dc0d0bc57c9b","2d0fe8dd-acd6-81d1-bbce-ece78a7d4a26","2d0fe8dd-acd6-818f-a219-d7add42581a3","2d0fe8dd-acd6-816a-9b05-fc10b8c697fe","2d0fe8dd-acd6-81db-b717-c61d186563e5","2d0fe8dd-acd6-8162-b244-ebe831629887","2d0fe8dd-acd6-81a8-9f87-cd028aca1311","2d0fe8dd-acd6-812f-8ae4-f466c29f20d8","2d0fe8dd-acd6-8105-8d72-e9ca3a88c4a5","2d0fe8dd-acd6-8114-8e52-c9f0c5aea474","2d0fe8dd-acd6-81f8-ba1e-c83f43c4a982","2d0fe8dd-acd6-8110-9a3f-eeb74b94a604","298fe8dd-acd6-807a-b93b-d824a9f4540a","2e6fe8dd-acd6-8055-8f9d-d774dc4de1c5","73ea001b-a92c-4601-8b20-9739d4e3d186","7277b5d5-bcbc-4024-9496-cff7b4b64322","ae014b62-511d-4205-8b6b-ea675775a6b0","7c2b1da3-8bd8-46f0-9913-9d5bb2b38d5c","1aeda2e4-2281-489a-a453-8c5a47f5a8de","288a147c-8d54-4c92-b52d-ab0e97da88b5","8987f689-1469-45b9-a156-42bc8115f96c",{"sort":2762},[2763],{"property":2736,"direction":2764},"descending",{},{},{},{"html":2769,"darkMode":196},"\u003Cmain class=\"notion light-mode notion-page notion-block-67663562ea8143fa82db39e20cafa296\">\u003Cdiv class=\"notion-viewport\">\u003C/div>\u003Cdiv class=\"notion-text notion-block-325eecdadf3641a9b63cebb305b828bd\">\u003Cem>The Pragmatic Programmer\u003C/em> by Andrew Hunt and David Thomas is one of those rare technical books that remains relevant decades after publication. Updated in 2019 for its 20th anniversary, this book distills practical wisdom for software engineers at any career stage.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-59a2d5f4a68b4ad4a5eb13fb2aed0aac\" data-id=\"59a2d5f4a68b4ad4a5eb13fb2aed0aac\">\u003Cspan>\u003Cdiv id=\"59a2d5f4a68b4ad4a5eb13fb2aed0aac\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#59a2d5f4a68b4ad4a5eb13fb2aed0aac\" title=\"Overview\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Overview\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-9cd9f3fff5b24107b4cce889dddc87fc\">\u003Cb>Rating:\u003C/b> ⭐⭐⭐⭐⭐ (5/5)\u003C/div>\u003Cdiv class=\"notion-text notion-block-733745fff6af49a9a96c85f361324e35\">\u003Cb>Key themes:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-7f7e1f416975427abc050a05bbdcf220\">\u003Cli>Craftsmanship and professionalism in software development\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-2971620fd1dc4b44aee7316d2d8deed3\">\u003Cli>Practical techniques for writing better code\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-9560df4d9e314ea5a940abf02db28d1e\">\u003Cli>Career development and continuous learning\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-b1b15fb7ef364f17969d4afd6da55b97\">\u003Cli>Team dynamics and communication\u003C/li>\u003C/ul>\u003Cblockquote class=\"notion-quote notion-block-eeeef592652046daab499db7e5b5b981\">\u003Cdiv>\u003Cem>&quot;Care about your craft. Think! About your work.&quot;\u003C/em>\u003C/div>\u003C/blockquote>\u003Cdiv class=\"notion-text notion-block-aeb4d9496c5e4a32b5f4e3b900860b4c\">This opening sets the tone for the entire book—programming is a craft that demands thoughtfulness and continuous improvement.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-96498ccedec446278df510cc36d65593\" data-id=\"96498ccedec446278df510cc36d65593\">\u003Cspan>\u003Cdiv id=\"96498ccedec446278df510cc36d65593\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#96498ccedec446278df510cc36d65593\" title=\"Key Takeaways\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Key Takeaways\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-8031f1fcb3ee4b11aedf34909e740450\" data-id=\"8031f1fcb3ee4b11aedf34909e740450\">\u003Cspan>\u003Cdiv id=\"8031f1fcb3ee4b11aedf34909e740450\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#8031f1fcb3ee4b11aedf34909e740450\" title=\"The Broken Window Theory\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">The Broken Window Theory\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-288e5d5eba5d4a33a30d2244b887c805\">One of the most powerful concepts in the book: don&#x27;t leave &quot;broken windows&quot; (bad code, poor decisions) unrepaired. Once you allow one broken window, more will follow, and the entire project will deteriorate.\u003C/div>\u003Cdiv class=\"notion-text notion-block-0d7cff20c89c45d1a593576e49ecf001\">\u003Cb>In practice:\u003C/b> When you encounter bad code, fix it immediately or file a ticket. Don&#x27;t let it become normalized.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-9066f890e67a451e91148f79e2c3c52d\" data-id=\"9066f890e67a451e91148f79e2c3c52d\">\u003Cspan>\u003Cdiv id=\"9066f890e67a451e91148f79e2c3c52d\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#9066f890e67a451e91148f79e2c3c52d\" title=\"DRY: Don&#x27;t Repeat Yourself\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">DRY: Don&#x27;t Repeat Yourself\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-87d7d83ee1cd48189b0f8a3257411d43\">Every piece of knowledge should have a single, unambiguous representation in the system. This goes beyond code duplication—it&#x27;s about knowledge duplication across documentation, databases, APIs, and code.\u003C/div>\u003Cdiv class=\"notion-text notion-block-00753f714ce94fa6be8a43883dc59f64\">\u003Cb>In practice:\u003C/b> When writing similar code twice, abstract it. When maintaining parallel documentation, automate it from a single source.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-56410d22825a495ea89c50c6e47394f6\" data-id=\"56410d22825a495ea89c50c6e47394f6\">\u003Cspan>\u003Cdiv id=\"56410d22825a495ea89c50c6e47394f6\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#56410d22825a495ea89c50c6e47394f6\" title=\"Orthogonality\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Orthogonality\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-92d1ea8a9eef402da69075a3195a622d\">Design components that are independent—changes to one don&#x27;t affect others. This reduces risk and increases flexibility.\u003C/div>\u003Cdiv class=\"notion-text notion-block-bfb5d3f7497f4403bc949280dc43cbc8\">\u003Cb>In practice:\u003C/b> Keep your business logic separate from your data access layer. Make your functions do one thing well.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-37ff339723354530a9b1a52fd0753724\" data-id=\"37ff339723354530a9b1a52fd0753724\">\u003Cspan>\u003Cdiv id=\"37ff339723354530a9b1a52fd0753724\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#37ff339723354530a9b1a52fd0753724\" title=\"Tracer Bullets\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Tracer Bullets\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-5852da20ef6441b39a333e1bf88adb21\">Build end-to-end functionality early, even if incomplete. This gives you immediate feedback and helps you adjust course.\u003C/div>\u003Cdiv class=\"notion-text notion-block-b7544bbba8364598a8fa00a1bfa97e2a\">\u003Cb>In practice:\u003C/b> When building a new feature, create the simplest working version that touches all layers, then iterate.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-c1f255f7c2894ff59b31c5f12cae7e11\" data-id=\"c1f255f7c2894ff59b31c5f12cae7e11\">\u003Cspan>\u003Cdiv id=\"c1f255f7c2894ff59b31c5f12cae7e11\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#c1f255f7c2894ff59b31c5f12cae7e11\" title=\"Programming by Coincidence\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Programming by Coincidence\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-b19f07ffb6c74dc2bd22a2e833ea4b38\">Don&#x27;t rely on code that &quot;just works&quot; without understanding why. Coincidental programming leads to fragile systems.\u003C/div>\u003Cdiv class=\"notion-text notion-block-3861f53e572f4722829ebcc9bbe895f2\">\u003Cb>In practice:\u003C/b> When debugging, understand the root cause. Don&#x27;t just try random changes until something works.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-5958023e50c94f3c8f28ff1199113c02\" data-id=\"5958023e50c94f3c8f28ff1199113c02\">\u003Cspan>\u003Cdiv id=\"5958023e50c94f3c8f28ff1199113c02\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#5958023e50c94f3c8f28ff1199113c02\" title=\"Practical Tips That Changed My Approach\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Practical Tips That Changed My Approach\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-167b1e8ef12242a99ecf93858b7e9df3\" data-id=\"167b1e8ef12242a99ecf93858b7e9df3\">\u003Cspan>\u003Cdiv id=\"167b1e8ef12242a99ecf93858b7e9df3\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#167b1e8ef12242a99ecf93858b7e9df3\" title=\"Invest Regularly in Your Knowledge Portfolio\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Invest Regularly in Your Knowledge Portfolio\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-a130b20bb1e744778308d3d8df05259a\">Treat learning like financial investment:\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-870de128065f4dd5b538a776bec17a39\">\u003Cli>Learn a new language every year\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-c11618b8d8234956bed56b18b131a5a0\">\u003Cli>Read technical books regularly\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-e87b25fe05c8440da2880d3e5ad5ad20\">\u003Cli>Participate in user groups and meetups\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-62c9e5a5afc04ab880777049c4901e94\">\u003Cli>Experiment with different technologies\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-8b4ad222ba3b4a1889b89e779bc46ba0\">\u003Cli>Stay current with industry trends\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-3d2c77126c51489f9eccffec37960a12\">\u003Cb>My implementation:\u003C/b> Dedicate time each week to learning—whether it&#x27;s reading papers, contributing to open source, or exploring new tools.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-4b0bb961bf6240b38acfdd09496637c4\" data-id=\"4b0bb961bf6240b38acfdd09496637c4\">\u003Cspan>\u003Cdiv id=\"4b0bb961bf6240b38acfdd09496637c4\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#4b0bb961bf6240b38acfdd09496637c4\" title=\"Use Plain Text\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Use Plain Text\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-3a45277405f647739ac063703bebe8ab\">Plain text is the universal interface. It&#x27;s readable, testable, and version-controllable.\u003C/div>\u003Cdiv class=\"notion-text notion-block-48683706549645b9b68652d05e0cd1c8\">\u003Cb>In practice:\u003C/b> Prefer configuration in plain text formats (YAML, TOML) over binary formats. Write documentation in Markdown. Keep logs in structured text.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-930a7b01083d42d59b77f547a330aa6a\" data-id=\"930a7b01083d42d59b77f547a330aa6a\">\u003Cspan>\u003Cdiv id=\"930a7b01083d42d59b77f547a330aa6a\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#930a7b01083d42d59b77f547a330aa6a\" title=\"Prototype to Learn\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Prototype to Learn\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-7bda0bb381414ab798bcd8ab74658647\">Build prototypes to explore uncertain areas, then throw them away. Prototypes are for learning, not production.\u003C/div>\u003Cdiv class=\"notion-text notion-block-62eabb4980e3410a83ade970b72def81\">\u003Cb>In practice:\u003C/b> When evaluating new technologies or architectural decisions, build a throwaway prototype first. The insights gained are more valuable than the code.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-f5fe834a3cef4c9b9fbafaa183c6598d\" data-id=\"f5fe834a3cef4c9b9fbafaa183c6598d\">\u003Cspan>\u003Cdiv id=\"f5fe834a3cef4c9b9fbafaa183c6598d\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#f5fe834a3cef4c9b9fbafaa183c6598d\" title=\"Sections That Resonated Most\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Sections That Resonated Most\u003C/span>\u003C/span>\u003C/h3>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-6f54a7bb03ca445cb79e7a15a1655061\" data-id=\"6f54a7bb03ca445cb79e7a15a1655061\">\u003Cspan>\u003Cdiv id=\"6f54a7bb03ca445cb79e7a15a1655061\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#6f54a7bb03ca445cb79e7a15a1655061\" title=\"Chapter 7: While You Are Coding\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Chapter 7: While You Are Coding\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-ea3f92aecaf34cc6a52497eb3d8fa159\">This chapter covers debugging techniques, testing strategies, and refactoring. The advice on debugging is particularly valuable: treat it as problem-solving, not blame assignment.\u003C/div>\u003Cdiv class=\"notion-text notion-block-ccc0ff87e4dc4a28acccfb72e3b00d27\">\u003Cb>Key insight:\u003C/b> Good debugging requires a scientific mindset—form hypotheses, test them, and follow the data.\u003C/div>\u003Ch4 class=\"notion-h notion-h3 notion-h-indent-1 notion-block-f5fa56713fdf4f3abd10421ac6c00ce1\" data-id=\"f5fa56713fdf4f3abd10421ac6c00ce1\">\u003Cspan>\u003Cdiv id=\"f5fa56713fdf4f3abd10421ac6c00ce1\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#f5fa56713fdf4f3abd10421ac6c00ce1\" title=\"Chapter 8: Before the Project\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Chapter 8: Before the Project\u003C/span>\u003C/span>\u003C/h4>\u003Cdiv class=\"notion-text notion-block-3c4e32b615d34e0f9d93dc7821524fc1\">Requirements gathering, estimation, and project planning. The emphasis on understanding the problem deeply before proposing solutions is crucial.\u003C/div>\u003Cdiv class=\"notion-text notion-block-7b127f1def4248c194518ffe9e968c4f\">\u003Cb>Quote to remember:\u003C/b> \u003Cem>&quot;Don&#x27;t gather requirements—dig for them.&quot;\u003C/em>\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-92ad9eee8f4245dcbf9aead0d9ed89ff\" data-id=\"92ad9eee8f4245dcbf9aead0d9ed89ff\">\u003Cspan>\u003Cdiv id=\"92ad9eee8f4245dcbf9aead0d9ed89ff\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#92ad9eee8f4245dcbf9aead0d9ed89ff\" title=\"What&#x27;s New in the 2019 Edition\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">What&#x27;s New in the 2019 Edition\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-125d477d8df74127bbca55e1300a7a76\">The updated edition includes:\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-8d171c8919b34b36b2329617e7e9ad1b\">\u003Cli>Modern examples using contemporary languages\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-25b3588af6774b1d9c7cc04ad4331200\">\u003Cli>Discussion of agile methodologies\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-b046b13ce8ca472bac75cf15debfc0a2\">\u003Cli>Version control best practices\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-6c0706fe3c464f7394374d1002dcf036\">\u003Cli>Updated tools and techniques\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-2286353ba4094aa49faca4d34a7a12e0\">Some dated content (like CORBA) has been removed, but the core principles remain timeless.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-044667343b0c400c97709e347c238677\" data-id=\"044667343b0c400c97709e347c238677\">\u003Cspan>\u003Cdiv id=\"044667343b0c400c97709e347c238677\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#044667343b0c400c97709e347c238677\" title=\"Who Should Read This Book\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Who Should Read This Book\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-4cd53688f28a4ec8b6190657ec274afc\">\u003Cb>Essential for:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-29923d01a7014a3ba4d3f319c094495b\">\u003Cli>Junior developers transitioning to mid-level\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-ec572fdb90f645db94c8dfe5cb789b9d\">\u003Cli>Self-taught programmers looking to fill knowledge gaps\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-e2df155d35994694a2f78f06c2f60456\">\u003Cli>Anyone who wants to level up their craftsmanship\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-218c4b569b6349708c12fe7161dde66b\">\u003Cb>Still valuable for:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-c586c70a7ef849149e36413080c58f76\">\u003Cli>Senior engineers (as a refresher and common vocabulary)\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-2064b03a110f4f728e96ea0047af63f5\">\u003Cli>Technical leads (for mentoring references)\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-dcdde6f8f175435ab5e4657939b56afb\">\u003Cli>Career changers entering software development\u003C/li>\u003C/ul>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-7ec4c55b2579436180d7129d5cb39a43\" data-id=\"7ec4c55b2579436180d7129d5cb39a43\">\u003Cspan>\u003Cdiv id=\"7ec4c55b2579436180d7129d5cb39a43\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#7ec4c55b2579436180d7129d5cb39a43\" title=\"Criticisms\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Criticisms\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-0fbdfa2403f2446db690b2c556f6a7e0\">\u003Cb>Limited scope on:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-010d4943439d4b63a861225a2112ab8d\">\u003Cli>Modern distributed systems challenges\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-1a7f57abbc6940bd9260cf6172284e12\">\u003Cli>Cloud-native architectures\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-3cbc502ea95d46ff8b06122409a64c1d\">\u003Cli>Container orchestration\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-a7a6be4f9d2b46c08a8a85cbc19ac139\">\u003Cli>Frontend-specific concerns\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-999ffceafe154bb3a156663404356121\">These topics are addressed elsewhere, but it means the book is best complemented with domain-specific resources.\u003C/div>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-eb8f767689f246afab69e2a0d9b3e403\" data-id=\"eb8f767689f246afab69e2a0d9b3e403\">\u003Cspan>\u003Cdiv id=\"eb8f767689f246afab69e2a0d9b3e403\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#eb8f767689f246afab69e2a0d9b3e403\" title=\"Personal Impact\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Personal Impact\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-7129acdd625842418718e7861347653e\">Reading this book early in my career shaped how I think about code quality and professional development. The principles guide my daily decisions:\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-e7c29a427d6542e29c0eaa0e18947cab\">\u003Cli>\u003Cb>When reviewing code:\u003C/b> I look for DRY violations and orthogonality issues\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-fa88119d7b4f4badbfa15747110bad43\">\u003Cli>\u003Cb>When designing systems:\u003C/b> I think about reversibility and flexibility\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-c5400e2812f248c0934fe1a2cd5b1617\">\u003Cli>\u003Cb>When debugging:\u003C/b> I form hypotheses and test systematically\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-47473fd439a549cc9581aa95a5c119f3\">\u003Cli>\u003Cb>For career growth:\u003C/b> I continuously invest in my knowledge portfolio\u003C/li>\u003C/ul>\u003Ch3 class=\"notion-h notion-h2 notion-h-indent-0 notion-block-a74f3e07c5774030a2261190ecc60b62\" data-id=\"a74f3e07c5774030a2261190ecc60b62\">\u003Cspan>\u003Cdiv id=\"a74f3e07c5774030a2261190ecc60b62\" class=\"notion-header-anchor\">\u003C/div>\u003Ca class=\"notion-hash-link\" href=\"#a74f3e07c5774030a2261190ecc60b62\" title=\"Final Thoughts\">\u003Csvg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\">\u003Cpath fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\">\u003C/path>\u003C/svg>\u003C/a>\u003Cspan class=\"notion-h-title\">Final Thoughts\u003C/span>\u003C/span>\u003C/h3>\u003Cdiv class=\"notion-text notion-block-082feb83a51d47d18877af82d600311f\">\u003Cem>The Pragmatic Programmer\u003C/em> isn&#x27;t about specific technologies—it&#x27;s about mindset and approach. That&#x27;s why it remains relevant regardless of what language or framework you use.\u003C/div>\u003Cdiv class=\"notion-text notion-block-d4710ff11f7746729fc98a474b1de7a1\">\u003Cb>Recommended reading order:\u003C/b>\u003C/div>\u003Col start=\"1\" class=\"notion-list notion-list-numbered notion-block-700e9d1420284adeb11688eb0361ffe1\" style=\"list-style-type:decimal\">\u003Cli>Read it cover-to-cover first\u003C/li>\u003C/ol>\u003Col start=\"2\" class=\"notion-list notion-list-numbered notion-block-37ab728a970543ebaf3db1314309eae3\" style=\"list-style-type:decimal\">\u003Cli>Keep it as a reference for specific topics\u003C/li>\u003C/ol>\u003Col start=\"3\" class=\"notion-list notion-list-numbered notion-block-7fd626bf24fb4212a6e38c13a8a43dea\" style=\"list-style-type:decimal\">\u003Cli>Re-read every few years as your experience grows\u003C/li>\u003C/ol>\u003Cdiv class=\"notion-text notion-block-c0ed50efde924777a0ce2952a0b82d02\">Each reading reveals new insights as your context changes.\u003C/div>\u003Chr class=\"notion-hr notion-block-9d1535f4981e46da87ed21a784240c1c\"/>\u003Cdiv class=\"notion-text notion-block-5cb0eae275174320905d57e397b2675f\">\u003Cb>Rating breakdown:\u003C/b>\u003C/div>\u003Cul class=\"notion-list notion-list-disc notion-block-e5f0a5dc938544a18b9b6eab0df88180\">\u003Cli>\u003Cb>Content:\u003C/b> 5/5 – Timeless advice\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-05e6fd9d81b642beb54cdfe57f551b02\">\u003Cli>\u003Cb>Readability:\u003C/b> 4/5 – Dense but well-written\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-fcb056ad982741cfa1f9712cd5ee08aa\">\u003Cli>\u003Cb>Actionability:\u003C/b> 5/5 – Practical tips you can apply immediately\u003C/li>\u003C/ul>\u003Cul class=\"notion-list notion-list-disc notion-block-428c7729d180411aafaf7ed281b418d6\">\u003Cli>\u003Cb>Longevity:\u003C/b> 5/5 – Still relevant after 25 years\u003C/li>\u003C/ul>\u003Cdiv class=\"notion-text notion-block-659c7d5f39514971b502f4d4b7d1043d\">\u003Cb>Buy it if:\u003C/b> You want to become a better software engineer, regardless of your current level.\u003C/div>\u003Cdiv class=\"notion-text notion-block-7ecdb86d9c244569a032bbfbc1b15bee\">\u003Cb>Skip it if:\u003C/b> You&#x27;re looking for language-specific tutorials or cutting-edge architectural patterns.\u003C/div>\u003C/main>",1771336987010]