Who I am? Developer, twenty-something, about 3 years of experience. I've worked with Ruby (plain and Sinatra), Python (scripts), PHP (and CakePHP and Slim), Java (plain Java and Android), JavaScript (and CoffeeScript and AngularJS), HTML (and Jade), CSS (and Sass), relational db modeling and querying, SQLite (Android related), MongoDB (via mongoose), Express (AngularJS related). I know about REST, API design, MVC,design patterns, etc. And more theoretical things like data structures, algorithms, discrete maths and all those things one should know after getting a BCompSc. I like reading books and I'm trying to read some of the ones listed here: http://stackoverflow.com/a/1713/434171<p>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.<p>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"?<p>Thanks(and sorry for my English).