Jack Of All Trades vs. a Specialist
I just had a preliminary interview with a company in Seattle and towards the end of the discussion the HR rep gave me a quick rundown of his impressions of me to forward on to a couple hiring managers. At one point he referred to me as a "Jack of all trades". I didn't say anything because I didn't know how to take that exactly. On one hand it is true in the sense that if you give me a problem or a task I'll figure it out. What I mean by this is that if you tell me a problem (say manipulating a string) I'm going to do it in the way I best see fit, namely using a language that has mutable strings. Same thing low level vs high level programming. I've made a file system with C and I've made Windows applications in C#.
Being fresh out of college I find it hard to describe myself in any sort of niche. Certainly there are people who are gurus of a certain field but I think its hard to expect that from someone who is a recent graduate. In college you sort of learn everything and choose electives based on what you think is interesting. This doesn't guarantee you are going to certainly fall in love with any single aspect of software engineering.
I was reading an article on differences between being a Jack of all trades vs. a specialist in the software development world and it sort of got me thinking of the pros and cons of either. I wanted to hear some other opinions.