Wednesday, June 17, 2015

My pseudo psycho analysis of the "three types of developers" regarding tech adoption

I'm usually obsessed about what type of developer I am, a pioneer adopting tech? conservative? a creative/seller of my own software? The answer is more complex.

This reflection is the result of reading this article at DZone, it was first a comment, but WTF! I HAVE A BLOG AT LAST!

There are three kind of people in software development regarding tech adoption:

1) People obsessed looking for the newest and coolest technology

2) More conservative/skeptical people (usually experienced developers and/or with some "bad experiences")

3) People interested on promoting some concrete tech (people with an agenda)

This is a pseudo naive psycho analysis:

1) People obsessed looking for the newest and coolest technology

They are proud of being "pioneers" and early adopters, sometimes they are good enough to make anything in any kind of tech including not mature or simply wrong tech, but sometimes he/she will ruin your project because the motivation is usually too ego-centric and project "needs" and using proven stuff are not the priority.

The problem with this people is their pervasive promotion of unproven or wrong tech, and ready to "believe on any new thing".

I remember people proud of "using Java from 1.0", when I read this I feel a shake. Java was A GREAT INVENT, Java avoided Microsoft as the absolute dominant player in software industry (Java was born when Microsoft was near to becoming a brutal monopoly in anything, Java "saved" the industry, just ask to old Oracle, Sun, IBM guys...). In the same time Java 1.0 was really mediocre in the alpha category (1.1 was the first decent release)...

Apply to any new cool tech of today...

2) More conservative/skeptical people

There are several sub-types:

- Lazy people unable to learn something new

- Conservative people very resilient to change (fear driven)

- Skeptical people: aged developers who have seen too much tech "died" (C++ decline, XML and Object databases, CORBA, SOAP, native desktop development, RUP...) tired of listening "world savers", "everything will be" and "silver bullets" again and again.

3) People interested on promoting some concrete tech (people with an agenda)

In practice they are "Bible sellers" where everything is a "success case", their points and arguments can be valid but they are biased... Sometimes the tech "sold" becomes very good and get some success (or great success) with time but ever even in alpha state is sold as the best stuff after the sliced bread invention. Sometimes the merit of the tech is obtained just by "mantra repetition" (frequent repetition of "X is good" becomes "X is good") and "hiding information", and inviting to imitation to avoid "IT shame" (we are cool are you cool?)

----------------- My point of view:

I recognize I'm a mix of three :)

1) People obsessed looking for the newest and coolest technology

This kind of people must exist for promoting innovation. Sometimes there are really exciting new tech around the corner "yes at last".

In my case I've tried to create this kind of disruptive tech for this kind of pioneers early adopters, most of the time I've failed but I still have some hope .

Yes I'm in1)

2) More conservative/skeptical people

This kind of people must exist to provide a rational point of view. For instance to resist to use DBs with almost no warranty for critical data, to avoid applying tech and approaches only worth and valid for very big companies, to resist to use alpha tech in mission critical apps...

For instance, I've read THOUSANDS of times how much bad is sync IO and thread scheduling and how performant is async IO processing, but data is not usually aligned to speeches.

Yes I'm in 2)

3) People interested on promoting some concrete tech (people with an agenda)

Yes they are biased, sometimes they will revolutionize the industry, sometimes is just a temporally marketing success, in any case they try "to convert you and to spread the WORD".

This kind of people must exist to create exciting new tech, for instance Sun, Oracle, IBM... survived thanks to Java invention. Yes they want to make money and it is not bad, is up to you what is your role (follower?, fanatic?, ingenuous re-seller?, a satisfied user/customer?).

Yes I'm in 3) I create and promote open source software, sometime ago I tried to make a living, now is mainly pleasure driven.

And you?