怎样成为技术达人

怎样成为技术达人

作为程序员,身边总是有牛逼的前辈、后辈或者同辈。牛逼的人总是让人羡慕。比如自己苦搞一天的 BUG ,头发快抓掉完了,人家扫上两眼,改一行代码,问题就解决了;比如自己干了十年开发,薪水还不到 10K ,人家才毕业就签了 16K 的合同;比如我要天天辛苦加班工作还干不完,人家嘛事儿不干每天就喝喝咖啡,结果写出来的软件居然比我的稳定多了好用多了。这样的事情太多太多,怎么办?

陈胜起义时说:王侯将相宁有种乎!

作为程序员,面对牛逼的同类,其实我们也可以愤而追之:大丈夫当如是也!

有梦想有追求总是好的,关键是,如何才能牛逼起来耶?

程序员的分类

早上翻看陆其明陆老师翻译的Jeff Atwood的书《高效能程序员的修炼》,里面有一篇文章,名字是《程序员的八种境界》,讲得很好,受益匪浅。不过我打算从另外一个角度为程序员分一分类。

来自古老的儒家经典《论语》的说法:

生而知之者,上也;

学而知之者,次也;

困而学之,又其次也;

困而不学,民斯为下矣。

博主鲁钝,不知道谁能生而知之,我本人是困而学之,而后学而知之。一切从自我出发,窃以为困而学之、学而知之这两类,都可以牛逼起来。有兴趣的话,可以评估一下自己是哪种类型的。

10000个小时法则

迈阿密大学的 AndersEricsson 教授写过一篇论文——《有目的的训练在专业人才培养中的作用》(The Role of Deliberate Practice in the Acquisition of Expert Performance),介绍了他在研究“最好的音乐家”有什么共同点时的发现:卓越的音乐家的练琴时间,没有一个人小于 10000 小时。

2008 年,畅销书作家 Malcolm Gladwell ,将这篇论文写进了他的新书《异类:成功人士的故事》(Outliers: The Story of Success)。

Malcolm Gladwell 概念化了原始论文的结论,宣称存在一个“ 10000 小时法则”(10000 hour rule),即成功至少需要 10000 个小时的投入。

你造吗,这本书出版后,成为《纽约时报》畅销书排行榜的第一名。

10000 个小时法则背后的思想是:真正决定一个人成就的,不是天分,也不是运气,而是严格的自律和高强度的付出

看到这里你可能以为博主扯淡又扯远了……其实不是的,刚开始而已,真正扯的在下面。

我想很多人看过古龙大师的《边城浪子》,里面的主角是傅红雪,傅红雪的绝技是拔刀术。我靠,简单吧。苍白的手,漆黑的刀,刀过人亡,血还没见着刀又还鞘了。这就是傅红雪的拔刀、收刀之术,关键在一“快”字。天下武功,唯快不破。傅红雪的刀,已超越了速度的极限。

可是你造吗,傅红雪是癫痫症患者,资质也仅仅是中等,比起叶开,那是差了一大截,比到处留情的楚香帅,也差了一大截。关键是,傅红雪永远看着都那么苦逼:在苍茫的关外,握着刀,拖着腿,背负着于己无关的血海深仇,在“一入万马堂,刀断刃,人断肠”的歌声里寻觅不是仇人的仇人。

这下扯大发了,其实我想说的是,捡来的孩子傅红雪,资质平庸又身有残疾,结果却炼成了举世无双的刀法,其秘诀非常之简单,卖油翁一言概之:无他,惟手熟尔。要知道,傅红雪被不是妈妈的妈妈每天逼着练一本残缺到只有拔刀式的白家刀法,苦逼地每天拔刀两千次以上,拔了十几年,你试试,要是你拔刀拔十几年,不疯掉的话肯定也能炼成个无影刀什么的。

傅红雪是另一个 10000 小时法则的实例。

我们来对比一下帅到一塌糊涂的钟汉良版的傅红雪与老派功夫帅哥狄龙的傅红雪:

再来一张:

我很喜欢狄龙的扮相,钟大帅哥嘛……

爱是众妙之门

我在前面介绍了“ 10000 小时法则”,当然那只是一个必要条件,不是充分条件。我以为要想让 10000 小时法则有效,还有一个条件。

安·兰德说过:

为了将事情做好,首先你得喜欢做这件事,而不是喜欢这件事情的结果,那仅仅是第二位。

想牛逼的程序员,不能仅仅盯着一个项目干完后的奖金吧,也不能老想着忙过这阵子就可以休息了吧,也不能盼着应用能 Run 就交差了吧……也不能老想着我学了 Scala 就能拿到 20K 的薪水吧……

牛逼的程序员很多是酱紫的:喜欢干,干得牛逼了,收益来了,机会多了。

要说你不喜欢一件事情,有时被逼着也能胜任,但要说你讨厌一件事又能干得出类拔萃,那我不相信,最好你也别让我相信——我怀疑你早晚有一天会人格分裂。

伟大的科学家爱因斯坦(晚年研究神学)说过:“兴趣是最好的老师。”这就是说,一个人一旦对某事物有了浓厚的兴趣,就会主动去求知、去探索、去实践,并在求知、探索、实践中产生愉快的情绪和体验,而这种愉快的情绪和体验反过来又会促使他继续去求知、探索、实践。这样就产生了良性循环。“成为达人”的欲求就会推动着你不断前行。

你爱编程,享受做设计、写代码、解决问题的过程,再遵循 10000 小时法则,那你想不牛逼都难啊。

牛逼的方法论

前面是开胃酸汤,现在到正题了,我们来聊聊一个程序员,要如何才能一步一步慢慢牛逼起来。

编码

毫无疑问,你必须得编码,持续不断地编码,要达到一定的量。

量变会引起质变,但不是必然。

持续编码的结果有两个,一个是达到质变,水平不断提升;一个是重复重复再重复最终麻木。

要哪个?

回顾与思考

要想质变与提升,必须有目的地停下编码!

只编码,不走心,那是万万不行的。不走心的程序员很多,干多少年了水平还和初干时差不多,十年如一日。走心就不一样,走心一日如十年。

我们要周期性的回顾自己,看看以前的代码,分析下现在的设计,看看哪些可以改善,有多少种改善思路……这样就能看出以前的自己与现在的自己这两者之间的差距。如果你觉得自己以前的代码是翔,那恭喜你,你绝对提升了不少。

要回顾以前,还要分析现在。程序员还要经常梳理一下自己的状态,看看我现在都掌握了什么技能,在哪些方向和领域有所成就,再加上对过去的回顾,看看哪些是延续性的前进,哪些是无心插柳,哪些是冤枉路,哪些是意外之喜。这样就会对自己的能力边界有所了解,知道自己知道什么,也知道自己不知道什么,更重要的是,你会发现自己能把什么东西学好用好,还能发现自己为什么可以把这些东西学好,那样你就可以找到自己擅长的方向,做得更好。

回顾了以前,分析了现在,还要想想将来。在技术上,我要在哪些方向继续前行深入挖掘?这点非常重要。我们伫立现在,回首过去,仰望未来,这是上山的姿势啊。哈哈,上山好啊,值得期待的只有前方。

有人说上到山顶就只有下山喽……那,这也是真的,不过,顾城有首诗《避免》可以看看:

你说

你不爱种花

因为害怕看见花一片片的凋落

所以

为了避免一切的结束

你拒绝了所有的开始

作为有追求的程序员,我们不必这样担心吧。只管积累我们的 10000 小时去,只管思考如何有效地利用这 10000 小时去,不但过程是美丽的,将来也会是美丽的。

多学一点点

台上一分钟,台下十年功。那些牛逼的程序员,无一不是付出了比普通程序员更多的精力。

我们在开发时,会接触各种各样的新技术。有时因为项目时间原因,很多技术只能是走马观花的用,解决问题为目的,项目结束了可能就扔一边儿去了。但要想让自己有更大的成长,那我们就应该学多一点,用一分学两分,广里一分,深里一分,不能不求甚解一带而过。对于用过的技术,最好在当时,项目的间隙或者项目结束时,抽时间了解它的背景、长处、机理,让自己对用到的技术都有相当程度的了解。惟其如此,我们的知识面和技术深度,才会随着开发经验而不断递进。

实践新技术

选择或者学习一门新的技术,必须要实践。可以把它应用到工作中的项目,如果工作条件限制,那也要自己定义一个自己喜欢的项目,坚持使用你的新技术做下来。唯有实践,你的新技术才能理解得更为深刻。

知道有那么一门技术,与实际使用过,其间的差异可不止一点。

沟通

很多人觉得程序员比较难沟通,说程序员不会好好说话……你觉得呢?

我想说的是:要想成为牛逼的程序员,沟通一定要过硬!

程序员是干嘛的?不是写代码的,而是解决问题的。

解决问题才是程序员的职责

要解决问题,离不开沟通。

客户会找你,市场会找你,产品经理会找你,UI设计师会找你,开发同事会找你,测试妹妹会找你,老板也会找你,女盆友会因为你的投入与执着爱上你也会在爱上你后因为这些而不断与你争执……

哪一样离得开沟通呢?

当然我不是说程序员要像销售、市场、营销等等岗位的兄弟姐妹们一样妙语生花,其实沟通最重要的是能听懂别人说什么,能把你想说的以对方能理解的方式说出来。至于是妙语连珠还是磕磕绊绊,是语言沟通、眼神沟通还是书面沟通,只要达到目的即可。

有人说我天生不爱说话,跟机器打交道才觉得踏实。其实这没关系,你要找到自己的沟通方式,看怎样才能让别人理解,也调整自己的聆听和理解方式,看怎样才能理解别人说的话。

怎样才能让别人正确理解你的话,怎样你才能正确听懂别人的话,这都需要不断的学习、练习,这方面有很多的书啊视频啊,可供参考。这没什么不好意思的啊,我认识一些朋友,觉得学习说话技巧是很不好意思的一件事儿,好像这样做就说明自己心怀鬼胎就多丢人似的。其实不必,我们的目的不是巧舌如簧地骗取别人的信任然后来谋取利益,我们的目的很简单,就是让别人理解我们也让自己理解别人。

理解沟通模型

沟通这事儿真是一门学问,虽然我在这方面一向鲁钝,还是想以我们程序员的方式,打个比方来说明一下沟通模型。

首先每个人心里都有一个 TCP Server ,监听到某个端口上,等待陌生人或者熟人或者半生不熟的人来访问。

其次呢,不同的人对自己的端口是否开放持不同的态度,OPEN的人就会监听到知名端口,比如80、21、7、13、22、23等等,这样别人就知道我们找这个 OPEN 的家伙说事儿该连接哪个端口。当然,只开放端口还不够,灵慧的人还会慢慢把自己的协议 SHOW 给别人,这样想找他聊天的人就可以遵循这个协议来说,事情就容易多了,双方就都能理解。

还有一些人呢,比较内敛,虽然内心很饥渴,希望别人找自己聊聊天谈谈心,可是不知道怎么把自己的端口开放给别人,或者出于某种原因隐藏了端口。比如他本来是监听到 21 端口上,走 FTP 协议,因为被别人通过端口扫描的方式黑了两次受了点不大不小的伤害,就小心地封掉了 21 端口,把自己的服务挪到了其它端口上,并且也不告诉别人。这就出问题了,别人找不到端口号,怎么和你沟通咧……

还有一些人呢,自己也不知道该监听到哪个端口上,不能有意识的训练自己,今天是 21 ,明天就 80 ,后天又走 37 了,结果不但自己混乱,跟他打交道的兄弟姐妹们也混乱:昨天这么说还挺融洽,今天再这么说他居然翻脸了呢!

这是我们每个人内心的 TCP Server 。其实每个人还有一个 UDP Server ,是为那些夹生的人或者拥有特别标签的人准备的。你可以知道我的 UDP 端口,但是你发消息过来我就不一定搭理你,被拆穿了我还可以说 UDP 协议不可靠,我没收到……。这两个 Server 就是我们每个人身上基本的沟通模型。

最后呢,如果你要想向别人说明你的意图并让别人按你的意图去做某件事,那就要花费精力去研究如何找到对方监听的端口、使用的协议。和 OPEN 的人沟通比较容易,访问 80 端口,走 HTTP 就行了,或者夜半三更FQ过去幽会也能成。而针对那些隐藏了端口和协议的,就要启用端口扫描这种神器,扫到端口,再抓包分析协议,成功的可能性总是有的,只不过费些力气罢了。

用这种模型来解释现实生活中的沟通问题,程序员们就可以释然了:啊哈,原来我给他说的事儿他老不反应,是搞错了端口或者走错了协议。

表达自己

理解了沟通模型,找到了对方的端口和协议,还有一个问题需要解决:你怎么准确地表达你的意图。

对于相当一部分程序员,这是个难题。有的人本身就寡言少语(我是这类的);有的人很厉害,与别人说话时脑子转得比别人快几倍,脑子里转的是长长的带上下文的句子,从嘴里出来后就成了嘎嘣脆的词语,还以为自己说过了别人都能理解;有的人写代码一二三四条理清楚,说话时就比较发散,正说股票呢忽然就转到APEC蓝上了;有的人比较羞涩,大男人说话却声若蚊蝇……总之各类情况都有,你见到的绝对比想到的多。

不管你属于哪一类,要想能顺畅地与人沟通,先要训练自己,让自己可以准确地表达。

我是不会表达的人呢,你看我洋洋洒洒长文千字,其实我不大会说话。不过我要说的是:如果你说不好,那就想办法先写好。

“写”这个事情,比说更容易让人条理清楚,因为写这个过程时间相对宽松,上下文简单,不像与人沟通那样你来我往还要时刻注意话外音整个过程比较复杂。所以,写,是一个很好的锻炼自我表达的手段。写作能训练你表达的准确度。

你可以通过写博客,写日志等等手段,把自己的想法表达出来。然后呢,过一段时间,你能通过写作来表达自己的了,再回头来影响说话,你把嘴上说的当作纸上写的,多练习练习,就能准确的表达自己的意图了。你看人家领导人讲话还需要先打打草稿呢不是,更甚之的还有念稿子的。

找到你的小伙伴

程序员干的是技术活,找到一个谈得来的小伙伴很重要,可以相互促进,消除登顶路上的寂寞。

胡一刀和苗人凤就是好伙伴,两人经常切磋,水平都很高。

可能你需要在不同的阶段找不同的伙伴,最好是找某方面比你牛的人一起研究技术,这样可以学到东西。

或曰:牛人为毛要搭理我撒……

“在你所有的能耐中,至少应该有一样是拿得出手的。不会做很多事情并不可怕,可怕的是没有一件事情能做好。”

要培养自己在某方面的长处,这样就可以互补喽。

其实有相当一部分程序员离职的一个原因是:在这个公司真的太寂寞了,都找不到一个可以讨论技术相互促进的人!

分享

这个,真的很重要,千万别掖着藏着,对待向我们求助的兄弟姐妹,要像春天般的温暖……

此处略去5w字……

时间: 2024-11-05 11:55:28

怎样成为技术达人的相关文章

CSDN日报20170425 ——《私活,是对技术达人最好的点赞》

[程序人生]私活,是对技术达人最好的点赞 作者:littletigerat 简而言之,接私活,是市场经济对技术达人最好的奖赏和点赞. 点击阅读全文 [深度学习]基于卷积神经网络(CNN)的中文垃圾邮件检测 作者:clayanddev 随着深度学习的发展以及RNN.CNN的陆续出现,特征向量的构建将会由网络自动完成,因此我们只要将文本的向量表示输入到网络中就能够完成自动完成特征的构建与分类过程. 点击阅读全文 [Java]Java 爬虫工具Jsoup解析 作者:Smile_Miracle Jsou

技术达人,别成为自己讨厌的那种人

有位北大才女的精彩演讲,值得用心体会. 我是一名法学院的学生,我的每一门课的教授,都曾经在他的课堂上讲过这样一句话,他们常常说:"法律是这么规定的,但是现实生活中--" 现实生活是一种很神奇的生活,在现实生活中,那现尊重规则的老实人,往往一辈子都默默无闻,反倒是那些弄虚作假的人,到最后会名利双收,于是乎,像我这样的年轻人,就经常有那些看着很有经验的前辈过来拍拍你的肩膀跟你说:"年轻人,你还不懂!" 我想问的是:我们年轻人,你能为这个世界做什么? 总有一天,银行行长会

随笔3-永远有批纯碎的技术达人坚持写博客看到这种资料我通常都记录下来

佩服技术大神! 更膜拜能把自己牛叉的技术整理分享出来的大神!在此烧香....,最喜欢成系列的文章,遇到后通常我会记录下来! 以后就记录在这里了! 收藏的技术文章不奢望学会,留着万一用到了呢.... 说明: 1. PY 表示Python 2. JAVA 3. web 表示全栈 更多缩写,懂技术的一看就懂 PY机器学习理论20篇 系列 PY深度学习理论12篇 系列 PY-TensorFlow 19篇 系列 https://blog.csdn.net/xierhacker/article/catego

漫谈程序员系列:怎样成为技术达人

作为程序员,身边总是有牛逼的前辈.后辈或者同辈.牛逼的人总是让人羡慕.比如自己苦搞一天的 BUG ,头发快抓掉完了,人家扫上两眼,改一行代码,问题就解决了:比如自己干了十年开发,薪水还不到 10K ,人家才毕业就签了 16K 的合同:比如我要天天辛苦加班工作还干不完,人家嘛事儿不干每天就喝喝咖啡,结果写出来的软件居然比我的稳定多了好用多了.这样的事情太多太多,怎么办? 陈胜起义时说:王侯将相宁有种乎! 作为程序员,面对牛逼的同类,其实我们也可以愤而追之:大丈夫当如是也! 有梦想有追求总是好的,关

09年的微博,重返技术岗位,沉下心来,弥补5年的缺失

2010年参加工作,在通信,最开始做督导,后面做电信业务集成,种种原因与2011年辞职,进入一家事业单位,做了一名普通的体制内人员,后因学计算机,又返回信息这一行业,然而每天的无所事事,心中一直有一个念头,绝不能这样碌碌无为,于是重回这个行业,在此给自己信息,还记得上学时熬夜写代码,还记得,有一个愿望希望自己成为技术达人,然而,懒惰让我自己慢慢陷入恐惧,年龄和精力,害怕自己做不好这份工作,做一个有梦想的人,相信自己能完成自己的梦想,51cto技术成就梦想,我永远的座右铭,谢谢自己

海量数据框架变迁——阿里巴巴上市背后的技术力量

转自:http://blog.csdn.net/zhongwen7710/article/details/39835425 阿里巴巴的上市,这不仅是商业和资本领域的一件大事,对于技术世界也是如此,在阿里巴巴的30位合伙人中,我们可以看到多位技术人员的影子,比如阿里巴巴集团CTO王坚,小微金融服务集团CTO程立(花名鲁肃),阿里巴巴集团副首席技术官姜鹏(花名三丰),阿里云高级研究员蔡景现(花名多隆),阿里巴巴集团技术保障.安全技术产品部副总裁刘振飞等. 自从人类发明了计算机,技术人的世界就是那么让

软件学院创新计划第一期技术夏令营开始啦!

2014年“创新计划”基地改革后第一期暑期技术夏令营来啦!!经历改革后的“创新计划”不仅拥有大量用来实践训练的项目资源,而且聚集了软件学院大量活跃的技术力量(原AiCre+Sigma+ChasingDream成员),在暑期夏令营的这三十天里,你可以和我们的队员一起研究自己热爱的技术,可以和志同道合的人做一直想要做的产品,还能在最后的产品竞赛中与其它技术达人进行切磋,相信你最终收获的不仅仅会是技术上的飞跃,在这个过程中还能结交到未来一起披荆斩棘的小伙伴,在夏令营表现出色的同学在获得物质奖励(这是一

年过三十,我为什么要学习ios 与安卓App 移动端技术

今天跟我华为的同学谈了一些技术/人生方面的感悟,感觉自己的人生目标及后面的工作/生活有了一个比较清晰的认识与规划. 首先我谈了一下我为什么要学习ios与安卓技术,我其实不想通过这二门技术来提升我的薪酬层次,而是想通过学习,来实现我心中对产品的功能一些想法.这点非常明确.其实现在我已经具备相关的开发人员资源,完成可以实现,但是我感觉他们对电子商务快消品行业经验不足,无法实现我心中的一些功能. 这几个月在广州学习,思考了很多事情,10年的职场生活,我一直任劳任怨的把公司的事情当自己的事情来做,在技术

打破技术的认知边界

自从上篇文章(至关重要的人脉)文章在各个渠道发布之后,收到了很多朋友的反馈.很多的朋友,特别是做技术的朋友就非常的纳闷: 搞技术的平时每天都忙于各种项目,哪有时间去发展什么人脉? 都是屌丝出身,哪有什么人脉可言? 如果找大神,大家不理你:找身边的人,都是屌丝. 以上,死循环!!! 和N多朋友一样,大家都是屌丝,草根出身,都是从山村,农村里面走出来的读书娃.没有什么干爹,更加没有富妈.很多的事情需要自己,也只能靠自己. 很多朋友都非常非常的羡慕有些“技术达人”,认为他们非常会经营人脉,因为他们朋友