<instructions>Your goal is to analyze the following comment and estimate how highly it will be upvoted by the Hacker News community.</instructions><comment><author>pdimitar</author><text>&amp;gt; &lt;i&gt;It&amp;#x27;s the developer giving an analysis of the cost and benefit of a refactoring (it will take X time, but will save Y work in the future). And the manager factoring that into all the other circumstances, and deciding whether it&amp;#x27;s worth the current cost.&lt;/i&gt;&lt;p&gt;This has been the ideal theory for decades and I really wish people finally stopped to think for two minutes, look around, read some history and finally understand that &lt;i&gt;it&amp;#x27;s not working&lt;/i&gt;.&lt;p&gt;Is it really so hard to accept this reality? I am periodically mind-boggled by the amazingly resilient illusion that you can plan things as tidily. It never happened, not once, in my 20 years of career.&lt;p&gt;Estimating these costs upfront is more or less impossible. It&amp;#x27;s usually a can of worms that opens other brand new and exciting sub-tasks, the same kind that gives managers nightmares.&lt;p&gt;IMO you might have projected a little bit and arguing against some imaginary &amp;quot;us the programmers are better than everyone else&amp;quot;. Meh. Only kiddos think and say things like that. By and large, almost all experienced programmers I&amp;#x27;ve ever met are quite moderate and humble.&lt;p&gt;Problem is, they are &lt;i&gt;too&lt;/i&gt; moderate and humble which leads to predatory businessmen micro-managing them to oblivion. I&amp;#x27;ve personally witnessed high-profile programmers firmly saying &amp;quot;No!&amp;quot;, putting their foot down and making a thing their way with more time budget. Their project and code was used, almost untouched, for 10+ years afterwards -- it was that good.&lt;p&gt;Many of us are expert artisans. You don&amp;#x27;t go to a professional blacksmith giving him wisdom how can he accelerate a certain process.</text><parent_chain><item><author>edanm</author><text>Again, I&amp;#x27;m not defending every single workplace here. Obviously some developers &lt;i&gt;aren&amp;#x27;t&lt;/i&gt; treated well, and in those cases, they should find another job. I was commenting on the fairly blanket statement made.&lt;p&gt;But the way the conversation should go isn&amp;#x27;t the developer deciding when refactoring should happen. It&amp;#x27;s the developer giving an analysis of the cost and benefit of a refactoring (it will take X time, but will save Y work in the future). And the manager factoring that into all the other circumstances, and deciding whether it&amp;#x27;s worth the current cost.</text></item><item><author>LAC-Tech</author><text>I think we&amp;#x27;re definitely better at non-developers at software development. Yet we literally have outside people dictating to us when they think it&amp;#x27;s appropriate for refactoring to happen. Or when it&amp;#x27;s time to update a dependency.&lt;p&gt;This is a lot different from than &amp;quot;no on besides them can have any insight on timelines, or budget, on which features are or aren&amp;#x27;t important.&amp;quot;. I definitely value the input of other professionals when it comes to their field of expertise. All I want is the same in return.</text></item><item><author>edanm</author><text>&amp;gt; We&amp;#x27;re still attending stand-ups every day with non programmers telling us when we can and cannot refactor.&lt;p&gt;I highly disagree with this.&lt;p&gt;For some reason, many devs seem to think they are somehow &lt;i&gt;better&lt;/i&gt; than everyone else, that they are the most important part of any team, that no on besides them can have any insight on timelines, or budget, on which features are or aren&amp;#x27;t important.&lt;p&gt;News flash - all of the above is none-sense. Developers are a profession that provides a specific skill, a highly valued one, but one that is a &lt;i&gt;part&lt;/i&gt; of building things in most cases. There&amp;#x27;s nothing demeaning or wrong about devs having managers, whether or not they happen to also have been developers themselves. Some great software managers were never developers, and some great developers are horrible managers, just like in every other profession.&lt;p&gt;&amp;gt;  It&amp;#x27;s nuts to me that a skilled profession - that not many can do - lets themselves get micro-managed like this.&lt;p&gt;&lt;i&gt;Every&lt;/i&gt; skilled profession has people who are managed. Doctors, lawyers, they all have managers, and most of them interact with the public, who can override their expert opinions.</text></item><item><author>LAC-Tech</author><text>I feel like we have so much leverage and don&amp;#x27;t use it at all.&lt;p&gt;We&amp;#x27;re still attending stand-ups every day with non programmers telling us when we can and cannot refactor. It&amp;#x27;s nuts to me that a skilled profession - that not many can do - lets themselves get micro-managed like this.&lt;p&gt;If anyone has read &lt;i&gt;Developer Hegemony&lt;/i&gt;, I&amp;#x27;m fully on board with that general premise - we start operating like lawyers with partnerships, and turn bosses into customers. Though that does require us to think of ourselves as professionals not nerds who are too smart for business.</text></item></parent_chain></comment><story><title>Times are great for programmers now. How does it end?</title><url>https://vaghetti.dev/posts/times-are-great/</url></story>
<instructions>Your goal is to analyze the following comment and estimate how highly it will be upvoted by the Hacker News community.</instructions><comment><author>mibollma</author><text>&amp;gt; It&amp;#x27;s the developer giving an analysis of the cost and benefit of a refactoring (it will take X time, but will save Y work in the future). And the manager factoring that into all the other circumstances, and deciding whether it&amp;#x27;s worth the current cost.&lt;p&gt;I don&amp;#x27;t think either devlopers or managers can estimate future savings in most cases, but I still think it&amp;#x27;s necessary to refactor just to not drown in complexity and slow down overall development speed.
My approach is to reserve about 20% for refactoring and technical improvements and let the team decide internally what to use it on.</text><parent_chain><item><author>edanm</author><text>Again, I&amp;#x27;m not defending every single workplace here. Obviously some developers &lt;i&gt;aren&amp;#x27;t&lt;/i&gt; treated well, and in those cases, they should find another job. I was commenting on the fairly blanket statement made.&lt;p&gt;But the way the conversation should go isn&amp;#x27;t the developer deciding when refactoring should happen. It&amp;#x27;s the developer giving an analysis of the cost and benefit of a refactoring (it will take X time, but will save Y work in the future). And the manager factoring that into all the other circumstances, and deciding whether it&amp;#x27;s worth the current cost.</text></item><item><author>LAC-Tech</author><text>I think we&amp;#x27;re definitely better at non-developers at software development. Yet we literally have outside people dictating to us when they think it&amp;#x27;s appropriate for refactoring to happen. Or when it&amp;#x27;s time to update a dependency.&lt;p&gt;This is a lot different from than &amp;quot;no on besides them can have any insight on timelines, or budget, on which features are or aren&amp;#x27;t important.&amp;quot;. I definitely value the input of other professionals when it comes to their field of expertise. All I want is the same in return.</text></item><item><author>edanm</author><text>&amp;gt; We&amp;#x27;re still attending stand-ups every day with non programmers telling us when we can and cannot refactor.&lt;p&gt;I highly disagree with this.&lt;p&gt;For some reason, many devs seem to think they are somehow &lt;i&gt;better&lt;/i&gt; than everyone else, that they are the most important part of any team, that no on besides them can have any insight on timelines, or budget, on which features are or aren&amp;#x27;t important.&lt;p&gt;News flash - all of the above is none-sense. Developers are a profession that provides a specific skill, a highly valued one, but one that is a &lt;i&gt;part&lt;/i&gt; of building things in most cases. There&amp;#x27;s nothing demeaning or wrong about devs having managers, whether or not they happen to also have been developers themselves. Some great software managers were never developers, and some great developers are horrible managers, just like in every other profession.&lt;p&gt;&amp;gt;  It&amp;#x27;s nuts to me that a skilled profession - that not many can do - lets themselves get micro-managed like this.&lt;p&gt;&lt;i&gt;Every&lt;/i&gt; skilled profession has people who are managed. Doctors, lawyers, they all have managers, and most of them interact with the public, who can override their expert opinions.</text></item><item><author>LAC-Tech</author><text>I feel like we have so much leverage and don&amp;#x27;t use it at all.&lt;p&gt;We&amp;#x27;re still attending stand-ups every day with non programmers telling us when we can and cannot refactor. It&amp;#x27;s nuts to me that a skilled profession - that not many can do - lets themselves get micro-managed like this.&lt;p&gt;If anyone has read &lt;i&gt;Developer Hegemony&lt;/i&gt;, I&amp;#x27;m fully on board with that general premise - we start operating like lawyers with partnerships, and turn bosses into customers. Though that does require us to think of ourselves as professionals not nerds who are too smart for business.</text></item></parent_chain></comment><story><title>Times are great for programmers now. How does it end?</title><url>https://vaghetti.dev/posts/times-are-great/</url></story>