Some background about me, I work for a financial organsation, in a support job. Where we work 10-11 hrs a day in supporting applications, which doesn't require any new additional skill. But my work also demands me to spend 6-10 hrs of java (servlet/jsp) coding per week.
But after 9 yrs of experience, I feel passionate about programming and would like to become a monster in coding. Especially has lot of enthusiasm in solving some ordinary repeated problems in innovative way.
I could spend an hour in a day for learning new stuff. But my mind always a drunken monkey in concentration. So I need to choose a decision in what to learn (to master a new skill). Even if it is not going to help me in next 2/3 yrs in my current job, I would like to commit in learning to make it for future.
What to choose between "compiler construction (learning lexer, parser, LR, LL, GLR, LALR)" vs mastering functional programming?
Which one was difficult for you while you were learning? Which will make me to compete with the top notch programmers? Which one is tougher but highly revarding?
Please help me answering in the same order as my questions order.
I love this community, and stackoverflow :)
Note : I have some very basic knowledge about functional programming. Would like to master only one skill which should be very helpful.