对你们当中不少人而言,这个数是0。对你们当中知道一两个超过40开发者的人,我有个问题:他们中有几个人能称得上优秀?如果你知道任何一个超过40的优秀的开发人员,请做一件对你有益的事:向他请教。看看他掌握的那些技术是否还跟得上时代。一旦你做了这些,请为大家做一件事,就是找个地方把他公布出来,因为实际上,在这个行业里并没有多少优秀的老的开发人员(对那些读这篇文章的旧时代过来的人:我尽量表示尊敬和爱戴 )。
出现这种情况有两个原因。第一:绝大多数的开发人员在工作了几年后都转向了管理岗位,一方面是因为他们原本的职业生涯规划就是这样(不管你喜欢与否,很多开发人员仍然认为,作为一个开发人员就该朝着这个方向奋斗),要么是他们因为偶然的原因进入了管理层。对于后一种情况,我们只讨论那些优秀的开发者,他们表现良好,不管交给任何任务都能出色的完成。等进入管理层后,他们绝大多数的时间都是被锁在会议室里,根本没有任何时间剩余来做编程——尽管他们中的有些人很可能更喜欢把精力更多的放在编程上。两种情况中,这些人很快都会失去开发者的身份,早晚的事儿。
第二个主要的原因是,很多具有较长阅历的开发人员慢慢的会认为自己该掌握的知识都差不多掌握了,不再去学习新的解决问题的方法,或者是看看别的开发人员在学什么,自己也跟着学。他们认为自己做过的那些就是一切,任何具有挑战的开发任务都处理过。他们一年又一年的使用着相同的技术和方法,心想着“为什么要去改变一个冠军组合?”。虽然他们的技术方案可以用,也许会非常的好用,但他们的实现方法可能是过时的或效率低的。从这点上看,程序员的品质开始降低,持续的降低,一直到他掌握的技术过期、被淘汰。
我不知道你会怎样,但我对在余下的职业生涯中走这两种道路是丝毫没有任何的兴趣。我希望一直能这样编程编下去,我在其中找到了乐趣,更重要的是,我希望我的技术能够一直更新不过时。我相信我作为一个开发人员贡献出来很多价值,我希望在我变的越来越老时,我仍然能够增加这种价值,把它带给我的客户。不仅仅是通过经验,还有通过时刻把握整个软件开发业的时代脉搏。可问题是:你如何能做到这些?你如何能防止自己变成这种喜欢说“相信我,孩子,20年来我都是这样写的,不会有错”的人?
很显然,我没有一个权威的答案,因为我只是一个具有8年工作经验的开发人员。但是我做了一个简单的计划,我希望它能使我不断的增加自己作为开发人员的价值:
让自己感觉无知一旦你认为自己无所不知,你基本就完了,这只会害了你自己、你的客户以及那些不幸的跟你共事的人。相反,要坚持阅读那些比你能干、谈论一些你不能理解的技术的人写的博客和书籍。当你阅读他们的文章、他们的代码时,你会觉得自己愚昧无知。这样很好,这些时候就是你最有可能决定去学习新知识的时刻。一直读下去,直到掌握它们,然后用实践验证你刚刚学到的东西。一遍一遍反复的这样。简言之:让自己感觉无知,这是唯一能保持学习的方法。
质询自己的知识和思想,每天在软件开发这种工作上,相当多的知识都有一个有限的保质期。你现在所有用在开发软件上的知识10年后很有可能完全不能用。也许5年后所有的这些知识中有一半你都不再需要。请让我更进一层:半数你现在知道的知识很有可能在5年后成为阻挡你开发出一个优秀软件的负面因素。鬼才知道呢,不是吗?坚持不断的审视自己的知识。所有的方法,模式,实践理论和任何你欣赏的东西,你都需要不断的一次次的更新它们。它们现在还有价值吗?是否有新的事物出现使你对它们的存在形式或环境产生不同的认识?是改变你的思维的时候了。特别是当一两年后某些事物没有任何变化的时候,一定要这样想想 … 也许是你不再感到自己无知,这可不是一个明智之举。
重申,我不能保证这就是能让开发人员长期保持自己高质量的最好的方法,但我想我正在努力去做。
分享到:
相关推荐
一个良好的简历应该包括以下几个部分:个人信息、职业目标、教育背景、工作经验、技能清单、项目经验、证书和奖励,以及参考人信息。个人信息部分应简洁明了,包括全名、联系方式(电话和邮箱)以及个人网站或...
评分从80%预定时间内完成到超过预定时间20%,反映了开发人员的时间管理能力。 6. 编码注释完整性:注释有助于他人理解和维护代码。评分根据注释的完整性,从完整且易于理解到大量缺失,体现了注释在软件开发中的...
根据目标考核法,分为五个等级:根据客户关注点确定考核指标,并且在开发期间设置几个考核点,设置相应的阶段性目标,根据完成目标情况给出考评的分数。 本标准旨在对软件开发人员的绩效考核标准进行详细的描述,...
首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE、开发框架uikit,还有开发语言objective-c)。对于有一定编程经验的人来说,学习...
从上述内容中,我们可以提炼出几个关键知识点: 1. 大数据与AI生态系统:在企业中如何有效地使用AI生态系统来解决复杂问题,以及如何通过大数据技术来支撑AI的发展和应用。 2. Spark技术中心的作用:IBM重新命名并...
开发过程中有几个注意事项需要特别关注。首先,UG NX插件在运行时对性能要求较高,因此在编写代码时要注重效率,避免不必要的计算和资源消耗。例如,在处理大量数据时,应当使用NX Open提供的高效数据处理接口,而...
### 开发人员手册VSNET开发规范篇 #### 导言 - **目的**:本文档旨在为使用Microsoft®公司的Visual Studio .Net® - C#.Net系列开发工具进行软件开发提供一套标准化指南。主要目的是确保软件开发过程中有一个统一...
根据2009-2010年中国嵌入式开发从业人员调查报告,我们可以深入了解嵌入式行业的发展状况、从业人员的基本情况及其变化趋势。嵌入式软件作为信息技术领域的重要组成部分,其重要性在中国软件产业中尤为突出,占据了...
这些人员的月薪加上来已经超过4、5万人民币了,对于简单的APP,设计、开发加上测试的时间大概需要6到8周,复杂一些的需要8到12周。 三、开发APP的费用 这样算下来,一个简单APP的开发费用就需要6~10万,稍微复杂些...
《J2EE开发编程规范》作为一份全面细致的指南,为开发人员提供了一套系统的编程标准,涵盖了从代码布局到命名约定的各个方面。遵循这些规范,不仅能提升个人编程技能,更能加强团队协作,确保项目的顺利进行和高质量...
解决此类问题通常需要跨部门协作,包括系统管理员、数据库管理员、网络工程师和开发人员,以确保从多个角度进行排查。通过详细记录问题的出现情况、复现步骤和已尝试的解决方案,可以帮助团队更有效地解决问题,并...
通过连续多年的数据收集和分析,他们积累了丰富而全面的数据和经验,为从业人员和企业提供了一个客观、权威的决策参考。 华清远见作为国内嵌入式培训的先驱,他们不仅拥有广泛的学员基础,还通过线上线下的技术讲座...
规范的适用范围包括项目的编码、设计和测试阶段,适用于所有掌握Java语言的开发人员。在遵循规范时,如果遇到特殊情况需要违反规定,应当添加注释说明原因。规范基于Java Language Specification 2.0,尽管随着JDK...
根据给定的文件信息,我们可以从中提取出有关2010-2011年中国嵌入式开发从业人员的重要知识点,并对其进行详细的分析。 ### 一、嵌入式工程师个人基本情况 #### 1. 工作经验 - **数据分析**:根据华清远见2010-...
总之,【系统开发ICO图标】资源对于CS开发人员来说是一份宝贵的素材库,它提供了丰富的图标选择,有助于快速构建专业且用户友好的软件界面,同时在设计和使用过程中,还需关注一致性、易识别性、可适应性以及版权...
从开发角度来看,Android不需要获得开发人员认证,有强大的开源支持和丰富的文档及社区资源。Android设备成本相对较低,并且基于Java语言,具有广泛的开发者基础。 Android系统相较于以往的移动开发平台,使用C/C++...
按照尽早进行测试的原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。就测试过程本身而言,应该包含以s下几个阶段。 -测试需求的分析和确定。 -测试计划。 -测试设计。 -测试执行。 -...