Two years after my initial encounter with Scala, I’m just now starting to delve deeper into the functional aspects of Scala and the type system of the language. As I’ve done this, I’ve had multiple “aha!” moments, where I realise that the combination of OO and FP allow for massive leaps forward in developer productivity if you apply it intelligently. I’ve also started glancing at Clojure, which certainly looks interesting, though perhaps more of a niche language to Scala’s mainstream proposition.
However, in discovering FP I also realise that some of the concepts require a fair amount of brain power and sophistication from the developer to fully utilize and understand: It’s like a Formula One car: in the hands of Michael Schumacher, incredible things can be achieved, but in the hands of Joe Bloggs, tragedy might happen.
This has made me consider a possibility: will this help create a two-tier market for developers?
We have always had the “blue collar” developers, the 9-5:ers who see development as a job, not a passion. The type of person who would never dream of visiting a blog like this or a site like DZone. These developers are fundamentally uninterested in learning anything that challenges their minds, they want to do the job and go home.
At the other side we have the guys who live, breathe and dream their profession, the craftsmen who want to create. The type who has been woefully undervalued up to this point, having to compete on price with the blue collar developer even though his work is of much higher quality and his productivity is at least 10x that of the “cheap guy”.
With the advent of languages like Scala and Clojure, this 10x productivity and quality factor is likely to increase to 20x or even 30x. These are starting to be economics that not even the bean counters at large enterprises can ignore. So will this mean bigger rewards for the smart guys who “get” the features of the newer, more modern languages?
Will Functional Programming be the big dividing point where craftsmanship becomes properly valued by the market? Is it going to be the proverbial dividing point where the wheat is divided from the chaff?
I don’t have the answer, but I know a two-tier market has been developing ever since the dotcom bust in 2000-2001, but maybe this is the real dividing point, the time when the economics of craftsmanship combined with the progress of software technology together combine to create a market where highly skilled software engineers/architects finally get the recognition they rightfully deserve.