87红楼梦尤二姐饰演者张明明,后来拿了加州大学伯克利分校计算机,宾夕法尼亚大学沃顿商学院MBA学位。早期担任甲骨文的软件程序员,后在纽约所罗门兄弟投资银行、美国信孚银行 ,英特尔投资和香港分行的投资银行部门工作。
(Visual Studio / Qt Creator / Android Studio / Eclipse / WebStorm 等)
能理解并完成别人分解好的 叶子任务
的开发
开发和测试环境 需要的
基础语法,有这门语言的 知识地图
高级功能 ,了解这门语言的
API 来实现特定功能
API 之间选择 合适的那一组
辅助工具 进行 调试 和各种
Bug
能自主学习某个新框架的基础 API ,参考 DEMO 完成 某个功能的基本实现
普通和熟练的关键区别
为了搞明白拥有自己的技能体系是什么概念,我们先来看两组概念:
知识、知识体系
技能、技能体系
技能是运用知识解决问题的一系列思维和动作的组合。但这样讲不大容易明白,我们举个软件开发领域的例子。 C++ 中的虚函数是一个知识点,用虚函数这个特性定义模块接口,实现模块的动态加载,就是技能。 ,
知识体系 的关系,技能 和 技能体系 的关系,就像 树木 和 森林 的关系,就像 瑞士军刀上面 小刀、小剪子、小螺丝刀 和 瑞士军刀 的关系。 和
这样打个比方,应该可以体会到“体系”是什么了。
所谓知识体系,就是若干相互联系的、可以用来解决特定场景问题的知识的组合。
Ok,现在回头来看普通开发者和熟练开发者的区别,就简单多了。
离散的知识,但这个知识和那个知识很少关联,他拥有的知识,是散兵游勇。
不关联 时,你在遇到问题时,就很难进行 系统思考,就很难获得解决办法。
熟练开发者,则(被动或主动)经历了 知识点的梳理、整合 过程,把零散的知识点围绕着某个 应用场景 联系起来,形成了知识体系。
场景相关 的问题,就可以快速找到相关的知识,系统的分析问题,最终解决问题。
。
当我们从普通程序员进阶为熟练程序员后,可以进入到下一个话题:程序员如何让自己更值钱——培养稀缺。
合适的环境
合适的时机
举个例子,作为移动 APP 开发者,你可能拥有开发 Android APP 的知识、技能。这些知识、技能,在 2007 ~ 2015 年上半年,尤其是 2013 ~ 2015 年,是稀缺的,很值钱,即便刚刚参加完培训出来,也轻松拿到万儿八千的月薪。但是 2016 年之后呢,现在呢,恐怕很多人都有一种寒意,不但新手难找工作,有三几年经验的也不大敢随便动弹。
再举个例子,一个人有姚明的身高(天赋),放在篮球场上,是稀缺的,值钱的,但这个人进入电商软件公司做前端开发,可能就没那么值钱了,甚至,大家可能会觉得太高大壮的朋友不太适合做开发。
所以,让自己拥有稀缺资源的关键,是识别需要你所拥有的资源的环境和时机。
每个人都可以通过观察环境和时机,掌握某种稀缺资源,从而让自己更值钱。
需求分析
卡位理论
我们先说需求分析,这一点每个人都可以做,只要你会做信息搜集与分析工作即可。简单说,就是你可以到招聘网站上去做数据挖掘,看看哪种技能比较稀缺。
通常来讲,用这种方式,你可以看到有两类人比较稀缺:懂得新技术的开发者和精研某种成熟技术的资深开发者。比如视频处理、图像处理等方向,懂算法的、资深的开发者就很稀缺。这就可能是你努力的方向。
需求分析这种方式具有一定的滞后性。而卡位理论则带有一定的前瞻性。
所谓卡位,是指预判某件事的发展趋势,提前占据必经之路。
下图很好的解释了开发者的卡位策略:
如果你能预判智能手机时代的带来,那你就可能会留意移动端的开发技术,比如 Android 开发或 iOS 开发,在它们刚刚有开发者版本时或者刚开放开发者 SDK 时就介入。
。
以手机为例,以前我们用着觉得慢、屏幕小、颜色不真实,所以CPU、GPU大发展,屏幕大发展。现在呢,你会发现,电池待机时间太短、网速太慢,那么就一定有公司会围绕这些点来布局、改善体验,比如快充、比如共享充电宝、比如 5G、比如生物电池、比如手机耗电优化……都是大家围绕它们做的尝试。
当头号问题解决后,二号问题就会成为头号问题。所以,关注你的身边,发现未被解决的问题、噬需提升的体验,琢磨有什么方式可以满足它们,就可能发现未来的方向,就可能找到卡位点。
即便如此,很多人可能还是觉得自己个人比较难判断大的趋势,所以很难去卡位。其实你并不需要什么事儿都自己判断,你可以跟随一些媒体或专业人士的分析,或者跟随投资趋势(投资者往往有专业的投研团队来分析),从中发现热点,再从热点发现与自己相关联的趋势。
媒体分析方面,你可以关注TechCrunch(中文版http://techcrunch.cn/)、The Verge、VentureBeat、The Next Web、硅谷密探、Product Hunt、Wired、Stack Overflow、Hacker News、CSDN、GitHub、虎嗅、品玩、36kr、极客公园等媒体,上面有很多产品信息、创业信息、技术趋势等方面的文章。
投资方面的趋势,从一些公开的数据中就能分析出来。比如你可以关注 IT 桔子,投中网、投资界,它们的信息很全面,覆盖投融资信息、投资事件、初创公司、产品分析等,里面能挖掘出很多有价值的信息,非常赞。
不过,不论哪种方式,都需要投入时间和精力来搜集信息、分析信息。
追逐新技术
淬炼已有技能,做到出类拔萃
技术是通往稀缺的一种方式,每一种新技术都是为了满足一种稀缺。所以,直接追逐新技术,可以让你靠近稀缺。(反过来,当这种稀缺变成富足,关联的新技术就变成老技术,不再受到追捧,回归常态。)
要追逐新技术,就要用到“如何识别稀缺资源”这部分提到的两种策略,经常性、周期性地分析,看看是不是有新技术出现,看看自己掌握的技术是不是有新的发展。比如你在用 AngularJS,通过分析,就会发现 AngularJS 2 浮现出来了,还会发现 AngularJS 4 也要到来了;再比如你一直用 Python 2.x ,应该在 TensorFlow 出来时就迅速跟进了解,很可能就能拿到通往未来的船票……
。我们保持稀缺性的第二种策略,就对应到后一种需求上。
虽然这两年 Android 开发初学者不太好找工作了,但是资深的开发者,依然比较抢手哇,你去搜索招聘信息,都要求多年 Android 开发经验、大型项目经验。
由此其实也可以看到,任何一种技术方向上,资深的、出类拔萃的人,都是稀缺的。
比如你做了十年视频编码,精通各种视频格式和算法,那一定是非常稀缺的了,而且在未来 N 年都会比较稀缺;比如你精通音频方面的算法,那也会在诸如网络会议、语音通话等领域非常抢手;比如 C++ ,你用到八年以上,并且你的经验对得起这八年,也会成为抢手货……
。
要做到这种稀缺,可以这样:
在已有技术方向持续深耕并关注它的新发展
每半年做一次稀缺性分析,选择一种新技术,掌握它
内容摘自 公众号:程序视界 由 小七 整理发布
今日互动:
你平均一天的写代码行数是多少? 欢迎在留言区留言评论。
更多精彩
老公月入五万的程序员夫人丨70后程序员的启示丨程序员提升外观丨王小波程序员丨我会编程丨七夕表白丨程序员最高殊荣丨程序猿(媛)CP丨祭天丨Python歌词丨特斯拉丨程序媛丨直播丨鄙视链丨敲代码丨404丨结婚丨Facebook丨怎么进BAT丨女友日记丨高逼格指南丨计算机专业丨技能干货丨编程习惯丨陆奇演讲丨自救指南丨周鸿祎谈创业丨