# 集中精力干大事

人的精力是有限的。

对程序员来说，明白这点很重要。层出不穷的语言，框架，原理，要做到完全明白并非一朝一夕的事。罗马并不是一天建成的，这是十分朴素又明显的道理。却又是初级程序员很难意识到的问题。不懂这一点，往往容易造成广度够广而深度不够深，难以胜任高级开发工作的尴尬局面。

入行一年，我了解前端，后台，会用C#开发Winform、WPF应用，知道.NetCore，知道UWP是Windows开发的趋势。知道一些C# 7的特殊用法，知道.Net Framework各个版本，能熟练地阅读MSDN文档。还曾在HTML，CSS，JS上下过很大工夫，要是谁让我写WEB页面，我自信可以写出来，无非是多花些时间。还知道NodeJS，知道JavaScript闭包，还用JS写过谷歌浏览器的小插件——小计算器。翻译过Python，了解过微信小程序，Electron应用是如何开发的。买过Linux服务器，搭过博客，也曾花很多时间研究Linux是如何使用的。可以简单地维护Linux服务器。也写过JAVA，不过只是写了一个很质脆的玩具——答题小程序。搭过Android开发环境，成功在自己手机上弄了一个小Demo。搞过Cocos2d，惊叹于用JS开发小游戏的简洁。研究过一段时间大数据，写过ASP.NET，PHP。会使用Access，Mysql，Oracle，Sqlite。会画网络拓扑，会PS，会用AI，会用Expression Design设计XAML，知道XML，JSON。知道WCF，WebService。知道怎么把设备连到阿里物联网平台，知道怎么在WPF程序里嵌入浏览器内核。知道C语言，C++，能写一些质脆的Demo。我还知道很多，很多......

我简直无所不能。我甚至感觉我未来一定是IT界的资深大佬，我能影响整个IT行业的发展。但，我`知道`很多，很多也仅仅是`知道`，能用得起来而已。真的到了要深入地用的时候，还是要花很多精力重新回顾。其实也跟重新学差不多了，只不过起点会高那么一点点，但真的也就是高一点点而已。当错觉不在的时候，我会深深感觉到自己什么都会，同时也感到自己什么都不会。归根结底是自己深度不够。而做好一份工作并不是因为广度有多广，关键是深度有多深。虽然提高广度可以让自己不至于眼界狭隘，也会给工作带来一些便利，但也仅仅是锦上添花而已。对一门技术掌握得越深，价值就越高。

直到我流下学艺不精的眼泪，才明白此中道理的辛酸。也再次印证了老祖宗说的`笃学`的必要。