技术人的误区
是的,程序员往往在技术上“自视甚高”,越年轻的越这样,学了一个XXXX技术然后发现某资深程序员在这方面不熟悉,就会小欣喜的觉得自己比别人强。
上述这段话摘自一个微博知名大V发表的感悟。包括我自己在内,之前也陷入过这样的误区,觉得自己学了某项技术很牛逼,有了巨大的提高。
但是事实并不是这样。简单来说,掌握解决某些问题需要的技术是一名合格的技术人的必备素养。
好比现如今大热的短视频多媒体领域,你学习使用OpenGLES,学会使用AVFoundation,学会写Shader,并不是代表你有多出色,而是你所从事的领域的对你必备要求。如果你掌握不了,对不起,你就被这个领域淘汰了。
同时,以这个话题,我们再稍微延伸开,谈谈跨栈(全栈)工程师。
很多人觉得,技多不压身,多掌握一门是一门。比如所谓的大前端开发者角色,iOS/Android工程师掌握了另一个移动端的开发技能,同时还掌握了前端的开发技能。
如果是个人业余学习兴趣,我觉得值得鼓励,但是如果是以个人成长甚至职场晋升为目的,我觉得这是彻底的南辕北辙。
我在读大学的时候,曾经问过当时我的老师一个问题:老师,如果我作为一名工程师,同时具有强大的艺术美感和产品思维,是不是我肯定能更有优势?
老师当时回答我说:“肯定有优势,但是前提是你的工程师水准要至少大于等于其他人。”
所以,个人愚见,如果以从事iOS为例,如果满分是100分,那么一名水准在90分的iOS工程师,其含金量远远大于70分的iOS工程师附带70分的Android能力。
技术人的判断
这个副标题取得可能略微晦涩,何为技术的判断?简单来说,就是你对你从事的行业,研究的技术有准确的判断。
以最近大火的Flutter为例,很多人都在说其的跨平台性、其潜在的动态化能力。如果仅仅是这样,你觉得一个以dart语言为依托,这个现如今仍有很多局限性的框架真的比React Native甚至国内的Weex值得研究吗?
如果你曾经研究过WebKit,除了其庞大的体系架构外,其令人着迷的一点就是它的核心渲染能力。这不是所谓的理解一些DOM + STYLE在屏幕中渲染对应的图形结构就能解释清楚的,他需要强大的数学和计算机图形学知识做依托,才能在如此繁杂的项目抽丝剥茧直指要点。
而Flutter,以一个这么精简的项目,实现了完整的渲染能力,这才是为什么如此多的人愿意花费时间去研究它的原因。
技术人的成长
最后,让我们回到“技术人的成长”这个标题上来。我觉得技术人的成长体现在三个方面:
閱讀更多 努力的小洋 的文章