I worked as an Android developer, as a fullstack developer and now as a FE developer. I feel myself confident if someone ask me to implement something (build X from scratch using Y and Z, even if I don't know Y or Z) but the thing is I feel like I don't know anything concrete about the technologies above. I mean, if someone ask me about "what is a block in Ruby?" or "how controllers should share things in AngularJS", or "what are array comprehensions in Python" or "GET or POST to update something?"... I think I know the answers (because I have deal with that in practice) but I'm sure my answers will be very vague; like if I just know the surface of them.
I enjoy knowing a little bit of everything but a) I don't have enough time and b) I guess I'll have to, at least, master one or two technologies in order to "make more money?". The dilemma is which one? The most I like? The most I already have experience with? The one I think it's gonna be there for at least 10 years? Or perhaps I just can continue being a "jack of all trades"?
Thanks(and sorry for my English).