<story><title>Math is an insurance policy</title><url>https://bartoszmilewski.com/2020/02/24/math-is-your-insurance-policy/</url></story><parent_chain><item><author>dcolkitt</author><text>To paraphrase what&amp;#x27;s said about fusion energy: Haskell is the language of the future and always will be.&lt;p&gt;I love Haskell, but there&amp;#x27;s really not a single shred of evidence that programming&amp;#x27;s moving towards high-level abstractions like category theory. The reality is that 99% of working developers are not implementing complex algorithms or  pushing the frontier of computational possibility. The vast majority are delivering wet. messy business logic under tight constraints, ambiguously defined criteria, and rapidly changing organizational requirements.&lt;p&gt;By far more important than writing the purest or most elegant code, are &amp;quot;soft skills&amp;quot; or the ability to efficiently and effectively work within the broader organization. Can you effectively communicate to non-technical people, do you write good documentation, can you work with a team, can you accurately estimate and deliver on schedules, do you prioritize effectively, are you rigorously focused on delivering business value, do you understand the broader corporate strategy.&lt;p&gt;At the end of the day, senior management doesn&amp;#x27;t care whether the codebase is written in the purest, most abstracted Haskell or EnterpriseAbstractFactoryJava. They care about meeting the organizational objectives on time, on budget and with minimal risk. The way to achieve that is to hire pragmatic, goal-oriented people. (Or at the very least put them in charge.) And that group rarely intersects with the type of people fascinated by the mathematical properties of the type system.</text></item></parent_chain><comment><author>mumblemumble</author><text>&amp;gt; The vast majority are delivering wet. messy business logic under tight constraints, ambiguously defined criteria, and rapidly changing organizational requirements.&lt;p&gt;And herein lies the fundamental reason why most large aggregations of business software that I&amp;#x27;ve seen in the wild are only strongly typed at about the same scale as the one on which the universe actually agrees with Deepak Chopra. Beyond that, it&amp;#x27;s all text.&lt;p&gt;It doesn&amp;#x27;t have to be full-blown Unix style the-howling-madness-of-Zalgo-is-held-back-by-sed-but-only-barely; it can be CSV or JSON or XML or whatever. And a lot of it&amp;#x27;s really just random magic strings. But it&amp;#x27;s still all stringly typed at human scales.</text></comment>
<story><title>Math is an insurance policy</title><url>https://bartoszmilewski.com/2020/02/24/math-is-your-insurance-policy/</url></story><parent_chain><item><author>dcolkitt</author><text>To paraphrase what&amp;#x27;s said about fusion energy: Haskell is the language of the future and always will be.&lt;p&gt;I love Haskell, but there&amp;#x27;s really not a single shred of evidence that programming&amp;#x27;s moving towards high-level abstractions like category theory. The reality is that 99% of working developers are not implementing complex algorithms or  pushing the frontier of computational possibility. The vast majority are delivering wet. messy business logic under tight constraints, ambiguously defined criteria, and rapidly changing organizational requirements.&lt;p&gt;By far more important than writing the purest or most elegant code, are &amp;quot;soft skills&amp;quot; or the ability to efficiently and effectively work within the broader organization. Can you effectively communicate to non-technical people, do you write good documentation, can you work with a team, can you accurately estimate and deliver on schedules, do you prioritize effectively, are you rigorously focused on delivering business value, do you understand the broader corporate strategy.&lt;p&gt;At the end of the day, senior management doesn&amp;#x27;t care whether the codebase is written in the purest, most abstracted Haskell or EnterpriseAbstractFactoryJava. They care about meeting the organizational objectives on time, on budget and with minimal risk. The way to achieve that is to hire pragmatic, goal-oriented people. (Or at the very least put them in charge.) And that group rarely intersects with the type of people fascinated by the mathematical properties of the type system.</text></item></parent_chain><comment><author>whateveracct</author><text>&amp;gt; The way to achieve that is to hire pragmatic, goal-oriented people. (Or at the very least put them in charge.) And that group rarely intersects with the type of people fascinated by the mathematical properties of the type system.&lt;p&gt;I wouldn&amp;#x27;t say it rarely intersects - I&amp;#x27;m one and I&amp;#x27;ve worked with plenty. And I&amp;#x27;ve seen plenty with strength in one join a production Haskell shop and pick up the other (in both directions!)&lt;p&gt;Haskell definitely gives you a lot to help manage the messiness you mention. You have to have know-how and awareness to do it, but it can help like none other.&lt;p&gt;But overall, stuff like this is why I wish to eventually become as independent as I can manage in my career. The intersection of Haskell and management thinking is frequently a bad faith shitshow in my experience, so the sooner I can start creating on my own terms, the better. The best part about Haskell is how little effort I exert solving problems compared to my comparable experience in Go, Python, Java. A perfect match for personal creation.</text></comment>