【评论】有多少开发人员是超过四十的?

导读:原文作者Davy Briondavybrion.com上发表的一篇《Thoughts On Developer Longevity》,由国内整理编译《有多少开发人员是超过四十的?》。文中探讨了开发人员是如何规划工作职责、提升自我价值。

文章内容如下:

你知道有几个开发人员是超过40的?对你们当中不少人而言,这个数是0。对你们当中知道一两个超过40开发者的人,我有个问题:他们中有几个人能称得上优秀?如果你知道任何一个超过40的优秀的开发人员,请做一件对你有益的事:向他请教。看看他掌握的那些技术是否还跟得上时代。一旦你做了这些,请为大家做一件事,就是找个地方把他公布出来,因为实际上,在这个行业里并没有多少优秀的老的开发人员(对那些读这篇文章的旧时代过来的人:我尽量表示尊敬和爱戴 )。

出现这种情况有两个原因。第一:绝大多数的开发人员在工作了几年后都转向了管理岗位,一方面是因为他们原本的职业生涯规划就是这样(不管你喜欢与否,很多开发人员仍然认为,作为一个开发人员就该朝着这个方向奋斗),要么是他们因为偶然的原因进入了管理层。对于后一种情况,我们只讨论那些优秀的开发者,他们表现良好,不管交给任何任务都能出色的完成。等进入管理层后,他们绝大多数的时间都是被锁在会议室里,根本没有任何时间剩余来做编程——尽管他们中的有些人很可能更喜欢把精力更多的放在编程上。两种情况中,这些人很快都会失去开发者的身份,早晚的事儿。

第二个主要的原因是,很多具有较长阅历的开发人员慢慢的会认为自己该掌握的知识都差不多掌握了,不再去学习新的解决问题的方法,或者是看看别的开发人员在学什么,自己也跟着学。他们认为自己做过的那些就是一切,任何具有挑战的开发任务都处理过。他们一年又一年的使用着相同的技术和方法,心想着“为什么要去改变一个冠军组合?”。虽然他们的技术方案可以用,也许会非常的好用,但他们的实现方法可能是过时的或效率低的。从这点上看,程序员的品质开始降低,持续的降低,一直到他掌握的技术过期、被淘汰。

我不知道你会怎样,但我对在余下的职业生涯中走这两种道路是丝毫没有任何的兴趣。我希望一直能这样编程编下去,我在其中找到了乐趣,更重要的是,我希望我的技术能够一直更新不过时。我相信我作为一个开发人员贡献出来很多价值,我希望在我变的越来越老时,我仍然能够增加这种价值,把它带给我的客户。不仅仅是通过经验,还有通过时刻把握整个软件开发业的时代脉搏。可问题是:你如何能做到这些?你如何能防止自己变成这种喜欢说“相信我,孩子,20年来我都是这样写的,不会有错”的人?

很显然,我没有一个权威的答案,因为我只是一个具有8年工作经验的开发人员。但是我做了一个简单的计划,我希望它能使我不断的增加自己作为开发人员的价值:

1.让自己感觉无知一旦你认为自己无所不知,你基本就完了,这只会害了你自己、你的客户以及那些不幸的跟你共事的人。相反,要坚持阅读那些比你能干、谈论一些你不能理解的技术的人写的博客和书籍。当你阅读他们的文章、他们的代码时,你会觉得自己愚昧无知。这样很好,这些时候就是你最有可能决定去学习新知识的时刻。一直读下去,直到掌握它们,然后用实践验证你刚刚学到的东西。一遍一遍反复的这样。简言之:让自己感觉无知,这是唯一能保持学习的方法。

2.质询自己的知识和思想,每天在软件开发这种工作上,相当多的知识都有一个有限的保质期。你现在所有用在开发软件上的知识10年后很有可能完全不能用。也许5年后所有的这些知识中有一半你都不再需要。请让我更进一层:半数你现在知道的知识很有可能在5年后成为阻挡你开发出一个优秀软件的负面因素。鬼才知道呢,不是吗?坚持不断的审视自己的知识。所有的方法,模式,实践理论和任何你欣赏的东西,你都需要不断的一次次的更新它们。它们现在还有价值吗?是否有新的事物出现使你对它们的存在形式或环境产生不同的认识?是改变你的思维的时候了。特别是当一两年后某些事物没有任何变化的时候,一定要这样想想…也许是你不再感到自己无知,这可不是一个明智之举。

重申,我不能保证这就是能让开发人员长期保持自己高质量的最好的方法,但我想我正在努力去做。

原文链接:Thoughts On Developer Longevity

译文链接:有多少开发人员是超过四十的?

时间: 2024-09-20 00:21:39

【评论】有多少开发人员是超过四十的?的相关文章

WP7注册开发人员数量超过1.2万

北京时间11月2日晚间消息,据国外媒体周二报道,微软的新一代智能手机平台Windows Phone 7(以下简称"WP7")已经吸引了1.2万多名应用开发人员. 10月11日,微软发布了WP7.10月21日,基于WP7的智能手机正式登陆欧洲和亚洲部分国家.5天后,WP7应用程序商店内的程序数量就达到了1000项. 而最新数据显示,已经有1.2万多名WP7开发人员注册了WP7应用程序商店,准备推销自己的应用程序.本月晚些时候,WP7应用程序商店将正式上线.另据微软数据显示,仅在10月份一

think in java interview-高级开发人员面试宝典(四)

算出num个数内的质数 质数即大于1的一个自然数,这个数可以被1和自身整除,如算出20之内的质数,它们有2,3,5,7,11,13,17,19这样的数字.这道题也是面试过程中笔试常问的一道题. 这道题的其目的在于: 1. 看笔试者的数学还记不记得 2. 看笔试者平时的算法 因此答题有两种. 第一种,通用做法 public class prime { public static boolean isPrime(int num) { for (int i = 2; i <= Math.sqrt(nu

Ruby on rails开发从头来(四十)- ActiveRecord基础(Boolean属性)

一些数据库支持boolean类型,而另一些则不支持,这使得Active Record要抽象boolean类型变得困难.例如,如果数据库不支持boolean类型,有的开发者使用char(1)来替代,而内容使用"t"和"f"来表示true和false,而另外一些开发者使用integer类型,0是false,1是true.即使数据库支持boolean类型,在内部也许还是使用0和1来存储. 在Ruby里,在条件判断中,数字0和字符f都被认为是true值,这就意味着如果你直接

Ruby on rails开发从头来(四十九)- ActiveRecord基础(行数和再加载数据)

Active Record提供了两个方法来获取符合条件的记录的条数:count()和count_by_sql().例如: c1 = Order.count c2 = Order.count(["name = ?", "Dave Thomas"]) c3 = LineItem.count_by_sql("select count(*) " + " from line_items, orders " + " where

Ruby on rails开发从头来(四十八)- ActiveRecord基础(动态查询)

数据库上最常运行的查询莫过于根据指定条件返回符合的结果集,查询可能是返回所有名字为'dave'的订单,或者是某个博客上所有标题含Rails的post,在很多其他的框架和程序设计语言中,你需要创建sql来执行查询,Active Record利用了ruby语言所包含的动态能力来做这些事. 例如,我们的Order Model包含了诸如name,email,address这样的属性,我们可以使用这些名字对应的find方法来查询,例如: order = Order.find_by_name("Dave T

Ruby on rails开发从头来(四十六)- ActiveRecord基础(SQL和Active Record)

想象一下Active Record是如何处理SQL的,我们来看看find方法的:conditions参数,调用的时候像这样:find(:all,:conditions=>-),这里的:conditions参数决定了find方法将返回哪些记录,它相当于Sql语句的where部分,例如,要获取所有的名字为Dave,pay_type为po的订单,我们这样写: pos = Order.find(:all,:conditions => "name = 'dave' and pay_type =

Ruby on rails开发从头来(四十五)- ActiveRecord基础(读取记录)

读取记录包括指定那些特定的数据是你感兴趣的,你给Active Record指定标准,Active Record再返回给你一些对象,其中包含了符合条件的记录的数据. 在一个表中检索数据的最简单的办法就是指定主键,任何一个Model都支持find()方法,该方法支持一个或多个主键值,如果只指定了一个主键,将会返回对应的对象,如果指定了多个主键给find方法,该方法一组相应的对象.注意,当没有任何符合条件的数据的时候,将会抛出一个RecordNotFound异常,所以如果find方法没有抛出这个异常的

Ruby on rails开发从头来(四十四)- ActiveRecord基础(创建记录)

Active Record使得实现CRUD的数据库基本操作变得简单,在下面的几节里我们使用Mysql数据库中的orders表来进行CRUD的操作,这次先看创建(Create). 我们假想有一个Model,名为Order: class Order < ActiveRecord::Base end 在面向对象的模型里,表对应类,表中的行对应类的对象.我们可以通过创建一个类的对象来创建一条记录.对orders表,我们可以使用Order.New()方法来创建一个Order的对象,也就对应了orders表

Ruby on rails开发从头来(四十二)- ActiveRecord基础(主键和ID)

也许你已经注意到了,在我们前面的代码中,数据库定义里都使用了一个integer型的字段id作为主键,这是Active Record的一个约定. 或许你要问,为什么不用订单编号或者某个有意义的列来作为主键呢?使用id作为主键有一个很重要的原因,就是如果使用具有内在格式的主键的话,随着时间推移,有可能其中的规则也会变化.例如,使用ISBN号码来给book表做主键,毕竟ISBN号码是唯一的,但是,有可能当一本书写完后,美国的出版业已经发展了并且在所有的ISBN号码后又附加了一位数字. 如果我们使用了I