两招让你成为牛X的T型人才有个小伙伴在微信上问我：
我刚工作半年，有时候对于Java的发展方向有点迷茫，Java的范围是在是太广了，我有时候会不知道从哪开始入手，我想问一下，您有什么好的建议吗？
我理解这位朋友的问题是：
工作中该如何发现自己要学什么，怎样构建自己的技能树
。这是一个非常重要的问题，假如你不知道要学什么，那一旦你工作不那么忙时就会觉得无聊，只能通过浏览新闻、看小说、打游戏等方式消磨时间消耗自己。这对自己的成长和增值非常不利。所以，这次咱就来聊聊工作中学什么这个话题。
根据我的经验，在开发过程中，有两种学习策略：
一种是横向拓展，也可以称之为广度学习；一种是纵向深入，也可以称之为深度学习
。如果能贯彻这两种学习策略，就会慢慢形成程序员最理想的技能结构——T型，即在横向上熟悉足够多的知识和技能，在纵向上又精通某一领域。简单说就是一专多能。
广度学习
以C++语言为例，如果你做网络方面的开发，就会遇到选择哪个框架的问题，libevent、ACE、Asio还是Qt Network？如果你做GUI开发，可能会在Qt、CEF、MFC、wxWidgets、DirectUI之间做个选择。
选择和了解的过程，是