转自 :http://www.oschina.net/news/72523/10-years-experience-coding
此人是我眼中的大神,曾经任职EA高级技术,腾讯技术管理,在级别提升后因为厌恶政治斗争,毅然离开腾讯开始创业。
CTO眼中的牛人是什么?
- 有多种解决方案;
- 有架构思维;
- 一专多通;
- 有预判能力;
- 思维不单一;
- 基础扎实;
- 有一些高阶技能;
技术人员分工:
- 前端:
多看别人的效果,别人做出来的模仿做出来,学习新技术,前端技术更新快,需要超级顺速的更新自己的技术
- 后端 (分为逻辑和服务)
- 逻辑
像php,生命周期相对短,变化快,更加需要学习新技术。
- 服务
生命周期长,复用要求更加高,多考虑架构的问题
- 运维
对于运营来说预判能力很重要
- 测试
一个强势的部门,如果不能强制那就不要做测试
铁塔模型和故宫模型
对 于中高级技术来说,有两条技术路可以走,第一条路是成为一个技术的专家,第二条路是成为解决方案的专家,第一条路就试我们所说的铁塔模型,技术很深,优点 就是,立马能有回报,前期容易实现,最后能成为行业专家,很厉害,缺点就是容易倒,受环境影响大,需要有眼光和机缘,比如以前的塞班工程师牛逼哄哄的,但 是塞班幕落的时候塞班工程师就抓狂了,第二种就是故宫模型,这种模型开始的时候看不到成效,不能立即变现,但是到后面会起来,可以在自己的故宫里建立各种 东西,包括铁塔,不太受环境的影响。当然也可以组合成长,先一门技术能独当一面,其他技术也学习,这就是我们所说的一专多通,这就要看自己的选择了。
程序员高手养成:
- 第一:ide炉火纯青;
- 第二:优先考虑有哪些解决方案,不轻易说我不能实现。;
- 第三:熟悉新技术,比如java,可能现在用不到,但需要的时候能用好;
- 第四:一定要形成自己的技术体系,心目中熟悉各种架构,提炼出自己的架构。
职业阶梯
1.代表初级
初级表现为,能实现一些基本的功能,毕业实习期一般为初级,一般一年左右
2.代表中级
中级表现为,功能基本都能实现,有一点点的分装思维,工作效率一般。
3.代表高级
高级表现为,有分装思想,考虑复用,能写出高质量,可复用,可扩展的代码,会一些一些基本的工具提高工作效率,精通一门语言
4.代表大牛
在开始的时候就有表达
5.行业精英
推动行业进步,有一定知名度
对于我们来说,每个人应该都要有成为行业精英的理想,但是我们生下来都是初级的,不论我们现在处于哪一位阶梯,都没有关系,这不一定是你自己的原因,有可能是没有遇到贵人,有可能是在为上上一个阶梯做准备,但是今天我们知道了,希望我们的人不要一直停留在自己阶梯。
从 初级开始,我们每次成长都特别有成就感,比如,写了一个“Hello word”,可以被浏览器渲染出来,再写一个表单,能提交处理信息等,都是一个很有成就感的时候,这时候我们就处于阶梯的平面上,但是我们走着走着,就发 现,自己很无力,比如我想做一个类似utan.com这样的网站,就要学习更多的东西,比如数据库设计、数据库管理、后端处理,服务器部署等(当然 utan应该是多人合作的产物),这时候感觉自己很难提高了,遇到各种问题,踩各种坑,加班、痛苦随之而来,其实这都是正常的,这都是爬到上一个阶梯的必 经之路,当爬的次数多了,就会想用石头垫在脚下,爬到上一个阶梯,当然自身的能力也会成长,就这样上中级,高级,但是要成为 牛人(4),就没有那么简单了,因为可能会遇到各种阻力,或者太滑上不去,要通过我们的智慧上去,比如,如果太滑可以借助防滑手套等等,这个自己体会。
还有一个层级都是行业精英,不是每个人都能成为行业精英的,要机缘,要看以前的路是否扎实,要看以前的选择是否符合发展等一系列因素都会影响我们成为行业精英。
反PMP
项目管理就是一群技术不好的人,又不想放弃技术,就选择做PM,是以前在项目过程中产出的畸形产物,真正的高手是不需要PM的,我们倡导敏捷。
最后是提问环节。
像Android或者iOS开发这种不确定性的技术有必要转型吗?
不一定转型,但是绝不要只关注一个技术,比如做android只做android,做iOS的值关注ios,那就悲剧了,要去学习HTML5等,不知道未来会是怎么样?开放的心态去学习新的东西是正道。
怎么掌握新技术?
有时候行业出现了很多优秀的技术,我们都是知道技术的成长最快的过程是在项目中成长,但是公司没有采取此技术,我们怎么办?
先对技术有一个基本的了解,很清楚,新技术的优缺点,小规模的尝试性的在公司项目中用,最好是内部系统。
边吃饭边培训
来自内部培训,地铁用上手机形成此文,欢迎拍砖。