怎样成为一名“喜鹊”程序员? 转载自宅客学院

我时常在想,软件开发人员在某些方面和喜鹊——一种臭名昭著地喜欢偷发亮的物品来装饰它们巢穴的鸟类非常类似。像喜鹊,从定义上说明软件开发人员是一种异常聪明,又有好奇心的动物。但是,我们非常非常容易因为闪亮的新玩具而分心。

我 一点也不觉得阅读类似Scott Hanselman的《Ultimate Developer Tool list》鼓舞人心。相反,它令人疲劳。软件世界前进的改革步伐是无情的。我们的周围充斥着各种所谓闪亮和新的东西,其概念本身开始瓦解,一遍一遍又一遍 地重复这些陈词滥调,直到它们成为无意义的名词。“闪亮”和“新颖”最终成为平凡,甚至是司空见惯。于是,新颖不再唯一,闪亮也不再有趣。最终,你会厌倦 于无休止地追逐闪亮的新事物。

并不只有我这样认为。Jeremy Zawodny也注意到正在减少光泽的闪亮新事物:

在一年前,我退订了Steve的博客,因为他习惯于写那些令人窒息的时尚玩意儿,喜欢写最新最闪亮的东西——常常一天几次。我看到过太多的人,只是为了跟上这种拍马莫及的炒作速度,而忘记去考虑这些闪亮的最新事物是否真的能对实现宏伟蓝图有所帮助。

Dave Slusher表示同意:

[Robert Scoble]说过,大家发给他的电子邮件太多了,而这些都是无效的公共关系。他建议我们将消息写在他的Facebook墙上。那个时候我已经关注了 Scoble的Facebook,所以我肯定这样的话他说过多次。能Twitter,不要email。能Jaiku,不要Twitter。留言,发信息, 打电话,发邮件,再到不要发邮件,不要打电话。够了!我没有试过与他取得联系,我只是觉得这只一贯的喜鹊,从这个平台讲到那个平台,讲的都是垃圾,让我觉 得厌烦不已。一年多前我之所以放弃TechCrunch,也是因为相同的感觉。我已经厌倦于那些所谓的另辟蹊径——略为不同于当前的做事方式,以及不认可 这种微小的改变值得我们颠覆性地抛弃一切来拥有。我正式宣布放弃追逐更新、更闪亮的事物。

这不仅仅是因为科技新闻是无穷无尽的。也是软件宗教战争潮涨潮落的必然,但是这场战争不断地让我们失望,就像偏离正路的岩石跑到了一条快速流淌的溪流。我敢打赌,David Megginson概括的这个过程听上去非常熟悉:

  • 精英(大师级)开发人员发现有太多平庸的人正在使用其当前的编程语言,于是开始寻找一些能够更好地将他们区别于那些庸庸碌碌同事的编程语言。
  • 精英开发人员不愿走寻常路,于是想要寻找新的、鲜为人知、使用者甚少的语言。
  • 精英的开发人员推动了新语言的发展,他们贡献了代码,编写了多种库等,然后传播新语言。亚精英(高级)开发人员跟随精英开发人员的脚步,也来学习新语言,开辟了书籍、培训等的市场,同时也加速了语言的开发和测试。
  • 亚精英开发人员,往往拥有巨大的影响力(因为精英开发人员往往是孤胆英雄,趋向于独立地工作于研究项目,而不是窝在生产开发团队里),他们会推动新语言在工作场所的发展。
  • 注重定期学习的庞大的开发人员群体然后认为,他们必须购买书籍、参加课程以便于学习一门新的语言。
  • 于是回到开头,精英开发人员发现有太多平庸的人正在使用其当前的编程语言,于是开始寻找其他能够更好地将他们区别于那些庸庸碌碌同事的编程语言。

现在,请你坐好,因为接下来我要告诉你一些坏消息。你对Ruby on Rails感兴趣?那是去年的风向标,我们现在已经朝别的方向行进了。

如 果你认为,从统计的角度来说,绝大多数的程序员还没有体验过任何形式的动态语言——更不用说Ruby——那就太荒谬可笑了。一些动态语言功能已经渗透到了 Java和.NET的堡垒,并逐渐取得了不同程度的成功。这些所谓的思想领袖会在任何人有机会到达之前,离开这座虚拟的废弃城镇。

我 之所以成为一名程序员,是因为我爱电脑,要热爱电脑,你必须热衷于改变。我正是如此。但我认为喜鹊开发人员有时改变自己的手艺反而是一种损害。Andy Hunt和Dave Thomas的看法是,Pragmatic Programmers(实用型程序员)是Ruby中最后一波改变的重要组成部分。

用户不关心你使用的是J2EE,COBOL,还是其他。他们只希望你能提供他们想要的功能。所以,你需要帮助他们发现他们真正需要的是什么,然后一起想象系统是什么样的。

与 其得意忘形或盲目地去。追逐技术的前沿,还不如专注于[用COBOL]为自己或客户建立一个有效的系统。不但易于使用,还易于理解和快速部署。框架使用多 种技术的混合:用于建模的技术,用于代码生成的技术,还有一些可重用的组件,等等。我们工作最根本的是务实原则,目的是为了有效完成工作,而不能仅仅是因 为新颖或时髦就被迷得神魂颠倒。

当我们试图使用全能型应用程序框架来终结其他所有应用程序框架的时候,我们(作为一个行业)就会一败涂地。

不要觉得不够,如果不能用最闪亮,最新的东西装饰你的窝。只要有效,并且能满足你和你的用户,那么谁会在乎你使用的是什么技术?

新事物是美的,它有着一种犹抱琵琶半遮面的神秘感。不要在不知不觉中让追求新的、闪亮的东西成为你的目标。不要成为喜鹊开发人员。有选择性地追求闪亮和新颖的东西,有助于你成为一个更好的开发人员。

时间: 2024-08-01 10:12:00

怎样成为一名“喜鹊”程序员? 转载自宅客学院的相关文章

初级程序猿到大神的晋级之路转载自宅客学院

工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值. 我们现在工作的行业很奇怪.明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发.这种问题存在已久,而且已经越发严峻. 开发者这个行业非常年轻,也面临着很严重的人才短缺问题.大部分的软件开发项目无疾而终,原因是后期开支过于庞大.那些行业里的大佬是怎么建议我们的,他们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题.因为除非我们真正去尝试解决,否则永远不知道哪

你高山仰止的诚意有多大?转载自宅客学院

这个时代对于学 IT 的人来说是幸运的.一个普通的程序员可以相对轻易地找到工作,可以轻易拿到比其他行业高得多的工资,甚至自己创建世界级的企业亦非空想.马云.马化腾等企业家的成功,似乎时刻提醒人们:即便是草莽出身的人,也能通过努力令世界瞩目.马云自己也说过:“如果我能成功,那么中国 80% 的人都能成功”. 美国有科学研究表明,95% 的男人认为自己比其他人聪明.更何况中国人从小就耳濡目染“王侯将相宁有种乎”.“诚如是,则霸业可成,汉室可兴矣”,恐怕无人不梦想着有一天自己便是名扬天下的马云,大有“

医生转行程序员竟然是最简单的?转载自宅客学院

“现在的编程工作就像是对你需要解决处理的部分做科学研究.” ——Gerald Sussman 设计和维护好的软件就像是一个抵制复杂度的永无止境的奋斗过程.任何足够大小的应用程序的代码路径和组件都能迅速成长成令人眼花缭乱的组合爆炸. 一点都不简单. 当部署类似于Heroku和AWS的平台时,单服务器的Web应用程序成为了分布式系统.现代浏览器模糊了客户端和服务器之间的界线.当简单程序在多个CPU内核上运行时,它们就会成为复杂的协调问题.虽然像测试驱动开发等实践和SOLID原则等指导,可以帮助我们模

作为一名新手程序员该怎么成长?

作为一名开发者,自己既笨又没有准备,被老板知道了,我就要被炒鱿鱼了-作为一名新手程序员在刚刚进入到工作领域的时候,经常会有这种想法,这种想法会打击自己的自信心,特别是涉及到写代码的时候. 下面我要介绍一些关于新手开发人员可以提升自己的职业生涯和前景的关键策略,并且能够在工作期间保持一种健康的心态. 无论是你正在智通人才网找你的第一份工作,还是正盯上了潜在的晋升通道,在一定的程度上都需要跟其他开发者竞争,为了可以从中脱颖而出,下面这些关键的步骤可以帮你迈向成功. 1.找一种你喜欢用到工作中的语言.

一名好程序员具备的15个特征

1.令人印象深刻的技术技能 程序员有可能长年累月只使用一种编程语言工作,但如果他最近新增了一门编程语言认证,那么凭借多年的编程经验和新增技术技能,一定会让人印象特别深刻. 2.愿意学习 技术总是在不断发展的,程序员们今天的技术和能力有可能几年后便过时.重要的是程序员要擅于找到自己感兴趣的新趋势并把握参加继续教育学习的时机. 3.调试技能 创建代码只是程序员的一部分工作,当软件不能正常工作时,程序员需要做的是快速有效地找到问题的根源.与其盲目花时间进行修改,程序员更喜欢仔细调查和研究可能出现的问题

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿。那么作为一名Java程序员

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿.那么作为一名Java程序员当然也要保持不断学习的状态才能在这个领域站稳脚跟.那些工作了一定年限的技术人总有一天会感觉到自己遇到了职业瓶颈,这个时候如果你还是安于现状不去学习钻研的话只会被长江后浪推前浪 把你拍死在沙滩上了. 那么该怎么学习呢 ?学习什么呢?系统化的学习工作所需要的是基础知识,而不是到百度或谷歌查资料解决.这样有助于遇到问题后通过相关知识关联分析,也有助于搭建更合理的技术架构,或改进现有技术架构的不足,让知识形成协同效应.

如何成为一名优秀程序员

学了很久的Python一直原地打转,不知道如何学下去,这是很多新手都会遇到的问题. 我记得第一次接触 Python 是 2011 年,在逛网站的时候,无意中看到一篇介绍 Python 的文章,觉得这门语言很有特色,于是想系统地学习一下.怎么学呢,市面的上书籍琳琅满目,一开始你可能不知道看哪本,有两个方法,第一个是去豆瓣看书评,好书口碑一定不错,第二个办法就是问有经验的人,他们能给你最实际的意义.我的建议是入门书最好是能在一周到两周内能完成的,那些大部头书就不适合拿来入门,可以放到后面.入门阶段你

作为一名Java程序员,我为何不在生产项目中转向Go?

前方 作为一名Java程序员,我为何不在生产项目中转向Go?自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript

一名高效程序员应该有的7个习惯

花的时间越多就能写出越可靠的代码吗?不一定.那如何才能写出优秀代码的呢? 提示:懒惰是一个良好的开始哦. Perl 编程语言的原作者 Larry Wall 曾说过,伟大的程序员都有三个优点:懒惰.急躁和傲慢. 为什么这样说呢? 懒惰会促使他们去写一些省事儿的程序来辅助他们或别人更好的工作,这样他们就无需再去回答一些不想回答的问题. 没耐心会激励他们去写一些程序,不等你提出就主动满足你的需求. 傲慢会促使他们写出可靠无误的代码,因为他们不想受到批评和指责. 但是,伟大的程序员也并不总是高效的,那些