3 ms·
This is an incredibly difficult question to answer. In fact, in trying to mentor some of my colleagues I have been asked this very question more than once. Th
by mikekchar 11y ago
This is an incredibly difficult question to answer. In fact, in trying to mentor some of my colleagues I have been asked this very question more than once.
The best answer I can give you is that you need to find your style as a programmer. There are things you do well and things you don't do well. On the one hand, you should train to improve the things you don't do well. On the other hand you should depend on the things that you do well so that you can support your team. Getting the balance right is not always easy.
You ask about working "hard" and this word seems to come up frequently when I am helping someone. If you are focussing on this, then I think you are treading down a fruitless path. To be frank, there seems to be an assumption that if you work "hard" you will be successful. This is rarely the case, although it is true that successful people must work "hard".
To give you an example, I know from experience that no matter how many hours I put into studying quantum physics, I do not seem to be able to work at the level that would be needed for a quantum physicist. Frankly, this caused a considerable amount of anxiety for the younger version of myself. But, to be honest, I never really wanted to be anything other than a programmer, so it didn't really matter in the end.
At the beginning of this I said that you have to find your style. As you look around at the "super smart people" around you, you will find that no matter how "hard" you work, you can not be like them. That's because you aren't them. You do not have their skills and abilities. You have your own unique skills and abilities.
I firmly believe that "anyone can program", in the Ratatouille-esque sense of "anyone can cook". Not everyone can be a great programmer, but a great programmer can come from anywhere. What are the things that you are good at? What are the things that you enjoy doing? When you are "working hard", do you ever forget to eat?
Hard work does not make you successful. It is rather that there is something about success that drives you to work hard. Very possibly you are successful at working hard, but not successful at programming. Forget about working hard, and concentrate on programming. Do it until you can't do it any longer -- then sleep (and eat, if you have forgotten to). Then do it again. Every day program. If this seems like hard work, then find things that don't seem like hard work.
I hope this helps!
- sidcool 11y agoThanks, this hit right in the gut. Truthful advice. In my case, I do love what I do, it's just that I cannot feel like I am good at it.
- mikekchar 11y agoPersonal projects are probably the way forward. Juggling life and personal projects is hard, but start out small. I'm far from ready to publish widely, but I have discovered that I can actually program efficiently with one pomodoro a day: http://mikekchar.github.io/core-wars-kata/ http://mikekchar.github.io/core-wars-kata/ You will note that I haven't actually done much lately as family tragedies and personal illness have kept me away from the keyboard. But I hope that it will give you some inspiration that even if you devote a small amount of time you can move forward.
- sidcool 11y agoThat will help, thanks a lot!
- mikekchar 11y agoSorry for the late reply (hope you will see it). I wrote this a long time ago, but I think it might be useful in your current situation: http://mikekchar.github.io/portfolio/LanguageAcquisition/ http://mikekchar.github.io/portfolio/LanguageAcquisition/ Long story short: how do I get to a point where appropriate answer pop into my head automatically without having to sit there reasoning about it for a long time.
- sidcool 11y agoI did read it. Thanks!