I've been programming for about seven years (ex-journalist before that). During this time, I feel like I've gained a wide-spectrum of application-level experience.<p>I've written REST services, real-time web front-ends, large-scale data processing apps in Clojure, low-latency algorithmic trading containers and models, pattern detection systems, etc. All of it related to the financial world.<p>Technically, I feel like I've been all over the place.<p>Now I'm interested in transitioning from a full-time employee to a fully-remote project-based consultant. The majority of the advice I see encourages specialization, whether it be AWS, ElasticSearch, web frontend, and so on.<p>I feel like it's time for me to choose as well. Personally, I'm most interested in real-time web apps and NLP.<p>Has anyone here made a conscious decision to specialize as well? If so, how did it work out? What are the cons of doing so?
I specialized in NLP as well (did a PhD and wrote some papers about it), but could not find any job here where I live, so I reinvented myself as full-stack web developer. But web dev is a freaking never-ending never-stable world, so I'm quite sure that pretty soon I'll move back to NLP or general AI..
I am also curious to know, what are some things which would be worth specializing and hold great value for the future? (Of course, it is hard to predict the future, but would just like to know what the HN community is betting on)