作为一个程序开发者,一个技术工作者。大多数人的目标都是成为一个技术专家。当然也有人的目标是成为纯管理者,或者转行业。那么,针对,想成为技术专家的人,他的努力方向应该在哪儿,有什么方法论吗?
首先定义下,什么是“技术专家”。我个人认为,作为技术专家,既要知识面广,也要在某些重要领域足够的深。
所谓广,就是从底层原理到上层建筑,从存储到代码,从开发原则到AI应用,从设计模式到框架搭建。都要有一个成熟的理论体系。起码听了知道,可以参与讨论。可以给出一些中肯的意见。这些都离不开平时大量的阅读和积累,还要定期整理总结、输出。这样才会把各种知识内化成自己的能力。可以不精通,但是知道有这个东西,也知道从什么途径获得更进一步的知识。也知道他的整体策略和思想内核是什么。
所谓深,就是在自己工作核心领域,不仅仅要知道怎么用这项技术,还要知道为什么用,横向比对其他技术的优势和不足,这个技术的实现原理,设计原则,甚至源码是什么样的。可以协助指导手下解决一些难以排查的问题,给出有实质意义的意见。要实现在特定领域的深度,除了多阅读以外,还要多实践,多总结,多输出。输出包括文字的输出、讲解的输出。一定要多亲自参与实践,甚至写代码,看源码,做或者指导重构。从各个角度把这项技术吃透。不仅要熟悉用打过的方面,也要熟悉没有用到过的方面,可能的选项有哪些。
我在校招面试中,发现大部分优秀的人,都有较强的主观能动性,以及明确的未来规划目标。愿意主动话时间在自己的专业上,愿意在学校或者公司多参与实践项目,从而积累实际动手经验。相反,不是那么优秀的毕业生,也正相反,主观能动性差,应付的多,真正实践、思考的少。所以,要真正在某个领域成为专家,其实在很早的时候就可以看出来端倪了。
当然,技术离不开业务。技术的目的是为了用,也就是业务的部分。技术专家的能力划分中,很重要的一部分还包括业务逻辑理解能力,倾听能力,沟通表达能力。如果要分配重要性占比的话,业务能力 - 沟通表达能力 - 技术能力 我会分别分配 40%,30%, 30%的比重。必须有长版,但是不能有短板。

被折叠的 条评论
为什么被折叠?



