搬运文,原文地址: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. multiset容器erase函数的误用

    <从缺陷中学习C/C++>第3章库函数问题,本章主要介绍库函数的使用中会遇到的问题.使用库函数可以降低软件开发的难度,提高代码编写的效率.本节为大家介绍multiset容器erase函数的 ...

  2. 在Visual Studio 中使用git——浏览版本库(七)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  3. [bug] vscode output 输出乱码

    参考 https://blog.csdn.net/qq_34192032/article/details/105077173 https://blog.csdn.net/a19990412/artic ...

  4. Linux 部署 iSCSI 客户端配置(Linux)

    Linux 部署 iSCSI 客户端配置(Linux) 客户端环境 Client :RHEL8 IP : 192.168.121.11 一.测试与服务端的连通性 [root@Client-linux ...

  5. Redis 主从架构搭建

    引言 准备搭建的是主从架构( Master/Slave )中的一主两从模式:其中 Master 为 Redis 的主服务器,主要负责写操作,两个 Slave 为 Redis 的从服务器,主要负责读操作 ...

  6. jsp表单传值后在页面中文显示乱码

    主要通过添加以下代码来实现(前提是其他处的编码都设置成了utf-8): response.setContentType("text/html;charset=utf-8"); re ...

  7. WEB页面下载内容导出excel

    internal class DownloadHandler : IDownloadHandler    {        public DownloadHandler()        {      ...

  8. global nonlocal 闭包构建 变量名解析原则

  9. 关于一类docker容器闪退问题定位

    背景:正在学习docker期间,接到一个任务,通过docker部署一个应用A.该应用A类似于之前部署的应用B,结果很自然地犯了形而上学的错误. 思路:基于dockerfile+docker-compo ...

  10. docker部署安装流程第一版

    docker部署安装流程第一版 1.以Dockerfile的方式进行构建docker 以cloud 新联盟为例 dockerfile from hub.c.163.com/library/maven  ...