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?