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.
Comments
Specialist = One thing only. Don't mess with this person if their job is essential.
Employers like flexible people, but be cautious that they don't too much advantage of it.
This is my take on it in my work history. Take it for what you will.
The real specialists are specialists because of experience and expertise, not laziness. Developers that can make awesome things like node.js are specialists.
The greater majority of people that you would categorize as "specialists" are really more the type to try to solve every problem with the same tool, even when there are better tools.
Out of college, almost everyone is a "Jack of all trades" and that's a good thing. Based on your interests, career, and abilities... you may very well want to specialize eventually. Even into non-programming fields like management or whatever industry you end up working in.
Being able to dig a trench with a spoon is a skill, certainly, but knowing when to get some heavy machinery to dig that trench is also a skill - and being able to operate fifteen different trench-digging devices is probably better still.
The rewards structure does provide high rewards for specializing, at the risk of eventually having your work pulled out from under you. Balance in all things.
Then my group was merged with another group... and I ended up being tasked with writing installer scripts... Needless to say, I started looking for another job ASAP.
However I will never write anything in any sort of assembly language.
What if I put all my geekery into technology? Am I a specialist? But I'm good with ALL computer stuff. What about the guy who is only good at writing compilers with functional languages, and can't even make a web page? He's even more specialized! But wait, I can write a simple compiler in LISP. Give me enough time and I can write an advanced one. His specialization is included in my general skill set.
Anyone who has played any RPG with a skill point buy system knows how this works out. What matters is how many skill points you have that are allocated productively and in use whether they are in more skills that are all useful or a few that are leveled way up.
So I guess real life is like GURPS?
I can do various things, but I'm only really good (IMHO) at a few of them. Whatever -- as long as I know what my limits are and know when to call in expert help, it's cool.
EDIT: I mean emperor of the Ottoman empire.
In fact, I'll bet $100 that you still won't be the sovereign of the Ottoman empire in 3 years.
Zaporozhian Cossacks to the Turkish Sultan!
Thou art a Turkish imp, the damned devil's brother and friend, and a secretary to Lucifer himself. What the devil kind of knight art thou that cannot slay a hedgehog with your naked ass? The devil shits, and your army eats. Thou son of a bitch wilt not ever make subjects of Christian sons; we have no fear of your army, by land and by sea we will battle with thee, fuck thy mother.
Thou art the Babylonian scullion, Macedonian wheelwright, brewer of Jerusalem, goat-fucker of Alexandria, swineherd of Greater and Lesser Egypt, Armenian pig, Podolian villain, catamite of Tartary, hangman of Kamyanets, and fool of all the world and underworld, a fool before our God, a grandson of the Serpent, and the crick in our dick. Pig's snout, mare's arse, slaughterhouse cur, unchristened brow, screw thine own mother!
So the Zaporozhians declare, you lowlife. Thou wilt not even be herding Christian pigs. Now we shall conclude, for we don't know the date and don't have a calendar; the moon's in the sky, the year in the book, the day's the same over here as it is over there; for this kiss our ass!
I will lead the Ottoman Empire, for the good of the people. Under my guidance, Turkey shall see a new golden age. Though I relinquish my carefree ways for the responsibilities of a Sovereign, I do so with the hope that I can restore the glorious Ottoman Empire to the grandeur of the halcyon days of yore.