What started as a full rebuttal to the Reddit comments of my last essay has turned into something simpler and hopefully more engaging.  After all, forums like Reddit provide both the constructive and destructive comments that can change a mindset, like a mob, but a tad less violent.  In this way I’ll bullet out the easily addressable and then end quickly with a visual of the system dynamic I alluded to in my last post.


  • My points on having a system view of a software or IT shop are at least somewhat validated by the pedantic nature of some replies.  Missing the forest for the trees is the whole nature of system dynamics ignorance.
  • I didn’t make this point clear enough.  In a horribly stereotyping way, there are two different types of programmers and management philosophies:
    • 1) Any programmer can do any programming job.
    • 2) Specific task at hand, budget constrained, maintenance, long term technicals skills of company; maximizing early efficacy
    • My instance was #2.
  • Hiring bad programmers death spiral.  Please see this essay for an example.
  • Some Reddit responders were angry at a purported elitest tone of the last essay, yet, Microsoft (in the day, Showstopers!), Facebook, Google, etc. have all focused an almost elitist attitude at hiring great talent.  Joel (on finding great developers for his shop) does the same.  Responders showed an alternate hypocrisy explaining that they are so talented, so versatile, they don’t need to know what a factory is.  Of course, as I readily admit, seeing one’s own faults is much more difficult than pointing out others.
  • Objections to knowing what a “factory” is are completely warrant-less if the job is OO and on Java or C#.  This is the one of the biggest problems with the software industry – people can’t rally around practices.  Imagine if doctors didn’t rally around known cures, but kept trying to one up one another (not pharmacology, but treatment).  The fine folks at ObjectMentor have been at this for a long time now.
  • And, lastly, as the anonymity of the Internet is famous for providing, the rest of the comments consisted of ad hominem and straw man arguments, which of course, there is no civil response for.

System View

Now, the system view of the Rise of the Middle Tier programmer.  It starts with apathy, which is a self feeding vice, hence and increase of apathy leads to a decrease of knowledge, etc. as the diagram displays.  This is a positive (reinforcing) feedback loop.  They’re stuck.

This feedback loop needs to be short circuited somewhere.  In this example, the apathy is replaced with motivation.  There are many things that may trigger this and is entirely up to the individual. I imagine someone waking up realizing they’ve been going into interviews talking about being a middle “tier” programmer and realizing they’re describing a layer of an application and not a tier. Here, the increase in motivation leads to an increase of knowledge, increase of interviewing ability and a decrease of dead end jobs.