The Rules of Attraction: Language by Mark Seemann
How to attract the best developers to your organisation, with one weird trick.
"Well, you know, platforms live maybe 10, 15 years and then they cave in under their own weight, one way or the other."C# is now 15 years old; Java: 20 years.
You don't have to believe that Anders Hejlsberg is right, though. After all, COBOL is still in use, 56 years after its invention. One of the world's most popular languages, C++, is 32 years old, and C is 43 years old. Still, it's food for thought.
When I consult and advise, I often encounter organisations that standardise on C# or Java. When I try to tell CTOs and development leads about the benefits of adopting 'new' languages like F# (10 years), Haskell (25 years), Clojure (8 years), Erlang (29 years), or Scala (11 years), the response is always the same:
"How will I find developers?"That's the easiest thing in the world!
In the early 2000s, Java was already getting close to 10 years old, and some programmers were beginning to look for the next cool technology. They found it in Python, and for a while, Python was perceived as the cutting edge.
In the late 2000s, C# 'alpha developers' migrated to Ruby en masse. It became so bad that I'm-leaving-.NET blog posts became a cliché.
Let's not forget those of us who have fallen in love with F#, Clojure, Haskell, Elixir, etc.
The most curious developers eventually get tired of using the same programming language year in and year out. Those first-movers that migrated to Python 10 years ago are already on to the next language. The same goes for the Rubyists.
Finding F#, Clojure, Elixir, etc. developers is the easiest thing in the world. The most important thing you can do as an organisation is to say:
"We wish to hire F# developers!", or Clojure developers, Haskell developers, etc.
You don't have to find such developers; make them find you.
Although there are few of these developers out there, they are easy to attract. This is called the Python Paradox, after the early 2000 Python migration.
Not only is it easy to attract developers for such 'new' languages, you also get the most progressive, curious, motivated, enthusiastic programmers. That's the 'talent' all companies seem to be pining for these days.
Some programmers will even accept a decrease in income, only for the chance to get to work with a technology they love.
You'll probably also get some difficult-to-work-with primadonnas who are gone again after three years... TANSTAAFL.
The crux of the matter is that the argument that you can't find developers for a particular cool language doesn't hold.