I have created a new topic "Career Advice related to Hadoop or stick to j2ee with Spring" sometime back and also "Career advice on choosing domain". I did not get any recommendations on the same. Raising the same with the current thing running in my mind . Apologize if I am repeating but still I would like to get good advice from many experts in this great forum.Your suggestions would be of great help to me.
I am an Senior Java Developer having 12 yrs of extensive java/j2ee experience.Now that there is a tremendous shift in technologies in market, I am really confused on how to shape up my career in a better way and to be an architect. I am filled with questions to myself like
1. Should I continue with Java and Java EE , go ahead and complete Oracle Certified Master Enterprise Architect Java EE6 ?
2. Should I be just aware of latest java trends but focus on big data ?
3. Should I do not put constraint on any technology and take whatever projects that comes in my career be it maintenance or development and work on any technology be it python, perl, .net or java whatever?
4. Should I focus on domain skills like storage or virutualization ? If yes to what level on these domains.
5. Should I focus on UI development like HTML5, CSS3, JS ?
Since the technology is changing rapidly and I am really not sure what would be the better option to climb up in ladder (technically). Please pass on your thoughts/suggestions etc.
You are in a profession and at a state of your career that you are guaranteed that you and your kids will never to go hungry as long as you can sit and code. So, you don;t need to worry that picking the "Wrong" path will lead to doom. You can sit on your ass and code. You will be employable for the next 30 years. You can take that to a bank. I mean you can really take it to the bank Take your pay stubs and show it to the bank. They will write you a 30 year loan on the spot. By picking the "right" path you might be able to enjoy your career more,. or you might be able to retire in a shorter amount of time. The point is that no matter what path you choose, barring a life shattering event or an act of God, you are going to have a nice life. The worst that is going to happen to you that you work a 9 to 5 job till you are 65. That's much better than 80% of the people outside of software profession. So, first thing to remember about this profession is Take it easy. Relax
Now, the second thing to remember is You can never stop learning. Technology changes every 5 years. You will have to learn something new every 5 years. The bad thing about that is that you will face this dilemma every 5 years for the next 30 years. The good thing about this is that even if you pick the wrong path, your doors don't close. In 5 years you will get a chance to learn something new again
The third thing to remember is learn the things that you enjoy the most. Learning new technologies is stressful. I don't need to tell you that. Plus you have to do it every 5 years. We covered that before. There are so0 many things that you can;t learn them all. So, to reduce your stress, learn the things that you enjoy doing. You like big data, learn big data. You like HTML/CSS, learn HTML/CSS. You like being a generalist, just take whatever problems that come your way and solve them. You do not want the stress of learning things that stress you out every 5 years
THird thing to do is never stop moving forward Don't become obsolete. DOn;t learn one thing and think that you are done for life. ALways keep your eye on the horizon for the next thing
Last thign to do is Take it easy. Relax
Edit: I know the above advice sounds a lot foo-foo, and you were expecting someone to come and say something specific like "Big data is da bomb. Go for Big data". You are not going to get that kind of advice here, nor will it be useful. The above advice comes from a place of experience. When you are stuck at a client's place, so stressed that you wonder whether you will be landing in a hospital that night, the discussion whether you should learn Big Data or HTML seem pointless. Once you have 12 years of experience, there are a lot of other things that are important, which includes your health and time with loved ones. If you want to stay in this industry for the long haul, you have to learn to not stress out over new technology
Thanks for your impressive reply. I honestly agree with all the points you mentioned. I got it clearly. I like coding and will continue to do the same. You are 100% right I should not have to take it to my heart on these things. I will learn which ever I like as you honestly said.Even I would like to pursue PHD through my company (going to enquire about it) because in future I wanted to be a professor in some university since my passion is teaching too other than coding. I am getting clear ideas from your suggestions . Thanks a lot !!!