Don’t get sucked into the wrong details and what separates us
I love the part of the hype cycle of a new technology where the claims come out:
“We switched from X to Y and the new experience was twice as fast to build, and offers double the scalable performance!”
We saw it with the move to Java, and then to Rails, and then to Node, and with the various off shoots (Python, Clojure, Go, you name it).
Whenever you see a “case study” it is fun to get into the details (and see people debunk), to understand the context, and not to make assumptions.
We use node at Walmart Labs, and I have really enjoyed the experience. For our use cases it was a great choice. It wasn’t the only choice. It wasn’t the only choice that would have “worked”, but it was a great choice.
Some of our context here is that:
- We were building an orchestration layer, where evented systems shine (You can get evented via other platforms, but node does this great and kinda forces it ☺)
- We had built a conditional tier rendering platform that would allow us to render views on the server or client for performance and SEO reasons
- We had the opportunity to hire amazing talent who were passionate about solving our problems with this stack. Talent matters ☺
Fads: Diets and Platforms
Interestingly, I see many parallels with the world of nutrition and “diets”. I changed my diet entirely a year and some change ago. I called it “low carb”, “high protein”, even “paleo”, but although naming this made it easy to communicate (vs. listing out what I eat each day 😉 it also constrained it and didn’t recognize how dynamic the system was. At first I went pretty cold turkey (and very low carb) so I could shock the system and then build up from there. My diet today is much more nuanced. I don’t just care about macronutrient compositions, I care about quality and where the food came from, and what all is in the food. I favor whole foods over processed food stuffs. I favor quality beef over chicken. I go for a variety of veggies (all the colors in the rainbow kids!)
If someone asks me “how did you lose over a 100 pounds” is it fair to say “I went paleo and then worked out, got sleep, …..” as though that was the only way to do it? I am sure that if I switched from my standard american diet to being vegetarian or vegan even, I probably would have had a similar outcome.
The key was the opportunity to be mindful and rethink what I was doing.
The same goes for technology. It isn’t that choosing node vs. go is going to be the make or break. The key is that you are getting off of the horrific 12 year Java stack that is baked on Entity EJBs and stored procedures with business logic thrown in each tier. The ability to re-think and get out of the daily hell… that is what counts.
Don’t get stuck in the paradox of choice. Choose a technology that makes sense for you. Only make the Big Switch if it truly makes sense (I have made platform switches that were utter failures and were not for the right reasons!). Don’t kid yourself. Have fun. Build good habits.
And then tell us what worked and didn’t work, don’t just write an article on how X is so much better than Y!
We all have much more in common that what differentiates us. I am glad to have my feet in the camps that care vs. those who don’t.