Have you ever heard of analysis paralysis? Or perhaps the paradox of choice? They both highlight problems that arise thanks to the abundance of choice. If you live in an affluent western society, then you have likely experienced this phenomenon even if you haven’t heard of it. I am troubled by the constant choices I am “forced” to make on a daily basis as a developer.

I have built websites with PHP and ASP.NET, but I am only truly experienced at building web-applications with Java. I don’t feel like I ever consciously made that choice. I came out of school with a basic understanding of Java. Without knowing that I had my pick of the litter, I just took the first real job offer I got, which came packaged with Java training and certification. I didn’t dream about becoming a web-developer, but it is what I do and now (more than ever) I’m excited about my job and the field I work in. In spite of, or more likely because of this, I am constantly stressed out.

I don’t want to be caught off guard by new technology. I’m anxious about missing new developments, because, as a developer, I want to work efficiently. I want to invest in the “right” framework or methodology. The one that will pay back my time spent learning it the best. Add to that the fact that I’ve worked with an older generation of developers and seen them struggle to keep up and that scared me.

Restricting my choices to JVM frameworks alone doesn’t narrow it down at all. (I don’t want to list the options, because I’ll become obsessed about being thorough and end up wasting most of my time re-researching past topics instead of getting to the point, but I can’t help but illustrate). Since WHERE platform=’JVM’ doesn’t really narrow the field and I also want to be “open-minded” about other stacks: I can’t rule out other languages. I am reasonably versed in JS, perhaps a stack with NodeJS and Express is worth my time. Well, I heard a lot of good and bad things about Ruby on Rails, maybe I should try it out and form my own opinion. Well what about Django though… I’m a full-stack developer, so my woes don’t end at the server side. Virtual DOM is hot, people say good things, but should I look into React, Om or Mercury? Why is there so much dislike of Angular, I messed around with it and it seemed useful. Well, maybe I have a stack if I… no… wait… which database do I pick…?

I can’t be alone in this dilemma. I spend more time reading about my choices than trying them out. After watching Barry Schwartz’s “Paradox of Choice” presentation I realized something important: I blame myself. I am not able to dilute all the given information into the perfect stack and I hate myself for it. My insecurity makes me lash out too…

A friend and I are working on a project. I’m the technical guy, and he’s not. So, he says to me, he says: “What about Ruby on Rails for faster development”. “Who told you that?” I thought, and do they think I don’t know about Rails? I wanted to cite all the reasons why Rails wasn’t the right fit, and how this is my expertise and he should leave that part up to me! …but then it dawned on me: I didn’t actually have any Rails experience. Would my rejection be justified? Needless to say: I was frustrated. I wanted to prove my worth. Let my friend know that “I know what’s up”. I’m up to date with the trends and everything web!! I know [whisper: most] everything there is to know!!

Why can’t I just relax and say

“I’ve heard of RoR, but I don’t have any experience with it. I am

experienced with the tools we use now and even so I’m already working

with numerous things for the first time. I don’t think I’d be as

productive on the short term if I picked up an entirely different

language and toolset.”

In reality I simply ignored his suggestion. Probably as a passive-aggressive gesture. If this had not happened to me, but to someone else, then I would have simply suggested they ignore it as well.

“You cannot know if learning a new technology will (in the end) make

you more productive. If you’re interested in a technology, try it and

if you like it you now have a bit of experience to build on. Keep

working and don’t worry too much.”

That’s what I would have said if it was someone else. That’s them, though. I’m not them and everything I make has to be perfect!