> more than once I was approached by people who wanted me to help implement their projects. But I have always refused just because I think I'm not good enough. [...] have you ever done that?
Absolutely. I'd say that 90% of the time that I've been offered consulting work, I've turned it down because I know it would require some skills -- web design, graphics, SQL, linux, ruby, C++, etc. -- which I know I don't have.
I have a reputation for being very good at what I do, and it is certainly true that there are some things I am very good at... but a large part of that is that I don't do the things which I'm not very good at.
> how do you deal with self-doubt?
If you're a generalist, there's almost certainly going to be someone else who is a better generalist than you. If you specialize, it's not hard to find a niche in which you are one of the leading experts in the world -- because the group you're being compared against is losing the 99.9999% of people who never looked at that particular niche. So I'd recommend looking for a niche; because once you're the world's leading expert on something, it's pretty hard to doubt your competence in that area.
> If you choose your niche well you will never need to look outside of it until you have ramped up your skills for your next specialisation.
... or until your niche dies out. This is my situation at the moment: my niche is very profitable but likely on its way out in a year or two. Related fields are either very boring or much less profitable. If I had stuck to a more generalist career, I'd have made less money for a few years, but maybe my employment would have been a bit more secure in the long run.
Thanks for your advices Dr Colin. But also, do you become very good at what you do by working only on your personal projects?
From your experience, how does one go about finding a niche? Thanks
Find a new one or get used to the idea of only working on legacy projects. There are still people out there making a living as COBOL programmers, but they don't get to work on greenfield code.
Absolutely. I'd say that 90% of the time that I've been offered consulting work, I've turned it down because I know it would require some skills -- web design, graphics, SQL, linux, ruby, C++, etc. -- which I know I don't have.
I have a reputation for being very good at what I do, and it is certainly true that there are some things I am very good at... but a large part of that is that I don't do the things which I'm not very good at.
> how do you deal with self-doubt?
If you're a generalist, there's almost certainly going to be someone else who is a better generalist than you. If you specialize, it's not hard to find a niche in which you are one of the leading experts in the world -- because the group you're being compared against is losing the 99.9999% of people who never looked at that particular niche. So I'd recommend looking for a niche; because once you're the world's leading expert on something, it's pretty hard to doubt your competence in that area.