SICP: the end of an era (2021) [video]
A few unfortunate things about software development practice lately being mostly plugging together components:<p>* People make huge things out of often poorly-chosen components and frameworks.<p>* People &#x27;engineering&#x27; the system don&#x27;t actually understand how it works.<p>* Much&#x2F;most of your time is spent figuring out a pile of library&#x2F;framework <i>bureaucracy</i> that someone else created.  Not even useful concepts that you are smarter for learning, just figuring out some muddled version of an old model, the particular forms of made-up incantations around, and discovering and working around the shortcomings of their design and implementation.  Often you find the thing you&#x27;re using is actually poor design and implementation, and you might feel <i>stupider</i> for having learned its bureaucracy.<p>* This plugging together of components can be done well, and sometimes is, but it&#x27;s also a little too convenient for developers who think software engineering is like turning in homework assignments in school.  In which the goal is to get your homework (sprint task) past the grader (PR approved), and that&#x27;s the end of it (what&#x27;s analysis, planning, and architecture?).  So you do Web searches of Stack Overflow (and maybe some Copilot open source laundering), to slap together some components, and no one even seems to expect you to know how it works.  Where&#x27;s the pressure to do software engineering?<p>* Perhaps <i>some</i> of the churn of these components is due not to technical&#x2F;business merit, but to the fact that putting the latest possibly-rising component on your resume can improve your marketability in an employment environment oriented around frequent job-hopping.  It&#x27;s a symbiotic relationship between people who spit out &quot;new&quot; components to plug together, and people who twist projects to put the new thing on their resume.<p>That&#x27;s not exhaustive; just a few off-the-cuff that are annoying this weekend. :)