Up or Not: Ambition of the Expert Beginner

From DaedTech, By Erik Dietrich In the last post, I talked about the language employed by Expert Beginners to retain their status at the top of a software development group. That post was a dive into the language mechanics of how Expert Beginners justify decisions that essentially stem from ignorance–and often laziness, to boot. They … Continue reading Up or Not: Ambition of the Expert Beginner

How Stagnation is Justified: Language of the Expert Beginner

From DaedTech, By Erik Dietrich So far in the “Expert Beginner” series of posts, I’ve chronicled how Expert Beginners emerge and how they wind up infecting an entire software development group. Today I’d like to turn my attention to the rhetoric of this archetype in a software group already suffering from Expert Beginner-induced rot. In … Continue reading How Stagnation is Justified: Language of the Expert Beginner

How Software Groups Rot: Legacy of the Expert Beginner

From DaedTech, By Erik Dietrich Expert Beginner Recap In my last post I introduced the term “Expert Beginner” to describe someone who has capped out in their learning at some sort of local maximum, convinced that the local is global. Expert Beginners are developers who do not understand enough of the big picture to understand … Continue reading How Software Groups Rot: Legacy of the Expert Beginner

Write code that is easy to delete, not easy to extend.

From programming is terrible   “Every line of code is written without reason, maintained out of weakness, and deleted by chance” Jean-Paul Sartre’s Programming in ANSI C. Every line of code written comes at a price: maintenance. To avoid paying for a lot of code, we build reusable software. The problem with code re-use is … Continue reading Write code that is easy to delete, not easy to extend.

10 Modern Software Over-Engineering Mistakes

From RDX's Medium Blog Post Few things are guaranteed to increase all the time: Distance between stars, Entropy in the visible universe, and Fucking business requirements. Many articles say Dont over-engineer but don’t say why or how. Here are 10 clear examples. Important Note: Some points below like “Don’t abuse generics” are being misunderstood as … Continue reading 10 Modern Software Over-Engineering Mistakes

Oscillations make our systems difficult to maintain

From Gregory Brown's newsletter [website] One of the most difficult thing about designing systems (both in the technical and human sense) is figuring out how to keep oscillations under control. You can see the impact of oscillation in every aspect of your work: In businesses, cash flows encourage greater risk taking and speculation when money … Continue reading Oscillations make our systems difficult to maintain

The nature of deep thinking and deep work

From Gregory Brown's newsletter [website] Once in a while, someone will ask me how to "go deep" in their work or studies. Usually, my answer to this question is mediocre at best: spend lots of time studying, spend lots of time practicing, work hard, be courageous, be disciplined, share your work, pay attention to what you … Continue reading The nature of deep thinking and deep work