程序员职业规划
Posted 弹指一挥间
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员职业规划相关的知识,希望对你有一定的参考价值。
1.(2-3年)基础素质
毕业头2-3年,是培养基础素质的时候,是把学校学到的理论知识,应用在实践过程中的时候。
1.1 知识面
工作中用到的知识,和学校里学习的知识,往往不大相同,去接触实际用到的技术,解决方案,设计模式,努力扩展自己的眼界,是这个阶段的主要任务。做web开发的,会慢慢得接触到html,css,js等等知识,做后台的,接触到php,java,linux,线程,性能瓶颈等等各类。这个阶段接触的东西比较多,比较杂,同时年纪轻也是学习能力最强的时候。
1.2 解决问题的能力
书上有的东西,不管多难,只要你肯花时间,总归学得来。比较难的是书上没写的东西,需要你自己思考,推理的东西。这些归结到一起,就是你解决问题的能力。这个得通过师傅教,自己总结经验,一步一步的掌握到精华。互联网上有很多专业论坛,网站,会讨论一些程序员遇到的问题,参加这些论坛,参加进讨论,会有很大进步。
1.3 健康心态
心态健康尤其重要,有很多时候,时间紧,任务重,问题多多,间或有些不合理的安排,会导致人心存怨气,挫伤积极性,要慢慢培养自己坚强的心态,不管遇到什么问题,不抛弃,不放弃,迎难而上,抱着遇神杀神,遇佛杀佛的念头,保持信心,问题终究会解决的,事情终究会告一段落的。
毕业3年以后,你知识面也够广了,也遇到了不少的问题,都慢慢解决了,心态上也成熟了,不怕压力,不怕困难了,那这三年就不白干,很充实,很有意义。
2.(5-6年)专业素质
工作到第5,第6年,原来一起毕业的同学们,差异就开始显示出来了。有的人喜欢钻研知识,有的人倾向于走向管理,咱们先说喜欢研究专业知识的人,该是有所成绩的时候。在某些专业领域,该有相当造诣了。以下是几个分类:
2.1 前端
前端是一个概念很大的范畴,包括桌面程序,web程序等等,主要是指跟UI有关的,跟产品长什么样子有关的,针对web来说,成为 html,css,js的专家,熟悉各种js插件,能做出各种效果。
2.2 后端
后端包含的东西也很广,包括服务器,各种应用平台,各类操作系统,总的来说,这部分不关心界面长什么样子,主要关心数据存取如何更好,更快,更智能。学Java的,熟悉各种J2EE组件,熟悉各种框架,平台,了解如何处理大并发的请求等等,这些都是后端。
2.3 数据库
数据库是一门独立的学问,入门容易,深入进去很难,越大的公司,越重视数据库,能够掌握各种性能调优,掌握分布式数据存储,都是一很大的学问,能把这个掌握透了,也是很大的专家。
2.4 移动终端
移动设备方兴未艾,未来会成为主流趋势,掌握在移动开发的关键技术,也是很吃香的,熟悉android,ios等各类系统,熟悉各类终端的性能,优缺点,也是一块很大的蛋糕,要花不少时间研究。
2.5 云计算
人会越来越懒,事情会越来越多交给电脑去处理,所有负责处理事情的电脑会连成一片云,这也是未来发展趋势,掌握云计算的知识,会是很占先机的。
2.6 产品设计
有很多程序员,做了足够多的产品之后,对于如何拿技术实现不大感兴趣了,他们更感兴趣的是,做什么样的产品才能更受欢迎,比如说puja干的活,就是这个。走产品设计,也是一条路。
2.7 其他
计算机技术早已经开枝散叶,发展出无数的小系统,这远不是一篇文章所能描述的,就程序员来说,做杀毒的,做游戏的,做金融的,做哪一行也能出状元。
总的来说,在第6年的时候,如果你喜欢钻研技术,那么你应该在某一领域,有了很高的造诣,对某些技术,非常熟悉了。
3.(5-6年)管理素质
工作到第5,第6年,原来一起毕业的同学们,差异就开始显示出来了。有的人喜欢钻研知识,有的人倾向于走向管理。倾向管理的童鞋,在以下几个领域的能力会凸显出来。
3.1 知人善任
喜欢钻研技术的人,目光往往局限在自己那一个小圈子,不愿意去倾听别人,了解别人,有做管理的潜力的人,刚刚相反,他总是能考虑别人的感受,总是去主动了解别人,什么人有什么脾气,适合干什么事,怎么和他相处,他一直在研究,久而久之,这人的领袖能力就展示出来,你让他安排个什么事情,他总是把合适的人,放在合适的位置。
知人善任,是做领导的第一级别能力。
3.2 善于纳谏
不管你是多聪明的人,你掌握的知识是有限的,手下的人,比你更接触实际,他们的反馈比你脑袋里想的,可能更接近实际。发挥大家的聪明才智,才是最好的办法。这个时候,你一定要放低身价,不要刚愎自用。
有很多管理者,止步于第一阶段,无法再升,原因之一就是他自认为聪明,放不下面子,总觉得我是领导,难道还不如你们小兵聪明吗,不肯民主决策,凡事独断而行,慢慢就会越来越脱离实际。
3.3 协调能力
如果你能够知人善任,同时又肯听大家的意见,那么你已经有了比较好的领导能力,但是想要再提高,还要掌握一个能力,协调能力。
一般来说,凡事有能力的人,都有小性子,典型的一个特征就是不大听话。这乃是正常现象,试想,如果一个人事事听命于人,事事模仿别人,自己哪里还有独立思考的空间?又怎么能聪明起来?
聪明人自负,愚笨人忠直,这是一般规律。
能让自负的聪明人不太过出格,让忠诚的笨人不太受冷落,这是领导者要干的事情。
3.4 决断能力
决断能力是领导者的最后一道门坎,平庸和英明的分水岭,就在这里。
为什么决断能力如此重要呢?
因为你手下十个人,就有十张嘴,就有十个想法,有的人说往东,有的人说往西,有的人喜欢吃辣,有的人喜欢吃鸡,有小人,有君子,有忠臣,有奸臣,听谁的,不听谁的,领导者需要下决定,是非成败,最终都要你一人负责。
严格来说,做管理,比钻研技术要求要更高,因为你牵涉到手下的一批人。一将无能,累死三军,所以做管理的人,学习要更加勤恳,态度要更加恭谨,干程序员到第6年上,如果你侥幸做了管理者,需牢记此理。
4.(10-15年)总结
在程序员这条路上走到第10-15年,不论你选的是专业路线,还是管理路线,都应该熟能生巧了,办事应该像庖丁解牛一样顺畅。作为在这行工作了15年的老牛,后辈们见了都要尊称一声老前辈。
选择专业的,应该是在专业技术方面,有了相当造诣,认识了很多在这一行有名望有权威的专家,光讲各种成功失败的故事,就能讲一箩筐了。
选择管理的,应该是对于各种人际关系相当在行,编织了很大的交际网络,有一批忠诚于你,崇拜你的粉丝。
5.2想要在公司里脱颖而出需要掌握的知识
毕业头2-3年,是培养基础素质的时候,是把学校学到的理论知识,应用在实践过程中的时候。
1.1 知识面
工作中用到的知识,和学校里学习的知识,往往不大相同,去接触实际用到的技术,解决方案,设计模式,努力扩展自己的眼界,是这个阶段的主要任务。做web开发的,会慢慢得接触到html,css,js等等知识,做后台的,接触到php,java,linux,线程,性能瓶颈等等各类。这个阶段接触的东西比较多,比较杂,同时年纪轻也是学习能力最强的时候。
1.2 解决问题的能力
书上有的东西,不管多难,只要你肯花时间,总归学得来。比较难的是书上没写的东西,需要你自己思考,推理的东西。这些归结到一起,就是你解决问题的能力。这个得通过师傅教,自己总结经验,一步一步的掌握到精华。互联网上有很多专业论坛,网站,会讨论一些程序员遇到的问题,参加这些论坛,参加进讨论,会有很大进步。
1.3 健康心态
心态健康尤其重要,有很多时候,时间紧,任务重,问题多多,间或有些不合理的安排,会导致人心存怨气,挫伤积极性,要慢慢培养自己坚强的心态,不管遇到什么问题,不抛弃,不放弃,迎难而上,抱着遇神杀神,遇佛杀佛的念头,保持信心,问题终究会解决的,事情终究会告一段落的。
毕业3年以后,你知识面也够广了,也遇到了不少的问题,都慢慢解决了,心态上也成熟了,不怕压力,不怕困难了,那这三年就不白干,很充实,很有意义。
2.(5-6年)专业素质
工作到第5,第6年,原来一起毕业的同学们,差异就开始显示出来了。有的人喜欢钻研知识,有的人倾向于走向管理,咱们先说喜欢研究专业知识的人,该是有所成绩的时候。在某些专业领域,该有相当造诣了。以下是几个分类:
2.1 前端
前端是一个概念很大的范畴,包括桌面程序,web程序等等,主要是指跟UI有关的,跟产品长什么样子有关的,针对web来说,成为 html,css,js的专家,熟悉各种js插件,能做出各种效果。
2.2 后端
后端包含的东西也很广,包括服务器,各种应用平台,各类操作系统,总的来说,这部分不关心界面长什么样子,主要关心数据存取如何更好,更快,更智能。学Java的,熟悉各种J2EE组件,熟悉各种框架,平台,了解如何处理大并发的请求等等,这些都是后端。
2.3 数据库
数据库是一门独立的学问,入门容易,深入进去很难,越大的公司,越重视数据库,能够掌握各种性能调优,掌握分布式数据存储,都是一很大的学问,能把这个掌握透了,也是很大的专家。
2.4 移动终端
移动设备方兴未艾,未来会成为主流趋势,掌握在移动开发的关键技术,也是很吃香的,熟悉android,ios等各类系统,熟悉各类终端的性能,优缺点,也是一块很大的蛋糕,要花不少时间研究。
2.5 云计算
人会越来越懒,事情会越来越多交给电脑去处理,所有负责处理事情的电脑会连成一片云,这也是未来发展趋势,掌握云计算的知识,会是很占先机的。
2.6 产品设计
有很多程序员,做了足够多的产品之后,对于如何拿技术实现不大感兴趣了,他们更感兴趣的是,做什么样的产品才能更受欢迎,比如说puja干的活,就是这个。走产品设计,也是一条路。
2.7 其他
计算机技术早已经开枝散叶,发展出无数的小系统,这远不是一篇文章所能描述的,就程序员来说,做杀毒的,做游戏的,做金融的,做哪一行也能出状元。
总的来说,在第6年的时候,如果你喜欢钻研技术,那么你应该在某一领域,有了很高的造诣,对某些技术,非常熟悉了。
3.(5-6年)管理素质
工作到第5,第6年,原来一起毕业的同学们,差异就开始显示出来了。有的人喜欢钻研知识,有的人倾向于走向管理。倾向管理的童鞋,在以下几个领域的能力会凸显出来。
3.1 知人善任
喜欢钻研技术的人,目光往往局限在自己那一个小圈子,不愿意去倾听别人,了解别人,有做管理的潜力的人,刚刚相反,他总是能考虑别人的感受,总是去主动了解别人,什么人有什么脾气,适合干什么事,怎么和他相处,他一直在研究,久而久之,这人的领袖能力就展示出来,你让他安排个什么事情,他总是把合适的人,放在合适的位置。
知人善任,是做领导的第一级别能力。
3.2 善于纳谏
能做到知人善任,这个领导已经算是合格了,但是也仅在入门阶段。善于纳谏,才是更高级的水准。
不管你是多聪明的人,你掌握的知识是有限的,手下的人,比你更接触实际,他们的反馈比你脑袋里想的,可能更接近实际。发挥大家的聪明才智,才是最好的办法。这个时候,你一定要放低身价,不要刚愎自用。
有很多管理者,止步于第一阶段,无法再升,原因之一就是他自认为聪明,放不下面子,总觉得我是领导,难道还不如你们小兵聪明吗,不肯民主决策,凡事独断而行,慢慢就会越来越脱离实际。
3.3 协调能力
如果你能够知人善任,同时又肯听大家的意见,那么你已经有了比较好的领导能力,但是想要再提高,还要掌握一个能力,协调能力。
一般来说,凡事有能力的人,都有小性子,典型的一个特征就是不大听话。这乃是正常现象,试想,如果一个人事事听命于人,事事模仿别人,自己哪里还有独立思考的空间?又怎么能聪明起来?
聪明人自负,愚笨人忠直,这是一般规律。
能让自负的聪明人不太过出格,让忠诚的笨人不太受冷落,这是领导者要干的事情。
3.4 决断能力
决断能力是领导者的最后一道门坎,平庸和英明的分水岭,就在这里。
为什么决断能力如此重要呢?
因为你手下十个人,就有十张嘴,就有十个想法,有的人说往东,有的人说往西,有的人喜欢吃辣,有的人喜欢吃鸡,有小人,有君子,有忠臣,有奸臣,听谁的,不听谁的,领导者需要下决定,是非成败,最终都要你一人负责。
严格来说,做管理,比钻研技术要求要更高,因为你牵涉到手下的一批人。一将无能,累死三军,所以做管理的人,学习要更加勤恳,态度要更加恭谨,干程序员到第6年上,如果你侥幸做了管理者,需牢记此理。
4.(10-15年)总结
在程序员这条路上走到第10-15年,不论你选的是专业路线,还是管理路线,都应该熟能生巧了,办事应该像庖丁解牛一样顺畅。作为在这行工作了15年的老牛,后辈们见了都要尊称一声老前辈。
选择专业的,应该是在专业技术方面,有了相当造诣,认识了很多在这一行有名望有权威的专家,光讲各种成功失败的故事,就能讲一箩筐了。
选择管理的,应该是对于各种人际关系相当在行,编织了很大的交际网络,有一批忠诚于你,崇拜你的粉丝。
NOTE:以上说的都是理想情况下的发展路线,在现实生活中,不如意者十有八九。这就好比在民国时期就开始打仗,一直打到解放战争的老兵,虽然有少数幸运儿依靠天纵之资再加上连串的机遇,从小兵打成将军,但是也有不少老兵依然在扛枪。这些浴血奋战了二十多年的老兵,依然值得尊敬,能够经历这么多仗而存活下来,堪称老兵油子,必然积累了大量的实战经验,这些老兵,依然是一笔宝贵财富。
5.了解公司产品制作流程
每个公司的产品制作流程,都是不一样的。
- 了解elgg cv的整体结构
- 了解dragon框架的整体结构
- 了解从pm出发到研发到测试到客户支持的整体流程
- 了解开发代码的流程
- 了解 Fix bug的流程
5.2想要在公司里脱颖而出需要掌握的知识
想要在公司200来人里面,能够让人听到你的声音,需要扎实下一翻功夫,下面的知识,必须要能掌握好:
1.出色的沟通技巧
2.优秀的英语表达
3.对某一个领域专家级别的造诣,比如说你对CSS相当懂,或者你对cassandra相当懂。
4.热心帮助别人,你对别人帮助越多,回馈越多。帮助不限于针对本部门的同事,也可帮助QA,帮助市场部,帮助支持部门
5.多参与各种讨论,只要有时间,就参与进各种讨论之中,贡献自己的思想,学习别人的解决方案。
以上是关于程序员职业规划的主要内容,如果未能解决你的问题,请参考以下文章