<story><title>Optimizing Your Web App 100x Is Like Adding 99 Servers</title><url>https://lukerissacher.com/blog/optimizing_your_web_app</url></story><parent_chain><item><author>otabdeveloper4</author><text>&amp;gt; Yeah, but &amp;quot;making your code 100x faster&amp;quot; might cost significantly more than just adding 100x servers.&lt;p&gt;Cost? No. But it certainly requires more talent.&lt;p&gt;Unfortunately, programming talent doesn&amp;#x27;t scale with cost at all. In that it&amp;#x27;s like a creative endeavor: you can hire 10000 &amp;quot;professional writers&amp;quot; if you want, but that won&amp;#x27;t get you another Shakespeare.&lt;p&gt;Which is why I find the &amp;quot;software engineer&amp;quot; moniker silly. Software isn&amp;#x27;t at all like engineering.</text></item><item><author>nmfisher</author><text>&amp;gt;  So making your code 100x faster saves you more than 100 servers.&lt;p&gt;Yeah, but &amp;quot;making your code 100x faster&amp;quot; might cost significantly more than just adding 100x servers.&lt;p&gt;As with most things, the only absolute rule is &amp;quot;it depends&amp;quot;.</text></item><item><author>hinkley</author><text>The biggest thing we&amp;#x27;re going to regret looking back on the early Cloud era is the foolish notion that you need 100x as many servers to do 100x as much work.&lt;p&gt;Servers don&amp;#x27;t scale linearly. It&amp;#x27;s more likely you&amp;#x27;ll need, at a minimum, 107-110x as many servers. Between 100 + log(100) and 100 + sqrt(100).  So making your code 100x faster saves you more than 100 servers.&lt;p&gt;I think the arguments never end because it&amp;#x27;s all fuzzy math. Get too attached to running the whole thing on one server, and your architecture starts making irreversible decisions about where the source of truth is, and you get locked into a single server.&lt;p&gt;Give up too early, and you spend a lot of energy herding cattle instead of building features. And speed is something you outsource to the guys who write the checks. That&amp;#x27;s fine if you lock in your vertical, but I&amp;#x27;ve worked on projects that lost out to a more responsive or financially efficient competitor. It really, really sucks.</text></item></parent_chain><comment><author>doctor_eval</author><text>The term “software engineer” was invented to describe the work being done by Margaret Hamilton and her team, when developing the guidance software for the Apollo moon landings. It definitely is a form of engineering.&lt;p&gt;From Wikipedia:&lt;p&gt;&amp;gt; When I first came up with the term, no one had heard of it before, at least in our world. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. It was a memorable day when one of the most respected hardware gurus explained to everyone in a meeting that he agreed with me that the process of building software should also be considered an engineering discipline, just like with hardware. Not because of his acceptance of the new &amp;#x27;term&amp;#x27; per se, but because we had earned his and the acceptance of the others in the room as being in an engineering field in its own right.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Margaret_Hamilton_(software_engineer)&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Margaret_Hamilton_(software_en...&lt;/a&gt;</text></comment>
<story><title>Optimizing Your Web App 100x Is Like Adding 99 Servers</title><url>https://lukerissacher.com/blog/optimizing_your_web_app</url></story><parent_chain><item><author>otabdeveloper4</author><text>&amp;gt; Yeah, but &amp;quot;making your code 100x faster&amp;quot; might cost significantly more than just adding 100x servers.&lt;p&gt;Cost? No. But it certainly requires more talent.&lt;p&gt;Unfortunately, programming talent doesn&amp;#x27;t scale with cost at all. In that it&amp;#x27;s like a creative endeavor: you can hire 10000 &amp;quot;professional writers&amp;quot; if you want, but that won&amp;#x27;t get you another Shakespeare.&lt;p&gt;Which is why I find the &amp;quot;software engineer&amp;quot; moniker silly. Software isn&amp;#x27;t at all like engineering.</text></item><item><author>nmfisher</author><text>&amp;gt;  So making your code 100x faster saves you more than 100 servers.&lt;p&gt;Yeah, but &amp;quot;making your code 100x faster&amp;quot; might cost significantly more than just adding 100x servers.&lt;p&gt;As with most things, the only absolute rule is &amp;quot;it depends&amp;quot;.</text></item><item><author>hinkley</author><text>The biggest thing we&amp;#x27;re going to regret looking back on the early Cloud era is the foolish notion that you need 100x as many servers to do 100x as much work.&lt;p&gt;Servers don&amp;#x27;t scale linearly. It&amp;#x27;s more likely you&amp;#x27;ll need, at a minimum, 107-110x as many servers. Between 100 + log(100) and 100 + sqrt(100).  So making your code 100x faster saves you more than 100 servers.&lt;p&gt;I think the arguments never end because it&amp;#x27;s all fuzzy math. Get too attached to running the whole thing on one server, and your architecture starts making irreversible decisions about where the source of truth is, and you get locked into a single server.&lt;p&gt;Give up too early, and you spend a lot of energy herding cattle instead of building features. And speed is something you outsource to the guys who write the checks. That&amp;#x27;s fine if you lock in your vertical, but I&amp;#x27;ve worked on projects that lost out to a more responsive or financially efficient competitor. It really, really sucks.</text></item></parent_chain><comment><author>Hamuko</author><text>&amp;gt;&lt;i&gt;Cost? No. But it certainly requires more talent.&lt;/i&gt;&lt;p&gt;Talented people usually cost a lot to optimize your code to be faster. And the more time they spend optimizing existing code, the less time they spend writing new code.</text></comment>