For myself, I was surprised by how low-level Tensorflow was. I found that basic operations (things like saving and reloading a trained model) were much more difficult than in Keras, scikit-learn, or other machine learning libraries. Using Tensorflow feels sort of like computing derivatives with limits.
It will be interesting to see if tensorflow retains a fairly high level of popularity over time. The 1->2 transition is a big risk for them because so many people are on TF 1, there's a ton of intrusive changes.