For god’s sake remove the personal details of the poor dude from this post!
Exam for being promoted from “junior developer” to “intermediate developer”? In what kind of a legacy, title-driven organization are you guys working? I mean alright, it is cool to have a title in Linkedin, but differentiating developers by title inhouse?
As to the questions…
The Singleton part is completely incorrect. This is the answer of someone who heard that Singletons are bad, but can’t really explain why. If you use global objects (e.g. injected by Dagger in Application scope) they too can be accessed from any thread and change state, and they too can leak a context, but you still use them, right?
MVVM is not a synonym of DataBinding, therefore comparing MVP to DataBinding is not the same as comparing MVP to MVVM.