<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Healthy Scientist: Build Using AI With Healthy Habits 🔥]]></title><description><![CDATA[The Healthy Engineer 😋 Start building AI systems without burning out while maintaining healthy habits and a balanced lifestyle 🏝
I share everything as a software engineer and data scientist on AI, ML, positive mindset, and healthy proactive habits🥑🤖🏆]]></description><link>https://www.pierrehenry.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!VGF6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae9c40f8-f3be-46ef-a6db-b1eb6f0aa3cb_1024x1024.png</url><title>The Healthy Scientist: Build Using AI With Healthy Habits 🔥</title><link>https://www.pierrehenry.dev</link></image><generator>Substack</generator><lastBuildDate>Thu, 16 Apr 2026 00:48:17 GMT</lastBuildDate><atom:link href="https://www.pierrehenry.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Pierre-Henry Soria]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[pierrehenry@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[pierrehenry@substack.com]]></itunes:email><itunes:name><![CDATA[🎡 Pierre-Henry™ 🌴]]></itunes:name></itunes:owner><itunes:author><![CDATA[🎡 Pierre-Henry™ 🌴]]></itunes:author><googleplay:owner><![CDATA[pierrehenry@substack.com]]></googleplay:owner><googleplay:email><![CDATA[pierrehenry@substack.com]]></googleplay:email><googleplay:author><![CDATA[🎡 Pierre-Henry™ 🌴]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Taking a Break to Build Something New]]></title><description><![CDATA[Why I'm stepping back (and what I've learned)]]></description><link>https://www.pierrehenry.dev/p/taking-a-break-to-build-something</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/taking-a-break-to-build-something</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Mon, 19 Jan 2026 12:58:00 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/184199336/70de8cc794088ace300085302415016e.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<h4>TL;DR</h4><blockquote><p><em>After spending quite some time exploring various engineering topics and building impactful projects while keeping healthy habits, today I am taking a break to focus on a new chapter.</em></p></blockquote><p></p><h4>Taking a Break to Focus on What's Next</h4><p>After quite some time writing about AI, research, and building with healthy habits, I'm stepping back from content creation.</p><p></p><h4>What Changes</h4><p>&#10003; All existing posts remain available</p><p>&#10007; No new posts will be published</p><p>&#10007; Comments won't be monitored</p><p>&#10007; Newsletter is paused</p><p></p><h4>Why I'm Telling You This&#8230;</h4><p>Everything I've written here was created on my own time, independently. I'm proud of this work and want to preserve it properly as I shift my focus elsewhere.</p><p></p><h4>Keep Going</h4><p>Don't wait for permission. Don't wait for perfect conditions. Keep learning. Keep building. Keep applying what you discover. That's where growth happens&#8212;in the doing, not the planning. Maybe I'll be back with new insights someday. Maybe not. Either way, thank you for being here.</p><p></p><p><strong>What This Really Means to You&#8230;</strong></p><ul><li><p>All existing posts remain available.</p></li></ul><ul><li><p>No new posts will be published.</p></li><li><p>I won&#8217;t be responding to comments.</p></li><li><p>Newsletter is paused.</p></li></ul><p></p><p>Thanks for being part of this journey!</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share The Healthy Scientist: Build Using AI With Healthy Habits &#128293;&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share The Healthy Scientist: Build Using AI With Healthy Habits &#128293;</span></a></p><p><em>Keep learning, researching, practicing, and growing! &#128640;</em></p>]]></content:encoded></item><item><title><![CDATA[Why Best Engineers Keep Adjusting Their Skills]]></title><description><![CDATA[Watch now | How small shifts in your skills and mindset can quietly raise your level.]]></description><link>https://www.pierrehenry.dev/p/why-the-best-engineers-keep-adjusting</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/why-the-best-engineers-keep-adjusting</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 14 Jan 2026 20:07:25 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/180837839/8d56e900209e0a45af507257e45199ce.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>A reflection on what genuinely helps engineers grow. It is not about knowing everything but about recognising when your approach no longer fits, adjusting your skills, and staying open to change. <strong>When you learn to adapt your habits and use the right skills at the right moment, your work becomes clearer, quicker, and far more meaningful</strong>. You start solving problems with more confidence, making better decisions, and understanding your craft in a deeper, more practical way.</p><p>Spoiler Alert: <em>We will also discuss about CouchDB, PouchDB, and other very exciting things!</em> &#9889;&#65039;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sFam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sFam!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sFam!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sFam!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sFam!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sFam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1896938,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/180837839?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sFam!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sFam!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sFam!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sFam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fcd6714-9338-4e1c-b907-8e843d0123ac_4032x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Be a &#8220;Software Thinker.&#8221; Start solving problems the right way by thinking differently.</figcaption></figure></div><p>I&#8217;ve built tons of product-centric projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Feel free to check them out for inspiration or jump in to contribute!</p><p>I&#8217;ve got more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p><em>Keep learning. Keep researching. Keep practicing. Keep growing!</em> &#128640;</p><p></p>]]></content:encoded></item><item><title><![CDATA[The Side Project That Actually Changed Everything]]></title><description><![CDATA[Watch now | Why meaning beats metrics when building something that lasts]]></description><link>https://www.pierrehenry.dev/p/the-side-project-that-actually-changed</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/the-side-project-that-actually-changed</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 14 Jan 2026 20:03:26 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/183224616/e073071d39caa3ea5dd05137e4f1b62f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Most side projects fade. This one didn&#8217;t. In this video, I explain how choosing meaning over hype changes how you build, why you stay consistent, and what finally makes a project worth finishing instead of abandoning halfway through.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p>We&#8217;ve all been there. You see a trending framework on Twitter, get excited, start a new project, build for three days, then... it just sits there. Unfinished. Forgotten. Added to the graveyard of abandoned repositories with a README and nothing else.</p><p>Here&#8217;s what I&#8217;ve learned: projects built on hype die the moment the hype fades. You start because something looks cool or you think it&#8217;ll be impressive on your portfolio. But when the initial excitement wears off and you hit the boring middle part? There&#8217;s nothing left to keep you going.</p><p>Choosing meaning over hype changes everything. When you build something that solves a real problem you care about, the motivation is completely different. You&#8217;re not building because it&#8217;s trendy. You&#8217;re building because you genuinely want this thing to exist. That deeper purpose carries you through the hard parts where most people quit.</p><p>Well... staying consistent becomes natural when the project actually matters to you. It&#8217;s not about forcing yourself to work on it or setting arbitrary goals. You just... keep coming back to it. Because you want to see it finished. Because you&#8217;re excited about using it yourself or seeing others benefit from it.</p><p>And here&#8217;s what makes a project worth finishing: it solves something real. Not theoretical. Not &#8220;this might be useful someday.&#8221; Real problems that you or someone else faces right now. When you can picture the exact person who&#8217;ll benefit from what you&#8217;re building, finishing stops feeling like a chore and starts feeling necessary.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q0Yh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5507475,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/183224616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q0Yh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabacccb4-abb6-4213-8b2e-52f47c58374b_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A quiet cafe, a single screen, one project that matters more than the rest.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve built many projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Check them out for inspiration or contribution!</p><p>I&#8217;ve got plenty more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>! Hit the &#8216;follow&#8217; button so you won&#8217;t miss out!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/the-side-project-that-actually-changed?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/the-side-project-that-actually-changed?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Data Scientist: Why Developing a Continuous Learning Loop]]></title><description><![CDATA[Focus on what matters most to build a personal growth engine that never stops learning.]]></description><link>https://www.pierrehenry.dev/p/develop-a-continuous-learning-loop</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/develop-a-continuous-learning-loop</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 14 Jan 2026 13:24:17 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/177441564/b49fb6200e645eb55c42436e70a1e4c1.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p>If you feel like you&#8217;re learning slower than others&#8230;, this one is for you! I&#8217;ll share the exact mindset and structure to develop a learning loop that accelerates your progress, project after project. I used to watch other engineers pick up new technologies seemingly overnight whilst I struggled for weeks with the same concepts. It felt rubbish, honestly. Like everyone had some secret learning ability I just didn&#8217;t have.</p><p>But here&#8217;s what I discovered: fast learners aren&#8217;t magically smarter. They&#8217;ve just built better learning loops. They extract more knowledge from each project, apply it to the next one, and compound their skills faster than people who treat every project like starting from scratch.</p><p>The mindset shift is huge. Instead of &#8220;I need to learn everything about React before I start&#8221;, it becomes &#8220;I&#8217;ll learn what I need for this specific feature, build it, see what breaks, and learn from there&#8221;.</p><p>Active learning through doing beats every single time passive learning through reading.</p><p>Well&#8230; here&#8217;s what a proper learning loop looks like: You build something. You encounter problems you don&#8217;t know how to solve. You figure them out (through docs, asking questions, experimenting). You reflect on what you learnt and why it works that way. You apply that knowledge to the next thing you build. That last step is what most people skip, and it&#8217;s where the acceleration happens.</p><p>The structure matters too, right? After finishing any project (even small ones), spend 10 minutes asking yourself the following:</p><ul><li><p><em>What did I learn?</em> </p></li><li><p><em>What would I do differently next time?</em> </p></li><li><p><em>What patterns or concepts clicked that I can use elsewhere?</em> </p></li></ul><p>These questions turn random experiences into structured knowledge that actually sticks.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd9509d9-b70e-4b0b-9ac1-7009e7bc0236_5712x4284.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0dfcd1fb-658d-41fa-86eb-5e27fde0b3e2_4032x3024.jpeg&quot;}],&quot;caption&quot;:&quot;Learning, Researching and Practicing Each Day&quot;,&quot;alt&quot;:&quot;Learning, researching, and practicing each day&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1794839-b9b3-41c5-a482-160325aa5b50_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p></p><div><hr></div><p>I&#8217;ve developed numerous projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Feel free to browse them for inspiration or to contribute! And I&#8217;ve so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a> as well! Don&#8217;t forget to follow and stay tuned!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>Keep learning. Keep researching. Keep practicing. Keep growing!</em> &#128640;</p>]]></content:encoded></item><item><title><![CDATA[Why Planning and Prototyping First Leads to Exceptional Products]]></title><description><![CDATA[Watch now | How early planning and quick prototypes help you spot real problems, make sharper decisions, and ship products that feel way more polished]]></description><link>https://www.pierrehenry.dev/p/why-planning-and-prototyping-first</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/why-planning-and-prototyping-first</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 14 Jan 2026 12:53:21 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/180081193/60ea246647245651a56c6c60850c1dfc.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>In this video, I explain why the best engineers never start by coding.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p>Look, I get it. You have an idea, you&#8217;re excited about it, and your fingers are itching to open your IDE and start hammering out code. I&#8217;ve done this countless times myself. But here&#8217;s the thing: that&#8217;s usually how you end up with a complete mess three weeks later, wondering why nothing works the way you imagined it would.</p><p>The best engineers? They begin with clear plans, simple sketches, and fast prototypes to understand what truly needs to be built. Not fancy over-engineered architecture diagrams or 50-page documentation that nobody will read. Just enough planning to avoid wasting weeks building completely the wrong thing.</p><p>This approach reduces wasted work massively. You catch obvious problems before writing a single line of code. You realise that feature X doesn&#8217;t actually solve the real problem when you sketch it out on paper. You see that the data flow you had in your head won&#8217;t work in practice. All of this happens before you&#8217;ve invested days into implementation that you&#8217;ll have to throw away.</p><p>It also improves product quality because you&#8217;re thinking through edge cases, user flows, and technical constraints upfront instead of discovering them when it&#8217;s too late. And it gives you a much clearer path from idea to final outcome. No more &#8220;I&#8217;ll figure it out as I go&#8221; coding sessions that lead absolutely nowhere.</p><p>In this video, I&#8217;ll break down how to plan effectively without overdoing it, how to sketch out ideas quickly (honestly, pen and paper works brilliantly for this), and how to build throwaway prototypes that answer your biggest questions before committing to a full implementation.</p><p>Because at the end of the day, the fastest way to ship something good isn&#8217;t to code first and think later. It&#8217;s to think just enough, then code with clarity and purpose. Your future self will thank you for it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qzas!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qzas!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qzas!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qzas!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qzas!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qzas!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3698081,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/180081193?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qzas!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qzas!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qzas!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qzas!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c8da35b-e81d-4082-8c2a-48333a977c64_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Why planning and prototyping first leads to exceptional products.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve developed numerous projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Feel free to browse them for inspiration or to contribute! And I&#8217;ve got more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>.</p><div><hr></div><p><em>Keep learning, researching, practicing, teaching, and growing!</em> &#128640;</p>]]></content:encoded></item><item><title><![CDATA[SOLID Principles Every Software Engineer Should Actually Understand]]></title><description><![CDATA[Why these five design rules will save you from maintenance hell and make your codebase something you&#8217;re actually proud of]]></description><link>https://www.pierrehenry.dev/p/solid-principles-every-software-engineer</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/solid-principles-every-software-engineer</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 14 Jan 2026 12:32:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!upcf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>SOLID principles, really worth it&#8230;.? We&#8217;ve all been there as engineers. You&#8217;re staring at a codebase that&#8217;s become a tangled mess. Every time you try to add a feature, something breaks in a completely different part of the system. Fixing one bug creates three more. And you&#8217;re left wondering: &#8220;<em>How did this happen?</em>&#8221;</p><p>The answer is usually the same: the code wasn&#8217;t designed with change in mind.</p><p>That&#8217;s where SOLID principles come in. They&#8217;re not fancy design patterns or cutting-edge frameworks. They&#8217;re five fundamental principles that, if you follow them, make your systems stable, maintainable, and actually pleasant to work with.</p><p>Let&#8217;s break them down, one by one.</p><h3>S: Single Responsibility Principle</h3><p><strong>Every class should have one reason to change.</strong></p><p>Here&#8217;s the idea: each object should do one thing and do it well. All its methods should be tightly focused on that single responsibility.</p><p>Think about it this way. Imagine you have a `User` class that handles:</p><p>- User authentication</p><p>- Sending email notifications</p><p>- Generating PDF reports</p><p>- Database operations</p><p>What happens when you need to change how emails are sent? You have to touch the `<code>User</code>` class. What about when the PDF library updates? Yep, `<code>User</code>` class again. What if you want to swap databases? Same thing.</p><p>This is a nightmare. Every change, no matter how small, risks breaking something else.</p><p></p><p><strong>A better approach:</strong></p><p><code>class User {</code></p><p><code>  constructor(id, name, email) {</code></p><p><code>    this.id = id;</code></p><p><code>    this.name = name;</code></p><p><code>    this.email = email;</code></p><p><code>  }</code></p><p><code>  isValid() {</code></p><p><code>    return this.email &amp;&amp; this.email.includes(&#8217;@&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class UserAuthenticator {</code></p><p><code>  authenticate(user, password) {</code></p><p><code>    // Handle login logic</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class EmailService {</code></p><p><code>  sendWelcomeEmail(user) {</code></p><p><code>    // Send email</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class UserRepository {</code></p><p><code>  save(user) {</code></p><p><code>    // Database operations</code></p><p><code>  }</code></p><p><code>}</code></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!upcf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!upcf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!upcf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!upcf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!upcf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!upcf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3815595,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/180370072?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!upcf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!upcf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!upcf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!upcf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe864e4e2-9438-4716-9e29-0f2e12c6b857_4032x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Pragmatic Programmers</figcaption></figure></div><p>Now each class has exactly one reason to change. Email logic changes? Touch `<code>EmailService</code>`. Authentication changes? Touch `<code>UserAuthenticator</code>`. The `<code>User</code>` class itself stays stable.</p><p><strong>But here&#8217;s the thing:</strong> don&#8217;t over-engineer this. If your application isn&#8217;t changing in ways that cause different responsibilities to evolve independently, you don&#8217;t need to separate them yet. Start simple. Refactor when the pain becomes real.</p><p>This is important. I&#8217;ve seen developers create twenty tiny classes for what could be three, all in the name of SRP. That&#8217;s not helpful. The principle is about managing change, not about making everything as small as possible.</p><p></p><h3>O: Open-Closed Principle</h3><p><strong>Open for extension, closed for modification.</strong></p><p>This one sounds abstract, but the metaphor is perfect: open-chest surgery is not needed when putting on a coat.</p><p>In other words, you should be able to add new functionality without changing existing code. Why? Because every time you modify working code, you risk breaking it. And let&#8217;s face it, nobody wants to be the person who broke production on a Friday afternoon because they added &#8220;just one more feature.&#8221;</p><p><strong>Let&#8217;s say you&#8217;re building a payment system:</strong></p><p><code>// Bad approach</code></p><p><code>class PaymentProcessor {</code></p><p><code>  processPayment(amount, type) {</code></p><p><code>    if (type === &#8216;credit_card&#8217;) {</code></p><p><code>      // Credit card logic</code></p><p><code>    } else if (type === &#8216;paypal&#8217;) {</code></p><p><code>      // PayPal logic</code></p><p><code>    } else if (type === &#8216;crypto&#8217;) {</code></p><p><code>      // Crypto logic</code></p><p><code>    }</code></p><p><code>  }</code></p><p><code>}</code></p><p>Every time you add a new payment method, you have to modify `<code>PaymentProcessor</code>`. That&#8217;s risky. And it violates the open-closed principle.</p><p>What&#8217;s worse? You&#8217;re probably running this code in production. Every modification means retesting everything. That credit card logic that&#8217;s been working for two years? Now you have to verify it still works after you added crypto support. Exhausting.</p><p></p><p><strong>Better approach:</strong></p><p><code>class PaymentProcessor {</code></p><p><code>  constructor(paymentMethod) {</code></p><p><code>    this.paymentMethod = paymentMethod;</code></p><p><code>  }</code></p><p><code>  processPayment(amount) {</code></p><p><code>    return this.paymentMethod.pay(amount);</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class CreditCardPayment {</code></p><p><code>  pay(amount) {</code></p><p><code>    // Credit card logic</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class PayPalPayment {</code></p><p><code>  pay(amount) {</code></p><p><code>    // PayPal logic</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class CryptoPayment {</code></p><p><code>  pay(amount) {</code></p><p><code>    // Crypto logic</code></p><p><code>  }</code></p><p><code>}</code></p><p>Now you can add new payment methods without touching `<code>PaymentProcessor</code>`. Just create a new class that implements the `pay` method. The system is open for extension, but closed for modification.</p><p>The existing payment methods keep working. No retesting needed. No risk of breaking production. You just plug in the new payment type and go. That&#8217;s the power of this principle.</p><h3>L: Liskov Substitution Principle</h3><p><strong>Subtypes must be substitutable for their base types.</strong></p><p>This is my favorite analogy: if it looks like a duck and quacks like a duck but needs batteries, you probably have the wrong abstraction.</p><p>In practice, this means if you have a base class and a derived class, you should be able to use the derived class anywhere the base class is expected without breaking things. Sounds reasonable, right? But it&#8217;s surprisingly easy to violate.</p><p><strong>Here&#8217;s a classic violation:</strong></p><p><code>class Bird {</code></p><p><code>  fly() {</code></p><p><code>    console.log(&#8217;Flying!&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class Penguin extends Bird {</code></p><p><code>  fly() {</code></p><p><code>    throw new Error(&#8217;Penguins cannot fly!&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p>This breaks LSP. If some code expects a `<code>Bird</code>` and calls `<code>fly()</code>`, it&#8217;ll crash if you pass in a `<code>Penguin</code>`. The subtype isn&#8217;t substitutable for the base type.</p><p>I&#8217;ve seen this pattern so many times in real codebases. Someone creates a nice abstraction, then realizes &#8220;wait, this special case doesn&#8217;t quite fit,&#8221; so they add a method that throws an error. Now every caller has to know about this special case and handle it differently. The abstraction becomes useless.</p><p><strong>Better approach:</strong></p><p><code>class Bird {</code></p><p><code>  move() {</code></p><p><code>    console.log(&#8217;Moving!&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class FlyingBird extends Bird {</code></p><p><code>  fly() {</code></p><p><code>    console.log(&#8217;Flying!&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class Penguin extends Bird {</code></p><p><code>  swim() {</code></p><p><code>    console.log(&#8217;Swimming!&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p></p><p>Now &#8220;<code>Penguin</code>&#8221; doesn&#8217;t promise something it can&#8217;t deliver. The abstraction actually matches reality.</p><p>The key lesson? Don&#8217;t force inheritance where it doesn&#8217;t fit. Think carefully about what behaviors your base class promises, and make sure all subclasses can actually fulfill those promises. If they can&#8217;t, your abstraction is wrong. It&#8217;s that simple.</p><h3>I: Interface Segregation Principle</h3><p><strong>Clients shouldn&#8217;t be forced to depend on methods they don&#8217;t use.</strong></p><p>Remember: an interface with only one method is totally fine. In fact, it&#8217;s often ideal.</p><p>The opposite of this is called a &#8220;fat interface.&#8221; It&#8217;s when you have one massive interface that tries to do everything, and clients are forced to implement methods they don&#8217;t actually need. This creates friction everywhere.</p><p></p><p><strong>Here&#8217;s an example:</strong></p><p><code>// Bad: Fat interface</code></p><p><code>class Worker {</code></p><p><code>  work() { }</code></p><p><code>  eat() { }</code></p><p><code>  sleep() { }</code></p><p><code>  attendMeeting() { }</code></p><p><code>}</code></p><p><code>class Robot extends Worker {</code></p><p><code>  work() {</code></p><p><code>    console.log('Working...');</code></p><p><code>  }</code></p><p><code>  eat() {</code></p><p><code>    throw new Error('Robots do not eat');</code></p><p><code>  }</code></p><p><code>  sleep() {</code></p><p><code>    throw new Error('Robots do not sleep');</code></p><p><code>  }</code></p><p><code>  attendMeeting() {</code></p><p><code>    throw new Error(&#8217;Robots do not attend meetings&#8217;);</code></p><p><code>  }</code></p><p><code>}</code></p><p>This is absurd, right? The `<code>Robot</code>` is forced to implement methods that make no sense for it. And look at all those error throws. That&#8217;s a code smell. Any time you&#8217;re implementing a method just to throw an error, you&#8217;ve violated this principle.</p><p></p><p><strong>Better approach:</strong></p><p><code>class Workable {</code></p><p><code>  work() { }</code></p><p><code>}</code></p><p><code>class Eatable {</code></p><p><code>  eat() { }</code></p><p><code>}</code></p><p><code>class Sleepable {</code></p><p><code>  sleep() { }</code></p><p><code>}</code></p><p><code>class Human extends Workable, Eatable, Sleepable {</code></p><p><code>  // Implements all three</code></p><p><code>}</code></p><p><code>class Robot extends Workable {</code></p><p><code>  // Only implements work</code></p><p><code>}</code></p><p>Now each class only depends on the interfaces it actually needs. Tailor your interfaces to individual clients&#8217; needs. Keep them small, focused, and specific.</p><p>Well&#8230; I&#8217;ll be honest. When I first learned this principle, I thought &#8220;isn&#8217;t this just common sense?&#8221; But then I started reviewing code and realized how often it&#8217;s violated. We love creating one big interface because it feels organized. &#8220;Everything a Worker needs is in one place!&#8221; But that convenience comes at a cost. Don&#8217;t fall into that trap.</p><h3>D: Dependency Inversion Principle</h3><p><strong>It depend on abstractions, not concretions.</strong></p><p>The metaphor here is perfect: would you solder a lamp directly to the electrical wiring in a wall? Of course not. You&#8217;d use a plug and socket. That way you can swap out the lamp without rewiring your house.</p><p>The same principle applies to code. High-level modules shouldn&#8217;t depend on low-level implementation details. Both should depend on abstractions. This is probably the most impactful of all five principles when you actually apply it.</p><p><strong>Here&#8217;s what this looks like in practice:</strong></p><p><code>// Bad: Direct dependency on implementation</code></p><p><code>class UserService {</code></p><p><code>  constructor() {</code></p><p><code>    this.database = new MySQLDatabase();</code></p><p><code>  }</code></p><p><code>  getUser(id) {</code></p><p><code>    return this.database.query(`SELECT * FROM users WHERE id = ${id}`);</code></p><p><code>  }</code></p><p><code>}</code></p><p>This is tightly coupled to MySQL. What if you want to switch to PostgreSQL? Or add a caching layer? You have to modify `<code>UserService</code>`. And probably every test that uses it. And probably a dozen other places in your codebase.</p><p>I&#8217;ve been on teams where switching databases took months because of this kind of coupling. It&#8217;s painful.</p><p><strong>Better approach:</strong></p><p><code>// Good: Depend on abstraction</code></p><p><code>class UserService {</code></p><p><code>  constructor(database) {</code></p><p><code>    this.database = database;</code></p><p><code>  }</code></p><p><code>  getUser(id) {</code></p><p><code>    return this.database.findById(&#8217;users&#8217;, id);</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class MySQLDatabase {</code></p><p><code>  findById(table, id) {</code></p><p><code>    // MySQL-specific implementation</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>class PostgreSQLDatabase {</code></p><p><code>  findById(table, id) {</code></p><p><code>    // PostgreSQL-specific implementation</code></p><p><code>  }</code></p><p><code>}</code></p><p><code>// Usage</code></p><p><code>const db = new MySQLDatabase();</code></p><p><code>const userService = new UserService(db);</code></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f1iN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f1iN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!f1iN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!f1iN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!f1iN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f1iN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2028598,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/180370072?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f1iN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!f1iN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!f1iN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!f1iN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878db8ec-0ab6-48f8-a9b2-7747267402c4_4032x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">SOLID principles</figcaption></figure></div><p>Now `<code>UserService</code>` doesn&#8217;t care what database you&#8217;re using. It just depends on something stable: the abstraction that any database provides a `<code>findById</code>` method.</p><p>This is dependency injection in action. And it makes your code incredibly flexible and testable. Want to test `<code>UserService</code>`? Just pass in a fake database object. No need to spin up a real database for every test. Beautiful &#127919;</p><h3>Putting It All Together</h3><p>SOLID principles aren&#8217;t about making your code more complex. They&#8217;re about making it more stable and easier to change.</p><p>Here&#8217;s the thing: you don&#8217;t need to apply all five principles everywhere, all the time. That&#8217;s over-engineering. But when you feel pain in your codebase&#8212;when changes become risky, when bugs keep popping up, when adding features feels like playing Jenga&#8212;that&#8217;s when SOLID principles show their value.</p><p>I&#8217;ve worked on codebases that followed these principles religiously, and codebases that ignored them completely. The difference is night and day. The SOLID codebases? Features take hours, not weeks. Bugs are isolated and easy to fix. New team members can contribute confidently. The non-SOLID codebases? Every change is scary. Nobody wants to touch certain files. Technical debt compounds until eventually someone suggests a full rewrite.</p><p>Don&#8217;t be that team.</p><h4><strong>Key takeaways</strong></h4><p><strong>Single Responsibility:</strong> One class, one reason to change. But don&#8217;t over-engineer it. Start simple, refactor when the pain appears.</p><p><strong>Open-Closed:</strong> Add features without modifying existing code. Your production code will thank you.</p><p><strong>Liskov Substitution:</strong> Subtypes should be drop-in replacements. If you&#8217;re throwing errors in overridden methods, your abstraction is wrong.</p><p><strong>Interface Segregation:</strong> Keep interfaces small and focused. One method per interface is totally fine.</p><p><strong>Dependency Inversion:</strong> Depend on stable abstractions, not concrete implementations. This makes testing easy and changes safe.</p><p>Start applying these when the pain appears. <strong>Your future self</strong> (and your teammates) <strong>will thank you</strong> &#9786;&#65039; </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/solid-principles-every-software-engineer?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/solid-principles-every-software-engineer?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sMU0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sMU0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sMU0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sMU0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sMU0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sMU0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4204057,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/180370072?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sMU0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sMU0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sMU0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sMU0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1b0e777-73e5-4f91-8d6e-6b50680b7086_5712x4284.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Writing clean code</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve developed numerous projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Feel free to browse them for inspiration or to contribute! <strong>And I&#8217;ve got more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a></strong>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/solid-principles-every-software-engineer?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/solid-principles-every-software-engineer?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Skills That Will Decide Who Stays Relevant as AI Takes Over Engineering]]></title><description><![CDATA[Watch now | What are the three skills all software engineers must learn and master before AI changes everything]]></description><link>https://www.pierrehenry.dev/p/the-skills-that-will-decide-who-stays</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/the-skills-that-will-decide-who-stays</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 14 Jan 2026 11:03:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179124406/edbdd1c2c2d80acc8c32e774cca7cca1.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>In this video, you&#8217;ll see the real skills that matter now that AI is changing engineering work. These are the abilities that keep you valuable, relevant, and ahead of the curve. If you want to stay competitive, this is the checklist that actually counts.</p><p>As we know, AI is changing our industry faster than most people realise. </p><p>If your main skill is writing boilerplate code or implementing basic features, you&#8217;re in trouble. AI can do that stuff now, and it&#8217;s getting better every week.</p><p>Here&#8217;s what actually matters: <strong>the skills AI can&#8217;t replicate</strong>. Understanding what problem needs solving in the first place. Making architectural decisions with real trade-offs. Knowing when to ship simple versus when complexity is justified. These require human judgement, not pattern matching.</p><p>System thinking is absolutely crucial now. AI can write individual functions brilliantly. But can it design how an entire application should fit together? Can it understand the second and third-order effects of architectural choices? Can it balance competing priorities like performance, maintainability, and time to ship? Not really. That&#8217;s where you add value.</p><p>Product sense separates engineers who stay valuable from those who get replaced. AI doesn&#8217;t know what users actually need. It can&#8217;t tell you whether a feature solves a real problem or creates more confusion. It can&#8217;t prioritise what to build based on impact. You can. Develop that skill ruthlessly.</p><p>Communication becomes more important, not less. When AI can generate code, your ability to explain complex technical decisions to non-technical people matters more than ever. Your skill at writing clear documentation. Your talent for asking the right questions before building. These human skills compound your AI-amplified technical abilities.</p><p><strong>Problem identification might now be the most valuable skill</strong>. AI is brilliant at solving well-defined problems. But spotting that a problem exists in the first place? Understanding the root cause versus symptoms? Knowing which problems are worth solving? That&#8217;s still very much a human game.</p><p>Knowing how to use AI effectively is also a skill. Not everyone uses it the same way. </p><p>Some engineers treat it like advanced autocomplete. </p><p>Others use it as a thinking partner that helps them explore approaches, spot edge cases, and prototype rapidly. </p><p>The gap between these two approaches is significantly massive.</p><p><strong>Critical thinking about AI outputs is essential</strong>. AI confidently generates code that looks right but has subtle bugs. Can you spot when it&#8217;s wrong? Can you evaluate whether its suggested approach is actually the best one for your context? Or do you just accept whatever it generates and ship it without understanding?</p><p>In this video, I&#8217;ll break down each skill that matters in the AI era. System thinking and architecture (how to design robust systems that scale). Product sense (how to identify what&#8217;s worth building). Communication (how to influence decisions and explain technical choices). Problem identification (how to spot valuable problems before anyone asks). And AI fluency (how to use AI as a force multiplier without becoming dependent on it).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8u3U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8u3U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8u3U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8u3U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8u3U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8u3U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4213160,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/179124406?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8u3U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8u3U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8u3U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8u3U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df5f220-3290-4671-af69-1b460a28ad25_5712x4284.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The crucial skills to have.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>I&#8217;ve built many projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Take a look for inspiration or jump in to contribute! &#128293;</p><p>There are so much more to come <a href="https://www.linkedin.com/in/ph7enry/">on my LinkedIn</a> as well! Don&#8217;t forget to follow and stay tuned! </p>]]></content:encoded></item><item><title><![CDATA[How to Build Experiences Users Actually Needs]]></title><description><![CDATA[Lessons from engineering products that users genuinely enjoy using]]></description><link>https://www.pierrehenry.dev/p/how-to-build-experiences-users-actually</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/how-to-build-experiences-users-actually</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Tue, 13 Jan 2026 14:07:52 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/181384638/dfa91a95f507d2e97c4f9c4e536c3849.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>This video explains <strong>how software engineers can create an amazing user experience while building products</strong>. You will learn how to think from the user&#8217;s point of view, reduce friction, simplify flows, and design features that feel pleasant and intuitive. These principles help you ship products that users enjoy from the very first interaction.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZVQU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZVQU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZVQU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZVQU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZVQU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZVQU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4341127,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/181384638?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZVQU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZVQU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZVQU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZVQU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528058fa-50b5-449e-a2b4-844893e50921_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Practical insights for engineers who care about the user experience.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve been building several projects <a href="https://github.com/pH-7">on my GitHub</a> over the years that might interest you. Feel free to check them out for inspiration or contribution! And so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a> as well! Don&#8217;t forget to follow and stay tuned!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[AI in Software Engineering: 2 Critical Risks You Cannot Ignore]]></title><description><![CDATA[Watch now | Why vigilance is the key to providing real value when working with AI]]></description><link>https://www.pierrehenry.dev/p/ai-in-software-engineering-2-critical</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/ai-in-software-engineering-2-critical</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Tue, 13 Jan 2026 12:46:28 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179017462/9fe0ddfa23ea6b7aa5b391f53a5fc8fa.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>A clear look at the key risks software engineers face when working with AI tools.</strong></p><p>Look, AI tools are brilliant. They speed up development, help you write boilerplate faster, and can even suggest solutions you hadn&#8217;t thought of. But there&#8217;s a trap here that too many engineers are falling into, and it&#8217;s worth talking about.</p><p>From over-trusting outputs to losing technical depth, this video explains what you must stay vigilant about to keep providing real value as a software engineer.</p><p>Here&#8217;s the thing: when you rely too heavily on AI-generated code without understanding what it&#8217;s doing, you&#8217;re essentially becoming a copy-paste engineer. You lose the ability to debug properly when things break. You stop questioning whether the solution is actually the right one for your use case. You miss edge cases because you didn&#8217;t write the code yourself and didn&#8217;t think through the problem deeply enough.</p><p>And over time? Your technical depth erodes. You become dependent on tools that might give you plausible-looking code that&#8217;s actually inefficient, insecure, or just plain wrong.</p><p>Don&#8217;t get me wrong, AI tools are fantastic when used correctly. They&#8217;re brilliant for speeding up repetitive tasks, exploring different approaches, or handling the boring stuff. But you need to stay in control. You need to understand the code you&#8217;re shipping. You need to verify outputs, question suggestions, and keep your problem-solving skills active.</p><p>In this video, I&#8217;ll break down the specific risks you should watch out for and how to use AI tools as a force multiplier rather than a crutch. Because at the end of the day, the engineers who thrive aren&#8217;t the ones who blindly trust AI outputs. They&#8217;re the ones who use AI strategically whilst maintaining their technical judgement and depth.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div><hr></div><p>I&#8217;ve been building several projects <a href="https://github.com/pH-7">on my GitHub</a> over the years that might interest you. Feel free to check them out for inspiration or jump in with contributions! </p><p>There are so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a> as well! Don&#8217;t forget to follow and stay tuned! &#128293;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/ai-in-software-engineering-2-critical?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/ai-in-software-engineering-2-critical?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Pygmalion Effect in Software Engineering: How Your Mind Shapes Problems]]></title><description><![CDATA[Watch now | How your mindset shapes the problems you face as a software engineer and how to turn perception into your advantage! &#128293;]]></description><link>https://www.pierrehenry.dev/p/the-pygmalion-effect-in-software</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/the-pygmalion-effect-in-software</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Tue, 13 Jan 2026 11:32:27 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/178737894/721799e75476a4de78930ce8a3aa2aaf.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Most engineering challenges aren&#8217;t just technical. They start in your mind.</strong> This video explores how the Pygmalion effect influences the way software engineers perceive problems and how shifting your mindset can make you more effective, creative, and confident in tackling any coding challenge.</p><p>Look, here&#8217;s what actually happens: if you tell yourself &#8220;I&#8217;m not good at systems design&#8221; or &#8220;I&#8217;ll never understand this codebase,&#8221; guess what? You won&#8217;t. The Pygmalion effect is real. Your expectations shape your performance in ways that are honestly kind of wild when you think about it.</p><p>But flip that script? When you approach problems with curiosity instead of fear, when you believe you can figure it out even if it takes time, something shifts. You start seeing solutions instead of roadblocks. You experiment more. You ask better questions.</p><p>In this video, I break down how your internal dialogue directly impacts your code quality, problem-solving ability, and career growth. And more importantly, I&#8217;ll show you practical ways to rewire those limiting beliefs so you can tackle challenges with the confidence they deserve. Because the difference between a stuck engineer and a thriving one often isn&#8217;t skill. It&#8217;s mindset.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/the-pygmalion-effect-in-software?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/the-pygmalion-effect-in-software?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4PUr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4PUr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4PUr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4PUr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4PUr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4PUr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5063121,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/178737894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4PUr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4PUr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4PUr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4PUr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1196df18-27f7-4826-a702-d5e5df1719a8_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Pygmalion Effect in Software Engineering.</figcaption></figure></div><p>You can get inspired by the open-source projects I&#8217;ve built over the past several years, <a href="https://github.com/pH-7">available on my GitHub</a> &#128293;</p><p>And there are so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>. Don&#8217;t forget to follow so you won&#8217;t miss out!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Mindset: Stop Solving Problems You Don’t Understand]]></title><description><![CDATA[Watch now | The mindset shift every serious engineer needs.]]></description><link>https://www.pierrehenry.dev/p/stop-solving-problems-you-dont-understand</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/stop-solving-problems-you-dont-understand</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Sun, 11 Jan 2026 06:13:00 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/177700072/f075683b49f914dc507956f9b2883ecc.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Most engineers rush to solutions without seeing the real issue</strong>. In this video, I show you how to slow down, think deeper, and fix problems that matter the most!</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div><hr></div><p><strong>You can get inspired by the open-source projects I&#8217;ve built over the past several years, <a href="https://github.com/pH-7">available on my GitHub</a>.</strong></p>]]></content:encoded></item><item><title><![CDATA[Take Smart Breaks, Build Like a Pro: Fuel Your Brain Every Day]]></title><description><![CDATA[Fuel Your Mind with Breaks and Grow Faster as a Software Engineer]]></description><link>https://www.pierrehenry.dev/p/value-breaks-as-fuel-and-become-a</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/value-breaks-as-fuel-and-become-a</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Sat, 10 Jan 2026 16:05:21 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/178862301/0a0a9fe6fa90232b9d9ef2cf5957ede6.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Breaks are not wasted time.</strong> They refuel your focus, sharpen your thinking, and help you solve harder problems with way less effort. This video shows why valuing rest can make you a stronger engineer in the long run.</p><p>Look, we&#8217;ve all been there. You&#8217;re stuck on a bug for hours, grinding away at your desk, convinced that if you just push a little harder, the solution will click. But here&#8217;s the thing: your brain doesn&#8217;t work that way. Real breakthroughs happen when you step away, reset, and let your mind process in the background. In this video, I&#8217;ll show you why taking breaks isn&#8217;t lazy. It&#8217;s actually one of the smartest things you can do for your code quality and career longevity.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zcVS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zcVS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 424w, https://substackcdn.com/image/fetch/$s_!zcVS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 848w, https://substackcdn.com/image/fetch/$s_!zcVS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 1272w, https://substackcdn.com/image/fetch/$s_!zcVS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zcVS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1241799,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/178862301?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zcVS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 424w, https://substackcdn.com/image/fetch/$s_!zcVS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 848w, https://substackcdn.com/image/fetch/$s_!zcVS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 1272w, https://substackcdn.com/image/fetch/$s_!zcVS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10387db3-fbf2-4ad3-b158-e78ed35f9f9a_3024x4032.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Taking a moment to recharge with water and fresh air.</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/value-breaks-as-fuel-and-become-a?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/value-breaks-as-fuel-and-become-a?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Work Smarter, Build Faster. This is Why Templates Make You a 10x Engineer!]]></title><description><![CDATA[Watch now | How reusable templates save time and level up your coding workflow]]></description><link>https://www.pierrehenry.dev/p/work-smarter-code-faster-why-templates</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/work-smarter-code-faster-why-templates</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Fri, 09 Jan 2026 23:42:21 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/175016725/da965182881fc4986b4d8f7b74403326.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/work-smarter-code-faster-why-templates?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/work-smarter-code-faster-why-templates?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Repetition slows developers down. As a software engineer or data scientist, <strong>templates help you cut out the busywork, reduce errors, and boost your coding/prompt speed</strong>. In this video, I&#8217;ll walk you through how to set up and use templates that streamline your daily workflow so you can focus on solving problems that really matter.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p>&#127942; Get inspired by open-source projects I&#8217;ve built over the past years <strong><a href="https://github.com/pH-7">on my GitHub</a></strong>. And I&#8217;ve also plenty more content coming soon <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!Don&#8217;t forget to follow and stay tuned! &#128064;</p>]]></content:encoded></item><item><title><![CDATA[How to Be a Better Software Engineer: Simple Tricks and Tips That Work]]></title><description><![CDATA[Watch now | Practical ways to grow faster and think like a real engineer]]></description><link>https://www.pierrehenry.dev/p/how-to-be-a-better-software-engineer</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/how-to-be-a-better-software-engineer</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Thu, 08 Jan 2026 21:05:24 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/175836197/855df1ffa0b2fd983b3c67c25088e8ee.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Quick, actionable advice to level up your coding, sharpen your mindset, and optimize your workflow as a software engineer.</strong> Learn what actually separates great developers from good ones in today&#8217;s AI-driven world, and how to apply those insights to your own work right now.</p><p>No fluff, no theory you&#8217;ll never use. Just practical strategies you can implement today to write better code, think more clearly, and work more effectively in an industry that&#8217;s evolving faster than ever. Whether you&#8217;re junior or senior, these principles will help you stay ahead.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!suE5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!suE5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!suE5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!suE5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!suE5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!suE5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5207344,&quot;alt&quot;:&quot;Level Up Your Engineering: The Skills That Actually Matter Now&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/175836197?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Level Up Your Engineering: The Skills That Actually Matter Now" title="Level Up Your Engineering: The Skills That Actually Matter Now" srcset="https://substackcdn.com/image/fetch/$s_!suE5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!suE5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!suE5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!suE5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43d0475-a5f5-4eab-8616-bec37d3003e5_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Level up your engineering: the skills that actually matter now.</figcaption></figure></div><p>You can get inspired by the open-source projects I&#8217;ve built over the past several years, <a href="https://github.com/pH-7">available on my GitHub</a>. And there are so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!</p>]]></content:encoded></item><item><title><![CDATA[How to Build the ‘Drive’ to Create Sophisticated AI Systems as an Engineer]]></title><description><![CDATA[Watch now | Why ambition matters when building advanced AI projects]]></description><link>https://www.pierrehenry.dev/p/how-to-build-the-drive-to-create</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/how-to-build-the-drive-to-create</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 07 Jan 2026 11:46:12 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179130605/6452a0417d19d8ef14fe4327dc036550.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>In this video, you will learn how to develop the mindset and habits that help engineers build ambitious AI systems. This is about building the drive, confidence, and clarity needed to create work that stands out in a world shaped by AI.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jhOZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jhOZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jhOZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jhOZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jhOZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jhOZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3792252,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/179130605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jhOZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jhOZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jhOZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jhOZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d3b53-bce0-49e5-a3c0-6b7ad37a06c1_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Develop the mindset and habits that help engineers build ambitious AI systems.</figcaption></figure></div><p></p><div><hr></div><p>I&#8217;ve built many projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Take a look for inspiration or jump in to contribute!</p><p>I&#8217;ve got plenty more exciting content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>! Make sure to hit that follow button so you don&#8217;t miss out! &#128293;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;</p>]]></content:encoded></item><item><title><![CDATA[Productivity: How Building Systems in Your Life Can Make a Real Difference]]></title><description><![CDATA[Watch now (8 mins) | Build simple systems that multiply your productivity and make your days run smoother.]]></description><link>https://www.pierrehenry.dev/p/productivity-how-building-systems</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/productivity-how-building-systems</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Wed, 07 Jan 2026 10:09:25 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179037572/eba571cd7501b21e56db7cba36f47cae.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><strong>Struggling to stay on top of tasks and goals</strong>? Does this sound familiar? In this Substack video, I explore with you <strong>how creating effective systems in your daily life</strong> can literally transform the way you work and live (personally and professionally).</p><p>You will learn every practical step to organise your routines, boost focus, and make lasting improvements without relying on sheer willpower.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AgSk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AgSk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AgSk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AgSk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AgSk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AgSk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:455946,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/179037572?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AgSk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AgSk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AgSk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AgSk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c20dfc8-fa52-4e7d-b247-86981cbbc705_1536x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A productivity system that removes mental load and guides you to the essentials</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve built many projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Take a look for inspiration or jump in to contribute! I&#8217;ve got plenty more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!</p>]]></content:encoded></item><item><title><![CDATA[How to Organize Code Repository Folders on Your Development Machine]]></title><description><![CDATA[Watch now (10 mins) | Stop wasting time hunting for that one repository you cloned last week]]></description><link>https://www.pierrehenry.dev/p/how-to-organize-code-repository-folders</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/how-to-organize-code-repository-folders</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Mon, 05 Jan 2026 20:25:30 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179033628/1c11cd953e4f647410e7a73fe37ef54a.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Let&#8217;s face it, having repositories scattered everywhere on your machine is a mess. Some in <code>Documents</code>, others on your <code>Desktop</code>, a few in <code>Downloads</code> because &#8220;it was just a quick clone&#8221;... You get the idea.</p><p>The problem is that most developers don&#8217;t think about folder organization until they have 50+ repositories in random locations. Then, every time you need to jump into a project, you&#8217;re playing the guessing game of where you put it.</p><p>What if we could have a simple, consistent structure that makes navigating between projects effortless?</p><p>Here&#8217;s the thing: your folder structure should mirror how you actually work. The most common convention is to keep all repositories under <code>~/Code</code> or <code>~/Projects</code>. Personally, my favorite one is <code>~/Code</code> (and I&#8217;d recommend you stick with it too). Then group by organization or client first, then by project. Something like <code>~/Code/company-name/project-name</code> or <code>~/Code/client-name/repo-name</code>.</p><p><strong>Key principles:</strong></p><ul><li><p>One main development folder for everything (<code>~/Code</code> is the way to go &#9989;)</p></li><li><p>Clear, consistent naming conventions</p></li><li><p>Group by organization/client, then by project</p></li><li><p>Avoid nesting too deep - two or three levels max</p></li></ul><p>The beauty of this approach? When you need to quickly jump into a project, you know the pattern, you follow it, and you&#8217;re in. Simple as that.</p><p>No more time wasted hunting for repositories. No more confusion about which version you&#8217;re working on. Just a clean, organized workspace that lets you focus on what actually matters: writing code &#128640;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EPy9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EPy9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EPy9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EPy9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EPy9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EPy9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4434645,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/179033628?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EPy9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EPy9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EPy9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EPy9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa7369e4-6d1c-4748-b545-34c254df79d2_5712x4284.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How to Proactively Organise Code Repository Folders.</figcaption></figure></div><p>I&#8217;ve developed numerous projects <a href="https://github.com/pH-7">on my GitHub</a> over the years. Feel free to browse them for inspiration or to contribute!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/p/how-to-organize-code-repository-folders?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/p/how-to-organize-code-repository-folders?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How Senior Engineers Manage Huge Codebases (Without Losing Their Mind)]]></title><description><![CDATA[Watch now | Practical strategies to stay organized, productive, and confident in big engineering projects]]></description><link>https://www.pierrehenry.dev/p/how-senior-engineers-manage-huge</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/how-senior-engineers-manage-huge</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Mon, 05 Jan 2026 14:56:17 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/175274748/98bb75c3b7f4d50309ef05eb932ccb72.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Managing a large codebase can feel overwhelming, especially in fast-moving teams. Let&#8217;s be honest: keeping thousands of lines of code clean, scalable, and maintainable while staying sane? That&#8217;s the real challenge.</p><p>In this video, I share the proven strategies and real-world habits that senior engineers actually use to tackle massive codebases without burning out. You&#8217;ll learn how to break down complexity, maintain quality under pressure, and develop the mental models that make even huge projects feel manageable.</p><p>Whether you&#8217;re joining a large project or watching your own codebase grow, these practical techniques will help you work smarter. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!06MP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!06MP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 424w, https://substackcdn.com/image/fetch/$s_!06MP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 848w, https://substackcdn.com/image/fetch/$s_!06MP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!06MP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!06MP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1218794,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/175274748?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!06MP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 424w, https://substackcdn.com/image/fetch/$s_!06MP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 848w, https://substackcdn.com/image/fetch/$s_!06MP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!06MP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cf3a002-feb5-447b-991c-d231e6b49152_3672x2066.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Managing Massive Codebases: An Engineer&#8217;s Guide</figcaption></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>You can get inspired by the open-source projects I&#8217;ve built over the past several years, <a href="https://github.com/pH-7">available on my GitHub</a>. And there are so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!</p>]]></content:encoded></item><item><title><![CDATA[ENGINEERING THOUGHTS, working at a STARTUP​​​​​​​​​​​​​​​​]]></title><description><![CDATA[What startup life really teaches you about code, pressure, and people.]]></description><link>https://www.pierrehenry.dev/p/engineering-thoughts-working-at-a</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/engineering-thoughts-working-at-a</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Mon, 05 Jan 2026 12:43:45 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/175384126/6b2de3dddb9f04ea5acceeea29c590d7.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Startups look exciting from the outside, but the reality? It&#8217;s a whole different beast. Behind the fast pace and big ambitions, you quickly learn what true ownership actually means, how to thrive in constant chaos, and how that pressure can accelerate your growth in ways a stable job never could. Here&#8217;s what working as an engineer in a fast-moving startup taught me.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts &#128293;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FBvU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FBvU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FBvU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FBvU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FBvU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FBvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg" width="1456" height="1036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1036,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4987406,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/175384126?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FBvU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FBvU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FBvU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FBvU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8b8044-6013-4024-a272-ea3d35a4a9e3_4003x2848.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Startup Environments</figcaption></figure></div><p></p><div><hr></div><p>You can get inspired by the open-source projects I&#8217;ve built over the past several years, <a href="https://github.com/pH-7">available on my GitHub</a>. And there are so much more to come <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!</p><p></p>]]></content:encoded></item><item><title><![CDATA[Software Engineer 2.0]]></title><description><![CDATA[In the AI era, a software engineer who codes exceptionally well is no longer defined only by clean and maintainable code.]]></description><link>https://www.pierrehenry.dev/p/software-engineer-20</link><guid isPermaLink="false">https://www.pierrehenry.dev/p/software-engineer-20</guid><dc:creator><![CDATA[🎡 Pierre-Henry™ 🌴]]></dc:creator><pubDate>Mon, 05 Jan 2026 08:04:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7113526f-a09b-4dd2-83d2-eb8221c1943f_1536x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the AI era, a software engineer who codes exceptionally well is no longer defined only by clean and maintainable code. Writing neat code still matters, but it is not the main differentiator anymore.</p><p>AI now performs almost as well as a disciplined, pragmatic programmer when it comes to writing code.</p><p>Although knowing how to write maintainable and scalable code remains valuable, it is not where you should spend most of your time. What matters most is your ability to create efficient systems that rely heavily on AI agents and leverage them effectively to solve complex problems faster at scale.</p><p>While you focus on solving the major problems that truly matter, your role is to design and build proper solutions that enhance productivity and address the company&#8217;s most pressing challenges. The goal is to leverage AI to overcome these problems, superpower what you can do, and continuously challenge yourself with new problems that have not yet been solved.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.pierrehenry.dev/subscribe?"><span>Subscribe now</span></a></p><p>I&#8217;ve spent the last decade building projects <a href="https://github.com/pH-7">on my GitHub</a>. Check them out for inspiration and contribution. And I&#8217;ve got more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!adzI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!adzI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!adzI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!adzI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!adzI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!adzI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4335798,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.pierrehenry.dev/i/176476449?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!adzI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!adzI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!adzI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!adzI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F440f4a33-04c7-431d-a107-a060d7566526_5712x4284.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The New Definition of &#8220;Great Engineer&#8221; in the AI Era.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.pierrehenry.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Healthy Scientist: Build Using AI With Healthy Habits &#128293;! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve spent the last decade building projects <a href="https://github.com/pH-7">on my GitHub</a>. Check them out for inspiration and contribution. And I&#8217;ve got more content coming your way <a href="https://www.linkedin.com/in/ph7enry">on my LinkedIn</a>!</p>]]></content:encoded></item></channel></rss>