I am stuck to set priorities in my career.
Basically there are just too many things that I think either interesting or just important for me to work on to succeed. 1. I work as a .NET software developer at company which specialised in building high load web applications on .NET framework. I do my best and would like to bring more value and build expertise in what is needed at work. So I need to invest time at work and at home to read blogs on actual problems at work, write pet apps, read other people code in .NET etc. 2. I am interested in trying to learn some JVM functional language (Scala or Clojure). I tend to want to leave .NET in some years for something else and JVM languages are possible candidates. 3. At the same time I have an idea to create my startup application - to get some understanding of business, to get my own thing done. I wouldn't like to use .NET for it but Node.js for real-time chat and Rails. 4. I would like also to learn some foundamentals of computer science: to build my expertise in algorithms, ML, etc.
The problem is I can't do all these things now and I am struggle to choose what to focus on. If I try to focus on some point from the list I feel I lose some opportunities in other points. Say I am doing some node.js for a week and staring to think if what I do is the best choice or I can invest my time and put efforts into .NET things and bring more contribution to my current job etc.
Does anyone have the same problem? How can one manage to finally set priorities, calm down and start doing hard work without any doubts? May be some advice, some book etc. Thanks.
8 comments
[ 3.6 ms ] story [ 36.8 ms ] threadBut still, I'm constantly pulled in other directions. "Oooh, Meteor??? that's shiny!" And I feel that you have to learn at least some javascript (which is really pretty cool). So yeah, it's hard to maintain focus.
Barring other ways of deciding, you could look for a vibrant community. I've been really impressed with level of passion and engagement from the ruby community.
Want advice? Pick a problem and become really good at solving it. Know the theory and know the tech most people are using to solve it (Hint: It most likely won't be on hacker news). Ignore just about everything else.
Once you've got well above average skills, try to get on a team with people who know more about it than you. You can learn new stuff mentored in about 1/5th of the time.
I think GP means something less specific, like "become an expert in distributed database systems" or "learn to develop infrastructure for distributed machine learning." Those problems are complementary to some of the biggest areas in tech now (machine learning, distributed computing) and will not go away for a long time.
Someone you can sync with weekly about your progress, preferably on something with a clear goal. Start small ("What is the simplest thing that could possibly work?") to be able to demo to your mentor each week.
mojoLive - http://mojolive.com/invite/corey