3 ms·
(2) An opposing but also convincing idea is that it is better to focus your efforts in one area to avoid spreading yourself too thin. Such focus allows you to g
by npsimons 14y ago
(2) An opposing but also convincing idea is that it is better to focus your efforts in one area to avoid spreading yourself too thin. Such focus allows you to gain "comparative advantage" and to easily do things that are difficult for people who don't have your deep experience. In other words, it is better to spend your efforts trying to become the world's greatest Python hacker than to jump on the bandwagon of every new programming language that comes out and ending up as a "Jack of all trades, master of none."
My conclusion: I do think it is worthwhile to challenge yourself not to just stick to what you already know (which in my personal experience is VERY easy to do especially if you find that you're very productive using what you know). But you also have to be selective. Life is too short to try to be a master of everything. And there is great value in gaining a very deep expertise in a particular topic or technique.
I've come to the conclusion that, if possible, it's best to be a "jack of all trades, master of one". It may take longer, or you may never truly attain mastery, but being flexible and not just willing, but eager to push yourself to learn new and different things is always a good thing. If nothing else, find something you enjoy enough to get enough skill in to pay the bills and then play with other things in your spare time.
This is particularly interesting to me, because while I find I could become obsessed with something enough to attain deep mastery, I find there are so many awesome things to learn and play with that I don't want to miss out on them. This could explain why I didn't go to grad school (and go on to become a professor, a once dream of mine) and haven't founded my own startup, but instead prefer to languish at a 7-4 day job with the government and sample everything from robotics to music to cooking to search and rescue in my spare time. To be sure, I still push myself at the job (it's funny you specifically mention C++ and Python: I'm finishing up Coplien's Advanced C++ while delving back into Python for the robotics as well as smartphone/tablet programming, and Go has also piqued my interest). The one limiting factor to try and keep me focused is that I try to keep my learning to tools that are open source, so as not to suffer from lockin and platform obsolescence. Plus there's the technical superiority of open source software in general.
- slurgfest 14y agoYou might have difficulty focusing (or a preference not to) but with a day job and so many other interests, you would get a lot of benefit from focusing your programming efforts, because the left over time is so limited. Which one is the most viable way out of 'languishing'?
- npsimons 14y agoYou might have difficulty focusing (or a preference not to) but with a day job and so many other interests, you would get a lot of benefit from focusing your programming efforts, because the left over time is so limited. Well, I do have a bit of a problem focusing; I've got dozens of projects scattered in my home directory that are half finished, it's just the discipline isn't there. Which one is the most viable way out of 'languishing'? I get back to my side software projects every once in a great while; once I make something worth releasing, I'll put it out there. Maybe just find some OSS projects to help with; I'm good at cleaning up other people's code. I'm not willing to sacrifice one of my hobbies to go back to grad school or found a startup (both of which would also require moving), but I sometimes fancy I could quit my day job and freelance.