搬运文,原文地址:https://div.io/topic/1576

我经常感觉,开发人员很像我们所说的喜鹊,以不停的获取很多小玩意来装饰他们的窝而著称。就像喜鹊一样,开发人员通常都被定义为聪明的、好奇的生物。但是我们太容易被一些时髦的新鲜事物分心。

Scott Hanselman的终极开发工具列表( Ultimate Developer Tool list)不会再使我有新鲜感。相反,它越发使我疲劳。软件开发的改变速度是非常迅速的,而我们太沉迷于一些自身概念就在不断瓦解的新鲜事物,就像一个英语单词如果一遍一遍的不断重复就会变成毫无意义的元音和辅音,新事物最终都会变为平凡常见的,当他们被称为新事物时他们便不会是独一无二的、有趣的。最终,你会厌倦这无止境的新鲜玩意儿。

无独有偶,Jeremy Zawodny也注意到了《新事物的不断黯淡无光》(the diminishing luster of shiny new things):

一年前我退订了Steve的博客,因为他每天不断的更新最新最潮的一些小东西,频率实在是太高了。而我认识中的很多人都被卷入到了这令人窒息的新事物的喧嚣中,而往往忘记了去思考那些新出现的事物在我们的长期发展中是不是真的那么重要。

Dave Slusher也一致同意:

[Robert Scoble]说他收到过太多通过邮件来获取他的PR releases,但这并没有什么卵用。他建议你应该到他的Facebook wall中留言,Dear god and/or Bob… 在我关注Scoble期间,我看到他说了太多类似这样的话:别发邮件、发推特,别发推特、通过Jaiku联系我,在留言板留言、发短信给我,不要打我电话、发邮件给我,不要发邮件给我、不要打电话给我… 真的是够了!我甚至都没尝试去联系过他,我发现我已经厌倦了他高频的从一个平台迁移另一个平台,这简直就是Bullshit!当我一年前抛弃TechCrunch时我也有这样的感觉。我已经十分反感听到用另一种只有细微差别的方法来代替我们现在已经在做的事情,这些细微差别何以能让我们抛弃一切然后奔向它?我正式宣布放弃搜寻一些光鲜亮丽的事物。

不只有永无止境的新技术,而且还有永不消停的软件宗教战争(thousand software religious wars )都使我们疲乏,就像激流中的巨石那么的讨厌。我相信David Megginson概括的这些过程听起来会十分熟悉:

一些顶尖的开发者们注意到太多的菜鸟们都在使用他们正在使用的编程语言,然后他们开始寻找一些新的东西来区分他们更优秀于一些普通的同事。

他们会丢掉一些他们看起来非常烦人的一系列旧东西,从而寻找一种新的、鲜为人知的语言让他们看起来明显成为少数精英部分。

他们开始促进新语言的发展,提交代码,编写框架等等,推广新语言。然而,高级开发者们也跟着这些顶尖开发者们转向新语言,创造一些列的图书,培训等等,并且加速发展着这门新语言。

这些高级开发者对社区有着很大的影响,开始把新语言推向平常的工作中。

大量菜鸟们又开始意识到他们必须去买一些书,上一些课来学习这门新语言。

顶尖的开发者们注意到太多的菜鸟们都在使用他们使用的编程语言,然后他们开始寻找一些东西来区分他们更优秀于一些普通的同事。

希望你安静的坐着,因为我还有一个坏消息给你。你对Ruby on Rails很感兴趣对吗,但它已经过时了,我们已经抛弃它使用新的东西了。

大量主力的开发人员从没有接触过任何一门动态语言,更别说Ruby。但一些动态语言的特征已经慢慢的不同层次的渗透进了Java和.NET的堡垒。这些所谓的思想领袖留下了一座其他人没有机会到达的虚拟鬼城。

我成为了一名开发者是因为我热爱计算机,然而热爱计算机,你必须拥抱变化,然而,我愿意。但是我在想,喜鹊开发者们有时候喜欢通过改变来削弱他自身的技能。Andy Hunt 和 Dave Thomas在2004 IEEE column (pdf)上说的很好:

用户才不关心你是否用了J2EE、Cobol或者一些奇妙的东西。他们只需要他们的信用卡授权被正确的处理,账单被正确的打印出来。你帮助他们发现了他们真正的需求和一个他们设想中的系统。

相反的,被想要艰难登上最新技术的巅峰而冲昏头脑的,Pete正在集中精力为客户构建一个系统(使用COBOL)。它很简单,几乎是简单的最高标准。但是它易用,易懂,可快速部署。Pete的框架混合了一些技术:模型,核心的生成器,可复用的组件等等。他实践了最基本实用原则、什么技术适合用什么技术,而不只是什么最新使用什么。

当我们尝试想造出一个全功能的应用框架来替换市面上所有的应用框架,我们肯定会失望。也许是压根没有这一类大一统的理论。就像后现代主义的其中一个印记:没有宏大叙事,没有大事件来指引我们,相反的,是有许多小的故事而组成。一些人认为,这就是我们这个时代的特点。

别因为自己没有去尝试那些新鲜事物而感到自己不够好。谁会去关心你使用了什么技术,只要它运行的流畅,你和你的用户都满意,这就足够了。

新事物的美丽之处在于:永远都会有新的东西出现。不要让追求新鲜事物无意中成为你的目标。避免成为一个喜鹊开发者。有选择性的追求一些新的东西,你将会发现你会成为一个更好的开发者。

喜鹊开发者(The Magpie Developer)的更多相关文章

  1. Chrome的开发者工具(Chrome Developer Tools)

    Chrome的开发者工具(Chrome Developer Tools) 按F12 https://developer.chrome.com/devtools/index http://www.w3s ...

  2. 浏览器开发者工具Chrome Developer Tool

    开发者工具Chrome Developer Tool https://developers.google.com/chrome-developer-tools/docs/profiles   一直被墙 ...

  3. SAP HANA 开发者中心(Developer Center)入门指南

  4. iOS——关于创建真机调试证书(发布证书,测试(调试)证书,推送调试证书)、iOS开发者账号申请 请用开发者账号去iTunes connect 查看状态

  5. ios开发者到真机测试

    ios就是矫情, 没事搞那么多步奏, 搞得我都不会弄了, 不懈努力后还是弄好了, 总结一下, 避免新人走弯路. 苹果的脾气就是这样, 只能慢慢学了 1.  生成CSR (开发者证书认证请求) 打开钥匙 ...

  6. iOS:开发者中心证书创建流程

    一,首先点击开发者首页(https://developer.apple.com/)里面的Member Center.二,输入开发者账号和密码,点击sign in登录.三,点击Certificates, ...

  7. [iOS]修改开发者中心Bundle Identifier的一些配置

    登录开发者中心https://developer.apple.com 然后找到你的Bundle Identifier. 这里暂时只讲开启推送的功能,如果需要别的直接勾选前面的选择框 然后拉到最下面点击 ...

  8. Chrome开发者工具Debug入门

    译者按: 手把手教你摆脱console.log,掌握高级的debug方法. 原文: Learn How To Debug JavaScript with Chrome DevTools 译者: Fun ...

  9. ios标准开发者账号 ios企业开发者账号的区别总结

    ios标准开发者账号 ios企业开发者账号的区别总结   ios标准开发者项目 1.ios标准开发者项目账号可以发布到app store 2.ios标准开发者项目分为两种:①个人开发者②公司/机构开发 ...

随机推荐

  1. 2020中国大学生程序设计竞赛(CCPC) - 网络选拔赛总结

    1003 Express Mail Taking 题意:有n个柜子(编号1-n),m封信,k号位置有钥匙,现在需要取信封,并且每取一次信封都要从k号位置进行领取一次钥匙,再去有信封的位置领取信封,问最 ...

  2. BUAA-OO-第三单元总结

    面向对象第三单元JML总结 JML理论基础及工具链梳理 JML语言理论基础 JML语言是对于JAVA进行规格化设计的一种表述语言,他能以一种统一化语言,逻辑性强的格式,向程序设计者描述这一方法实现的功 ...

  3. Unreal: Dynamic load map from Pak file

    Unreal: Dynamic load map from Pak file 目标:在程序运行时加载自定义 Pak 文件,并打开指定关卡,显示其中的完整 map 内容 Unreal 的 Pak 文件内 ...

  4. 屌炸天的3D引擎OpenCASCADE的用法及案例(转载之处:)

    What CASCADE? Open CASCADE(简称OCC)平台是由法国Matra Datavision公司开发的CAD/CAE/CAM软件平台,可以说是世界上最重要的几何造型基础软件平台之一. ...

  5. python将控制台输出保存到文件

    python将控制台输出保存到文件   在平时工作中,有时我们需要将控制台输出保存到文件 1.命令行用>覆盖写入和>>追加写入 for i in range(10000): prin ...

  6. Play-book格式写法

    Play-Book playbook的组成 play 角色(主机或者主机组) task 任务,演戏的动作 总结:playbook是有多个play组成,一个play有多个task:剧本由一个或者多个演员 ...

  7. PHP相关session的知识

    由于http协议是一种无状态协议,所以没有办法在多个页面间保持一些信息.例如,用户的登录状态,不可能让用户每浏览一个页面登录一次.session就是为了解决一些需要在多页面间持久保持一种状态的机制.P ...

  8. Spring框架两大核心机制(IoC、AOP)

    IoC(控制反转)/ DI(依赖注入) AOP(面向切面编程) Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件. MVC:Struts ...

  9. C语言编译器开发之旅(一):词法分析扫描器

    本节我们先从一个简易的可以识别四则运算和整数值的词法分析扫描器开始.它实现的功能也很简单,就是读取我们给定的文件,并识别出文件中的token将其输出. 这个简易的扫描器支持的词法元素只有五个: 四个基 ...

  10. C ++基本输入/输出

    C ++基本输入/输出 本文将学习如何使用cin对象从用户那里获取输入,并使用cout对象在示例的帮助下向用户显示输出. C ++输出 在C ++中,cout将格式化的输出发送到标准输出设备,例如屏幕 ...