个人管理 - 从小工到专家
很多人都会问”个人技能如何快速提高,如何成为专家?“之类的一些问题,《程序员修炼之道》由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,直到代码、架构技术,感兴趣的可以自己去看看那本书,本篇我不做介绍,而更多的是从我自身的一些成长路线和体会来谈,算对自己工作多年的一个阶段性总结,放上来希望即使不能帮助你也不致于误人子弟,如果我的成长阶段能够给你带来一些指导,那就更好不过了。
为何想到写这篇文章——从育儿话题展开
周墨逸小朋友现在快8个多月了,老婆也开始关注孩子教育问题了。她上周读了一本最近很畅销的书《好妈妈胜过好老师》,里面提出“孩子之间的差距其实就是家长间的差距”,而且从小应该养成孩子良好的学习习惯和阅读习惯。老婆觉得这本书的育儿讲得很好,晚上回来也将其中的一些理论跟我探讨,并要我好好想想我是如何修炼的。我以为她是在夸我,而她关心的是我的成功经验能否复制在宝宝身上,让他从小养成爱学习的好习惯,教育他学习的技巧,比如如何阅读啊?如何保持学习的热情啊?如何一步一步达到像爸爸这样自主学习的境界啊?希望我的经验跟老婆及大家分享,共勉一下,同时也献给我那可爱的儿子,希望他长大后也能看得懂爸爸的文章,复制dady的成功哦!
经常有同事或者网上朋友会问我如何能够达到独立架构的能力。这其实也是一个学习的自然过程,而告诉别人该怎么做时,我想还不如拿自己是如何做的告诉别人,因为你要觉得好的你自己就会去做,否则说些自己都没有做的等于欺骗别人,同时也是欺骗自己。在成长阶段,有一种是从入门级到大师级,而我自认为离大师级别还有很远差距,而《程序员修炼之道》中副标题“从小工到专家”倒还适合我,所以本文也就借用了这个副标题,回忆一下我是如何从小工到专家的,希望对项目组相关人员有所帮助。
除了本身工作之外,我一般会在一个时期关注一个主题,本期主要是在个人管理上的思考和总结,基于上面两点,所以也就促成此文。
每个人都要认识到自己是个管理者
《卓有成效的管理者》中把管理者定义为对组织负有责任,能影响组织经营成果的人。从这个定义中我们可以看书,其实人人都是管理者,最基本也算是自己个人的管理者。而作为管理者,就必须卓有成效,而卓有成效又是可以学会的!这也是此书的三个基本观念。本篇不打算对此书做详细介绍,放在这里这是想说明,每个人作为管理者,都可以通过学习实践不断提高,能够学会卓有成效。可以学习的东西很多,如 唐骏在《我的成功可以复制》定义了“ 成功4+1”(4分别代表智慧、勤奋、激情和机遇,1代表性格),而更重要的是我们要认识到管理自己的人不是别人,而是自己。
马斯洛需求层次
上图是人的需求层次理论,从最基本的生理需求、安全需求、社交需求、尊重需求到最上面的自我实现的需求,开发人员其实也是围绕这些需求的。我之所以毕业来到广联达,是因为公司给我们安排住宿,工资比另一个公司多了500元:)工作后凭着自己的努力,也得到了大家的认可,从程序员到开发组长、开发经理、项目经理,后来为了实践自己的一些开发思路以及个人兴趣,成为技术专家,转为平台开发,到现在一直致力于信息系统平台的开发,只要有机会我都会思考如何进一步实践我的想法。
这几个需求层次,我认为影响因素更多的是从外因转向内因的影响,这样符合我的成长。开始工作时,我更多的在意自己的技术学习进度是否能够适应项目组需要,工作几年后希望领导同事认可我,现在我更多的是在结合公司和个人的需要实现自我的一些开发想法,也就出来了OpenExpressApp。
从复用层次看技术发展路线
下图是我对复用层次的一个理解,我的技术之路也是随着这个横轴演进的:
函数/类:1-4年(我的时间仅供参考,如果有人指导,这个时间会缩短很多)
当时会把重复的代码用一个单独的单元或者类来归集,形成了函数/类的方式重用
模块/引擎:5-6年
对工作流引擎、报表引擎等通用模块进行研究,06年6月开始实现报表引擎,9月底完成主要底层功能
框架/平台:7-...年
开始OpenExpressApp开发平台的思考,09年下半年有机会开始实现一部分内容,由于平时关注较多,6月开始,7月底实现了C/S框架基线
以上是对开发技术和方法中重要的概念【复用】的一个理解过程,也反映了我在开发技术上的一个进步,我觉得这个复用技术路线也值得技术人员参考,理解上我相对来说时间比较长,我有些网友工作也就二三年,但是已经具备了这些思路了,所以这个时间就看个人的努力以及大家的工作环境了。
个人管理
我的成长不是因为我聪明,更多的是归功于我的努力和坚持,前一阵子对自己的个人管理的进行了一些深入的思考,感兴趣可以参考一下,后续还准备加上一些听、说等内容。精通学习的人会学习技巧、原理与理论,然后形成一种潜意识。对于多年的坚持学习,我已经把学习作为了一种习惯,但还不够,希望哪天也能领悟潜意识是什么概念。
时间管理
时间是公平的,不可能因为你漂亮你就一天拥有30个小时,除非你是神仙。虽然我们不能定格时间,但是我们可以通过管理自己。这里单独从个人管理拎出来时间管理,是因为前面没有单独写,而时间管理又很重要,并且对时间管理的理解也能说明技术人员的成长之路。
不重要但紧急:0-1年
刚开始工作时,对工作知识的掌握和认识都不够,走运的会有较好的学习环境,不好的只能自己独自学习。由于能力问题,不能独立承担大块的开发任务,这时候做的任务大部分是紧急不重要的,有的还是不重要不紧急的。
紧急而重要:1-n年
工作1-2年后,随着学习和应用的深入,对技术的掌握很不错了,这时候已经成为开发主力,开始做很多重要而紧急的任务了
重要不紧急:??视环境而定
做重要不紧急的事情一般需要公司或者组织的支持,而对什么是重要,什么是紧急的事情上,达成统一理解都比较困难,所以想做重要不紧急的事情只能视情况而定。
技术人员在成长过程中一定需要把事情进行合理的归类,根据自己所处的阶段合理接受所做的事情,不能还处在初级阶段就想着公司给你做重要不紧急的事情。
守-破-离
"创造发展剑招的过程,有守、破、离三阶段。
最初学剑时固须顺从老师所教,把它熟练体会,变成自己的东西,
以后突破老师的教导原则,招式心法,
而如有新的心得,则离开师傅,创成新招。 ”
宫本武藏 《五轮书》
对0-1年技术人员发展的建议 (守)
0-1年属于刚参加工作或者刚加入团队的成员,经验一般都不足,主要发展还是从项目任务需要着手,从需要指导变为能够独立承担任务并担当负责:
会用工作中所用的技术
掌握工作中所用的技术
精通工作中所用的技术
对1-n年技术人员发展的建议(破)
这个时期的技术人员都已经具备一定的工作经验,这是后主要发展是成为项目开发主力,独立承担大块任务
很多人会问如何发展,其实我认为很简单,如果我进入一个不熟悉的环境和工作,从我踏入这一步我就知道我近几年的目标,那就是聚焦与当下,掌握好需要用到的知识、方法和技术,从依赖到独立(参见《高效人士的7个习惯》),逐步成为能够承担任务的人。面试过一些人,都说以后想做架构师,但具体一问,又不知道架构师干什么的!?脚踏实地,从无到有,当你从依赖转为独立后,你自然会找到自己更远的目标和方向。
对工作多年的技术人员发展的建议(离)
经过多年的磨砺,已经掌握的丰富的知识,拥有自己的很多想法了,这个时候需要突破自己,勇于创新,我们需要做的是:在很多情况下将自己定位在一个更高的层次上去看问题,要把自己的视野拓宽,做事时要回归应有的定位。
我的关注方向
下面我画的是软件的几个重要维度(参考BAPO),个人管理系列只是组织中的一部分,OpenExpressApp属于架构的技术架构部分,Scrum属于过程部分。软件是什么?这是我近几年的一个关注方向,不知是否有同道中人?