如何设定自己目标?
技术成长三阶段模型
我们在一个专业领域内的成长,基本上都会经历三个阶段:
1、初级阶段:专项能力的提升
必须先具备某些基础能力,比如从事软件开发工作,要学会某种语言、某个IDE、某种技术框架。
让自己能够迅速搞定一些别人安排给你的事情,体现出你的价值。
2、中级阶段:技能体系的构建
拥有一组技能,围绕某个方向构建了自己的知识图谱,能够用自己的方式来解决问题。
3、融合创新
具有丰富的实践经验,具备了T型知识结构,形成了自己的思维框架和解决问题的框架,能够融合不同领域的知识,组合各种资源,创造性地解决各种问题。
进入这个阶段非常重要的一种标志就是,你遇到问题,不再从下而上去思考(即从技术实现细节来考虑问题好不好实现、拿技术去裁剪问题或重定义问题),而是从实现细节跳脱出来,站到更高的层面,自顶向下去思考、去分析,先运用框架、逻辑去分析真正的问题是什么、问题的目的、问题的现状、如何去解决。搞明白这些之后,你才会沉降到技术层面去考虑实现的选择,而且实现时,你也不会拘泥于某种技术,而是什么技术合适就用什么技术。
给大家分享一些经过验证切实有效的提升策略,你可以拿来直接用。
1、尝试用同一技术的不同模块或API来实现,能让你更了解所用技术。
2、看看你正在用的技术,想想你处在三个层次的哪一层,找到继续提升的空间,去学习、实践。持续这么做,能让你从泛泛的了解、基础的使用,进阶到熟悉、精通。
3、了解和当前所用技术相关的技术,可以拓展你的知识图谱。
4、尝试用不同的技术来实现,能加深对问题的理解,也能淬炼新的技术。
5、看看别人用的技术点、技术栈,尝试了解,能拓宽你的视野。
6、看看同一项目内他人的设计和代码,有助于理解整个项目。
7、尝试新的设计,能加深对问题的理解,更能锻炼自己的架构和设计能力。
8、看看整个项目的需求、设计文档。不要局限于自己负责的模块,这样可以提升全局观和系统观。
9、迭代式重构老代码,迭代式重构可以解决时间不够用的问题。
10、阅读优秀源码,看到好的,思考好在哪里,琢磨自己怎么做到,这样你就会日有寸进,终至千里。
11、参与多个开发项目,参与多个开发项目比阅读开源代码的要求高得多,你要能够理解已有的代码,找到你可以做贡献的地方(issue、feature 等),你的代码要符合该项目的规范,还会被项目owner 或其他成员Review,这些都是非常大的挑战,能让你快速成长。
12、写作技术文章,有利于写作、逻辑思考、讲授、设计等能力的提升,也有利于系统化你的知识。最好的学习方式是输出。
13、讲给别人听,锻炼讲授、演讲、沟通、归纳总结、逻辑思考等能力,对知识的内化与系统化也很有帮助。当你能够把一个知识点讲到别人也能听明白时,你就是真明白了。
寻找目标提升自己,只要你遵循晋级规律,付出一些努力,就可以找到适合自己的提升策略。