Why Microsoft Makes Bad Programmers

After the LIDNUG presentation, we stayed online to discuss unit testing experiences. A couple of things stayed with me from that talk. One: we’re (we developers) are obsessed with tooling and technology (you didn’t expect hard news here, right?). Our main focus should be about solving the business problem first. But, us geeks, we like to know more about the how, rather than the why.

The second is that Microsoft, by providing better and better VS experience,  and a couple of great technologies, created less and less gifted programmers, and more professional debuggers. And I mean the people, not the tools.

Microsoft is not the only culprit (hey, it’s true around the software world). With our obsession for tools and technology (which MS provided), we needed better tools for getting ourselves out of more and more messes. So MS obliged, and gave us better debuggers, and for that we became proficient at excavating software problems.  

If we chose the road less travelled, we would be working on eliminating bugs before they happen. This of course falls under the jurisdiction of better programming.

So the next time someone asks: why isn’t TDD catching on? You can blame Microsoft, or their tools, or the software industry in general. Tell’em I said so.

What can you do? Now, that’s your responsibility and what makes you a professional. 

Think about your code before you write it. Make sure it works. Review it. Think about where the bugs can hide, and leave traps for them, to catch them when they rear their ugly head.

Program better.

Gil Zilberfeld

7 comments on “Why Microsoft Makes Bad Programmers”

  1. Anonymous Reply

    I’m still mad at those beer companies for making us all alcoholics, too.

  2. Gil Zilberfeld Reply

    Anon1: Nice 1.

    Anon2: Apple’s not innocent as well. Although the relationship between Apple and devs is different. They do not look for guidance from the mother ship, rather, beg for better tools.

  3. Arturo Hernandez Reply

    I think reality is more subtle than that. They were one of the first software companies. And they came up with a business formula that is biased towards technology solutions. Sure they sell technology, but common sense trumps technology.

  4. Guillaume L Reply

    While I’m nowhere close to a debugging fan, I couldn’t agree less with the premise and conclusions of the article.

    I’ve been using Visual Studio all the way from v6 15+ years ago and have never seen any really disruptive stuff being released in the debugging department. It’s all been small enhancements that haven’t changed my life the least bit. Debugger GUIs have been around since fairly early in the computer age and the experience of using them has stayed, unlike many other tools, pretty constant as far as I can tell.

    Even assuming that debugger technology have dramatically improved over the years, saying that it made us worse developers sounds like a bit of a jump. It’s not as if debuggers are some kind of electrical assist that can make us totally forget how to pedal the bike. They can’t read code for us, they don’t find bugs for us and certainly can’t fix them. Debugging requires, for a large part, the same analysis and design skills needed when you add a fresh new feature to an existing codebase. How is practising it supposed to make us any worse as programmers ?

    As for IDE vendors being responsible for this, aren’t we the first ones to blame for believing that a bunch of tools can magically make us write good or bad software ? What other IDE feature could Microsoft push instead that would make our programs more robust and maintainable ? All those I can see helping (better unit test integration, new refactorings, etc.) have been promoted orders of magnitude more than new debugger features in the latest versions.

    Less debugging can turn out to be (and has been, in my experience) a byproduct of techniques such as TDD or encoding more stuff in the type system. However, it’s only a happy consequence — reducing debugging should never be an end goal IMO. Debugging has its uses just as any other tool in a programmer’s toolbox and if the situation requires it, developers shouldn’t hesitate to use it.

      • Guillaume L Reply

        Yeah, I realized afterward that the original post was from 2010 though it was linked to in a 2015 tweet, so some things in my comment may (or not) be less relevant 😉
        I’m still curious to read your follow up, could you give more concrete examples / real life stories that can support the radical post title ?

Leave A Reply

Your email address will not be published. Required fields are marked *