📜 ⬆️ ⬇️

You too can become a victim of developer paralysis.

Dear developers, do you feel uncomfortable because you quickly write only in eight languages ​​for three families of devices? Do you flinch when you’ve barely heard about switching to another framework? Did you put off your favorite project because you could not determine which cloud platform would be the best?
Perhaps you also have developer paralysis. Fear! It is not treated.

The wealth of options available to programmers today is simply monstrous. We suffocated under what spews a cornucopia. For the past few years, I’ve earned what I wrote in Java, Objective-C, C, C ++, Python, Ruby, JavaScript, PHP (I apologize) with different SQL / database options (MySQL, PostgreSQL, MongoDB, BigTable, Redis, Memcached and others). Do I like it? Damn it, no. For the most part, I just feel guilty for not doing anything on Erlang, Clojure, Rust, Go, C #, Scala, Haskell, Julia, Scheme, Swift, or OCaml.
image

I am a victim of developer paralysis: feelings of inferiority due to the fact that the software industry is developing faster than one person can manage.

Take any of these programming languages, dive into various frameworks, and toolkits, and available libraries ... And try to keep your head from exploding. Months will go only to seriously evaluate all today's frameworks and JavaScript libraries. What do you know about the number of Ruby versions available? Or iOS frameworks? Or NewSQL / NoSQL database? And do not even stutter about Hadoop vs Spark vs Google Dataflow, or Avro vs Thrift vs protocol buffers, or-or-or ...
')
At the very least, the mobile world has shrunk to the Android / iOS duopoly — although there are also overlapping alternatives behind it, like Xamarin or cross-platform HTML on PhoneGap or Sencha — but just try to understand where and how to deploy the backend. I worked on Heroku, Amazon Web Services, Google App Engine, Google Compute Engine, and Parse ... which only makes me ashamed of how little I know about the insides of OpenStack, Force.com, Azure, AppFog, never used a lot of AWS services and others.

Programmers today are faced with a host of available features, so we even use a bunch of tools that exist only to help us manage other tools: Bundler, Bower, CocoaPods, Pip, and others. They are great! I would not want to live without them. But nonetheless. Then you start using other tools, and it takes half the time to sift out any garbage, then you begin to understand that configurations are not enough, you actually want to rewrite them a little ... a little ... or replace them with another alternative ...

The number and variety of languages, tools, frameworks and platforms available to the developer, is incredibly disheartening. Of course, no one wants to admit it. Everyone wants to be a jack of all trades. But the truth is that we all suffer from a complex of programmer paralysis.

Even gathering the necessary information to make an informed decision almost certainly leads to the opposite. If you set aside time to analyze all the possibilities before starting the project, and then climbed to the top of the learning curve, you can be instantly knocked down by a teenager using PHP and Swift with emoji in the variable names.
But on the other hand, if you dwell on Swift and PHP, you will live in constant fear that some ninja programmer in C # / Haskell will plug you in the belt just as Paul Graham did with Lisp before:
When you choose technology, you have to ignore everything that others do and take into account only what will work best ... In fact, we have a secret weapon ... We could just develop software faster than anyone could imagine ... We wrote our software on crazy Al with strange syntax and a bunch of brackets.

So: developer paralysis. Do we choose what we already know, because now we can move forward without climbing the learning curve, and we are afraid that someone does it better, faster, more elegantly - and our knowledge will become obsolete and uncompetitive next year? Or do we want to constantly expand our horizons, because we like to learn and the best tools are both more fun and more competitive ... but they take more time, effort and stress on the brain?

Tricky question! There is no right answer. That is why every month - Month of acquaintance with the paralysis of the developer. I will send you flashing kaleidoscopic ribbons (for everyone to wear), as soon as I understand which 3D printer, microcontroller, LED software and OS for the drone are best suited for this purpose. Do not hold your breath.

Source: https://habr.com/ru/post/240977/


All Articles