<story><title>Tobias Lutke still writes code for Shopify</title><url>https://changelog.com/podcast/416#transcript-45</url></story><parent_chain><item><author>arcticbull</author><text>I disagree completely.&lt;p&gt;Once you&amp;#x27;re in a management role, let alone a CEO role, your job not to write software. You defer defer implementation and architecture completely to your team. Your job is to hire and build that team and set high-level company direction.&lt;p&gt;The more power you have over your co-implementors&amp;#x27; careers -- and the more junior they are -- the less comfortable they are standing up to your architectural or technical decisions. This stifling of collaboration can cause you to make poor decisions you wouldn&amp;#x27;t otherwise, and creates an uncomfortable dynamic.&lt;p&gt;This is why I don&amp;#x27;t believe in TLM (&amp;quot;tech lead manager&amp;quot;) roles, also, fwiw.&lt;p&gt;Wanna code? Do it on your own time, Tobi! :)</text></item><item><author>verisimilitude</author><text>I can&amp;#x27;t think of a better way to actually maintain a clear understanding of what&amp;#x27;s going on at a place like Shopify.&lt;p&gt;Good memory: Lutke&amp;#x27;s blog is responsible for a lightbulb moment of mine back in 2007, regarding cache invalidation. The post is long gone, but it was entitled &amp;quot;The Secret to memcached&amp;quot; -- the advice, which is incredibly obvious in retrospect but wasn&amp;#x27;t to me at the time, is to manage cache invalidation by adding a unique ID to the cached asset, and letting the cache fill and expire items on its own. Going into it, I had assumed I should be removing cached items in the code that was utilizing the cache. I was ignorant. I still am, but less so about memcached. Thanks, Tobias!</text></item></parent_chain><comment><author>_the_inflator</author><text>You got the point provided that you are concerned about code quality. This might be an area where a CTO lacks skills over time compared to his developers.&lt;p&gt;Becoming a CTO myself within an 80 developers area, I found it invaluable to code infrequently still. It is quite simple: better decisions, better products.&lt;p&gt;To me, non-coding CTOs or most CEOs that do not understand Computer Science, it seems that they try to learn a foreign language by sending in their assistant to attend classes.&lt;p&gt;I mean this quite literally. My team can communicate to me in other terms and a different language than they would have in a simplified ELI5&amp;#x2F;KPI driven manner. And vice versa, I challenge them to think beyond day to day business.&lt;p&gt;It is not a lack of trust. It is about better understanding and better helping your team focus on the essential parts. And vice versa.</text></comment>
<story><title>Tobias Lutke still writes code for Shopify</title><url>https://changelog.com/podcast/416#transcript-45</url></story><parent_chain><item><author>arcticbull</author><text>I disagree completely.&lt;p&gt;Once you&amp;#x27;re in a management role, let alone a CEO role, your job not to write software. You defer defer implementation and architecture completely to your team. Your job is to hire and build that team and set high-level company direction.&lt;p&gt;The more power you have over your co-implementors&amp;#x27; careers -- and the more junior they are -- the less comfortable they are standing up to your architectural or technical decisions. This stifling of collaboration can cause you to make poor decisions you wouldn&amp;#x27;t otherwise, and creates an uncomfortable dynamic.&lt;p&gt;This is why I don&amp;#x27;t believe in TLM (&amp;quot;tech lead manager&amp;quot;) roles, also, fwiw.&lt;p&gt;Wanna code? Do it on your own time, Tobi! :)</text></item><item><author>verisimilitude</author><text>I can&amp;#x27;t think of a better way to actually maintain a clear understanding of what&amp;#x27;s going on at a place like Shopify.&lt;p&gt;Good memory: Lutke&amp;#x27;s blog is responsible for a lightbulb moment of mine back in 2007, regarding cache invalidation. The post is long gone, but it was entitled &amp;quot;The Secret to memcached&amp;quot; -- the advice, which is incredibly obvious in retrospect but wasn&amp;#x27;t to me at the time, is to manage cache invalidation by adding a unique ID to the cached asset, and letting the cache fill and expire items on its own. Going into it, I had assumed I should be removing cached items in the code that was utilizing the cache. I was ignorant. I still am, but less so about memcached. Thanks, Tobias!</text></item></parent_chain><comment><author>bertr4nd</author><text>I’ve only once worked under a manager who also coded, and I had extremely mixed feelings.  On the one hand, he was a brilliant engineer who I learned a ton from, and who set a really solid technical direction for the team.&lt;p&gt;On the other hand, I was personally unhappy a lot of the time.  On one occasion he pretty much tore apart one of my designs and I felt fairly humiliated (with reason, as a few other senior engineers confirmed in private conversations).&lt;p&gt;Did my design deserve to die horribly?  I don’t know.  The PR had already been accepted, but maybe the accepter was wrong.  In any case it felt really crappy to be criticized so heavily by someone who in theory supports me.</text></comment>