&gt; I never interpreted &quot;everyone should learn to code&quot; to mean &quot;everyone should get a job as a software developer&quot;.<p>&quot;Everyone should learn to code&quot;  has the same relationship to &quot;everyone should get a job as a software developer&quot; as &quot;everyone should be literate&quot; has to &quot;everyone should get a job as a writer&quot; or &quot;everyone should learn some math&quot; has to &quot;everyone should get a job as a mathematician&quot;. Though, really, I prefer &quot;everyone should learn to design programs&quot;, or &quot;everyone should learn to analyze and structure systems to perform defined tasks&quot;.<p>To quote from the preface of the excellent <i>How to Design Programs</i>, 2e:<p>--<p>Programming differs from good programming like crayon sketches in a diner from oil paintings in a museum. To emphasize this difference, we refer to the latter as <i>program design</i>. Don’t let the words “painting” and “museum” scare you. We wouldn’t have spent fifteen years writing this book, if we didn’t believe that <i>everyone can design programs</i> and <i>everyone can experience the satisfaction that comes with it</i>. Indeed, we go as far as saying that program design—not programming—deserves the same role in a liberal-arts education as mathematics and English: <i>everyone should learn how to design programs</i>.