Developer snobbery again and again

Wow, this is a topic that I first visited more than three years ago, and it still comes up over and over. This time, it comes to light through this post (though I'm not calling out Frans, as he's just a messenger), and ultimately by this post. I just don't understand why people spend so much time trying to neatly categorize everyone and, in the process, imply some level of superiority. People who do that suck, and they're not fun to work with.

Personally, I think that 80% of software development is boring and mundane crap that most anyone can do. But the funny thing about most of the other 20% is that someone else has probably already figured out how to solve those problems, so with a little creativity and investigation, you can derive your own solutions. More to the point, you don't need to be a ninja, you need to be a problem solver who delivers quality work, on time. It's not more complicated than that.

The whole Linux and open source religion is like the DOS and Windows thing revisited. Some people thought they deserved some kind of trophy because they were able to do anything from a command prompt. If you're one of those people, hey, good for you, but I'm busy getting real work done.

Specific to the ASP.NET world, yes, visual tools can create a "crutch" of sorts, but who cares? If those crutches keep people walking and work gets done, whatever. Sure, these tools don't act as a free pass from understanding the underlying frameworks and performance implications, but so much of software development has no such implications to begin with.

The religion surrounding programmer types is a lot like platform religion. Sure, there are different levels of experience and such, but you use what's appropriate for the situation, just as you would use the appropriate platform. I can't understand people who waste time trying to categorize such things.

Command line jockeys are worthless when they can't even wrap their head around the business case for creating software in the first place.
 

10 Comments

  • I think it's amazing that some developer's feel that you have to live and breathe code 24 hours a day to be seen as a real software engineer. Would a carpenter be looked down upon if he didn't go home every night and build an addition to his house? And what is wrong with using tools? sticking with the carpenter analogy, are they not a "real" carpenter because they use a nail gun instead of a hammer? No, they use the nail gun because they can get the job done quicker. It doesn't mean they don't know how to use a hammer.

    I love writing code but when I get home from work it is the last thing I want to think about. I would imagine it would be the same no matter what line of work I was in. 40-50 hours a week of doing anything is more than enough for me.

  • Well, I'm glad that at someone else besides me thinks this way. Quite frankly, I think most developers need to do something else besides code, because their life-domain experience is staggeringly horrible.

    I also have some serious doubts about the skills that Jeff Atwood, et al. claim to have. Logic certainly isn't one of his strong suits.

  • What's funny is that Atwood thinks he's in the 20% group, and he isn't.

  • > What's funny is that Atwood thinks he's in the 20% group, and he isn't.

    Nope, he's not. Gotta say the arrogance oozing out of his blog these days is nauseating.

  • Amen brother. I read that 80/20 post yesterday and couldn't roll my eyes big enough.

    Linux is a great tool, but I don't understand why you have to use that and subscribe to an alt.net style religion and eat, breathe and sleep code/new technology to be considered a "real" software developer.



  • Best blog entry ever!

  • "use what's appropriate for the situation"

    Agreed, 110%. The right tool for the job, sledgehammer to kill a mosquito, etc. This cannot be stressed enough, above any other lesson that we as developers / programmers can teach, imo.

    I can see and understand the two types of programmers very well. I see and have to deal with the fallout from code-monkey approaches more often than I care to admit. And I started out there when I didn't know any better. And for quick and dirty projects or experiments or proof of concepts, I'll still take a code-slinging approach. The difference is that I know better when I want to approach something from an architecture perspective rather than a proof of concept.

    What I don't understand is what spinning code from linux has to do with what your skill level as a programmer is, or your ability to be innovative and forward thinking. The item that summed it up nicely to me was:

    "I just care whether or not you *know what you are doing*. It seems like most people don't."

    All types of programming and all levels of programmers can have their place - irrespective of the tools used to do it. Someone claiming they're more skilled than I am for an arbitrary reason like using notepad to write their code instead of something that has code coloring is pompous and probably doesn't have as much knowledge as they believe they do.

    I think making a distinction between a developer and a programmer can be helpful. I've been doing programming for a long time, and I have to admit I love solving problems. I don't do it just for heads-down implementations ( though some people do, and I'm not knocking that ). I like being involved in the architecture, the coding, the design, the IA, and every aspect of *developing*. So personally I wouldn't be happy in a position where they only want a programmer.

    Though it appears that they're using the terms for elitism rather than for categorization, and I think that is unfortunate.

  • don't knock us command line jocks, and our opensource based development tools. for it is linux, c, fortran, perl, and X-Windows that will be around long after Microsoft makes your Dot.Net applications non-functional with its next release of service packs, updates, or dot net framework upgrades.

    Our command line architecture has been around much longer than anything Microsoft has ever built. Example, sh/ksh/csh shell interpreters: since the 1960s, Fortran: since the 1950s,

  • Well said, Jeff, and I wholeheartedly agree.

    In my case, on the weekends I write in PHP and use MySQL on my Ubuntu virtual machine. During the week I work in VS 2005 building ASP.NET web applications. I did *not* go to school for C#. I use Linux on a daily basis. I have always used source control, from VSS to TFS and Subversion.

    I hate programmer categorizations unless they're humorous pokes at our community-at-large, and are done in jest. A person who legitimately believe there are two types and one is superior to the other is simply searching for self validation because they feel somehow slighted by the amount of money another programming archtype makes, or the stars the rest of the world doesn't pin on them.

    As far as how long some language or OS has been around, that's arbitrary nonsense. 50 years? Big deal. In that same argument, cockroaches are better than humans, because they've been around longer.

  • I don't think its coding thats the problem, it can be the very animalistic 'superiority attitude' of people who are good at what they do and seek to elevate themselves. I'd would think that if someone was that intelligent they could see this straight away and not act snobbishly. Those who need help (much like that of the analogy of someone who needs an crutch to help them) should be assisted.If i see someone who is impaired in life it's not there to make me feel better about myself?! It's an opportunity to learn something myself.

    I'm not a great coder but i enjoy it and many people have been good to me and lent a hand. So one day when maybe i have something to offer, I will, under the pretense that I can program. Knowledge, and the concept of self are totally different right?

    Dunno if that makes sense but I hope that someone may read that mind fart :)

Comments have been disabled for this content.