Today I left my position at a tech startup (to join a different tech startup). My former boss and I have some differences of opinion, but I respect him a LOT, and he gave me some parting advice that really stuck with me.
He said, "You're going to be successful. You're very good at two things [design and front-end development]. You need to focus on ONE of them, and get from 'very good' to 'excellent'. Then build your career on that."
My career thus far (5-6 years) has been based on straddling the fence between the Photoshoppers and the code wranglers, and I'd like to think that I've gotten to where I am because of that mixed skill set. But my boss wasn't the first person to tell me this. I've had people from both camps suggest that I pick one discipline or the other and really become an expert.
A couple questions:
1) Am I selling myself short by trying to be good at multiple things, when I could be an expert at one?
2) Is it even possible to become truly excellent at more than one thing in one's career?
And a bonus question:
*) Are there any examples of 'generalists' who have built and/or led successful startups?
So, to your question of whether you should focus on one or continue to be generalist, it depends what you want to do with your life. If you want a career working for others, then it might be best to focus on one of the disciplines.
If, on the other hand, you aspire to create your own products, or run your own startup, then I would recommend you continue to work on both your skills.
Indeed, my advice for any developer who wants to do their own start-up is to - once you have reached a good standard - forget honing your development skills and start learning to design.
Learning another programming language or mastering another object orientated design pattern does not bring you any closer to being able create a product yourself. Learning an entirely new but relevant skill like design does.
For your information, I am a journalist who became a developer five years ago, and who very early on in my development career sought to improve my design skills.
I am the guy behind http://www.gambolio.com, http://www.tiki-toki.com and http://www.peopleplotr.com, for which I did all the design and a good chunk of the coding. Also responsible for http://www.casualgirlgamer.com and http://musicgames.co