The Magpie Developer

All hail the sub-“huge mass of regular developers” who are just slow enough to see the tarnish appearing on the shiny new things.

We raise a glass to the tarnished not-so-new things and toast their brevity while silently praying: “there but for the grace of god, go I”

i see only one problem in “being selective in your pursuit of the shiny and new” – it almost immediately means that you have to now what is the shiny and new – you have to work with it to determine if it fits to you – you are not selective anymore – you have to invest a lot of time to find out if the shiny and new ( probably its only shiny and new for you but not anymore for the crowd ) fits to your needs

a perfect example is ajax. a lot of companies do web development for example using asp.net. now microsoft releases an ajax library on top of this – what are you going to do? – miss the train and stick to pure asp.net or jump on the shiny and new ajax stuff of .net 3.5 …

it is quite hard to find your way between sticking to the known or using the new technologies … even if everything is situated in the same family of technologies like in my example the .net platform

what we do here is to read about lots of different stuff but wait at least half a year until we incorporate something in our products … not even this approach is perfect …

Excellent post … couldnt agree more :slight_smile: The shiney things call to me on a daily basis its hard to resist.

I try out new tools regularly, not because they are shiny and new, though they often are, but because they may be better. If they are better then I will stick with them, if not, I go back. This is why I still use Vim, because no other text editor I have used so far provides me the balance of power, speed and usability that I find Vim (and a few years experience with it) lends me.

I think to give up on new products is as foolish as blindly following their allure. Yes, there are fashions in software applications and in software development as an industry – sometimes these fashions are led by great innovation and sometimes by marketing, popularity and hype. The easy option is to denounce it all, leave the fashion industry completely, maybe even find a niche. It is a little more effort to try to filter out the hype, judge the products for what they are and what they add and to pick the ones that work best for you, but ultimately, in doing so, you will be a stronger developer, concentrating more of your time on the difficult task of solving the business problem.

As to programming language, it is all very well saying that programmers should not worry about following the industry and be happy with what works, but at the end of each appointment comes the need to find another and there is nothing better than experience in the currently most popular technologies when trying to find a job in any particular job market, whether you like those languages or not.

Dozens of interview candidates the last year:
“So, what software/technologies/platforms do you use here?”

My response to every single one of them:
“We use whatever works.”

I think perhaps you meant ‘effete’ everywhere you used ‘elite’. An elite programmer is one who is superlatively productive, writing code that communicates clearly the problems it is solving and how it is solving them. The effete programmer is dedicated to living a decadent life of excessive tool-lust and no sense of responsibility beyond constant satisfaction of his own voracious ego.

Some of us picked up our shiny stuff back in the 1980’s, and settled in to wait for the rest of computerdom to catch up. I think that with about five years of effort focused on performance, Ruby and Python will catch up to Common Lisp and CLOS.

(And if we’re really lucky, the CL community will settle on decent cross-platform standards for sockets and Unicode…)

I’ve just bitched about this a href="http://enfranchisedmind.com/blog/2007/12/29/functional-programming-language-de-saison/"over at my blog/a, too, although in a more particular case: functional languages themselves seem to have a popularity turnover about every three months. You site Scala as the next big thing, but it’s really on its way out: mark my words.

Go hit programming.reddit.com and type in “Erlang” – the flood of posts were from last summer, and it was basically inaugerated with the Seaside presentation in front of all the Railsists. Then people seemed to get bored with Erlang in about 3 months, and then Haskell had a longer run (about 4 months). Then it died out and Ocaml had a couple of months, and now Scala is on its rise.

Now, as an Ocaml developer, it’s taken me three years just to wrap my head around all the a href="http://enfranchisedmind.com/blog/2007/01/01/ocaml-lazy-lists-an-introduction/"new ideas/a and a href="http://enfranchisedmind.com/blog/2007/08/06/a-monad-tutorial-for-ocaml/"other weirdness/a in that language, and I’m still getting used to it. I must just be stupid if everyone else is able to grok those languages in a matter of a couple of months…

Had some links which got filtered out.

http://enfranchisedmind.com/blog/2007/12/29/functional-programming-language-de-saison/
http://enfranchisedmind.com/blog/2007/01/01/ocaml-lazy-lists-an-introduction/
http://enfranchisedmind.com/blog/2007/08/06/a-monad-tutorial-for-ocaml/

on a related note, i’m trying to address this uber-fascination with shiny new toys through problem driven exploration ( http://itechblogtoo.blogspot.com/2008/01/problem-driven-exploration.html )

vi and Makefiles ftw!

Visual Studio in Windows though :confused:

Oh dear god I had forgotten about ever going back to check out Scott Hanselman’s list.

There goes my morning!

Although I have found sometimes there are some real gems to be found as you build your nest. Just need discipline to go nest building AFTER you’ve had time to actually get real work done.

On the other hand you don’t want to write ASP Classic apps with notepad for the next 50 years …

As a programmer with a blog named “Shiny Things”, I’m full aware of my magpie nature. When I find a new language or technology I try to learn something new from it and take it back to the technologies I use regularly.

You eventually learn that most of the time shiny and new is repackaged and re-hashed…

Not that things like Ruby represent a whatever forward, the real question is, is it really worth it? Will it really bring about a new leap in productivity?

And then there are the fence sitters, you know the ones I’m talking about, “Yeh, I’d buy a computer this week but I’m waiting for the next greatest and latest in oh, about six months or so, don’t want to be obsolete right out of the box…” There are programmers with the same mentality.

The point is, we make a living doing what we are doing and we are for the most part, priveleged to do so. I pick my toolset to make my living. Period.

However, we all have to keep up so that we don’t get left in the technological dust.

I guess the point is we have a need for shiny and new, just so long as the shiny and new can make us some money. At least I think that is still the reason I and about 200 million others like me in the USA go to work.

The key point to avoiding the Magpies syndrome is to stay focused on the product itself. The Magpies are ones who are erronesouly focused on the tools and/or the language they are using.

Here is a rule of thumb: Never change the language you are using. Change the tools perhaps a little more often…

As others have pointed out, your users don’t care about your tools. Focus your energy on adding features to your product and making it better…mastering your tool set and occasionally improving the tools over time using tested and well verified techniques demonstrated by others. The last thing you want to be coding in is a language or tools that had a life cycle of bad fashion fad…that nobody knows anything about in 3 to 5 years.

Jeff you had claimed Joel for had “Jumped the Shark” at FogCreek for writing their own compiler to avoid a rewrite as their product evolved. Read your own post here again and you might understand better why they did that.

Jeff,

You’ve made the comment in the last couple of weeks that end users don’t care what language an application is written in, I disagree. I work for a small consulting firm that was a Visual FoxPro house; now that VFP has been relegated to the back burner at Microsoft, no new customers are appearing; and well they shouldn’t. Most customers are savy enough to realize that any custom software needs to be written in the language that currently fits into the “riff-raff” category so that there is a base of developers to support it that aren’t elite or so few and far between that they are hard to find.

Vertigo looks like a magpie company!

Where does one download those “magic rocks” of which you write?

Great post, Jeff. I’ve only been doing professional software development for 3 years and I’m already dreaming of escaping to management for precisely this reason. New tools and methods are great, but I find it frustrating that so many of our peers would rather engage in endless religious wars over the “best” technology than build useful software.