搬运文,原文地址: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. beta设计和计划

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 Beta设计和计划 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 ...

  2. Objective-C 中不带加减号的方法

    显而易见的事实是,Objective-C 中,+ 表示类方法,- 表示实例方法. 但看别人代码过程中,还会发现一种,不带加减号的方法. @implementation MyViewController ...

  3. x小结:certutil -hashfile D:\1.exe MD5

    在Win7上,MD5不要使用小写,在Win10上没有这个问题 x小结:certutil -hashfile D:\1.exe MD5certutil -hashfile D:\1.exe SHA1ce ...

  4. Debian 16.04 配置双网卡绑定bond

    Debian 16.04 配置双网卡绑定bond Debian 16.04 bonding多网卡配置 安装负载均衡软件 fenslave root@ubuntu:~# apt-get install ...

  5. Centos7如何安装开源办公软件Libreoffice

    在Centos7安装了WPS,但是用了没两月就出问题,无法正常使用.(准确来说,安装的WPS一直都有各种问题存在,但是没有影响到主要功能也就将就着用,后来是直接输入不了文字) 既然是开源系统,自然而然 ...

  6. linux进阶之网络技术管理

    本节内容 1.      网络七层模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 2.  TCP/UDP (1)TCP面向连接,可靠传输,消耗系统资源比较多,传输速度较慢,但是数据传 ...

  7. MyBatis 缓存机制(十三)

    什么是缓存 缓存就是内存中的一个对象,用于对数据库查询结果的保存,用于减少与数据库的交互次数从而降低数据库的压力,进而提高响应速度. MyBatis 缓存机制原理 Mybatis 缓存机制原理是将第一 ...

  8. Ansible-快速启动

    Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务. Ansible的特点 1.ansible轻量级无客户端agentless,只需要双 ...

  9. pytest - 测试函数的传参:fixture,参数化。必须传入实参

    测试函数的参数只有2个来源:fixture返回,参数化(ddt) 传入的参数必须是实参 pytest - 参数化 在测试用例的前面加上: @pytest.mark.parametrize(" ...

  10. Python+Selenium学习笔记15 - 读取txt和csv文件

    读取txt的内容并用百度查找搜索 1 # coding = utf-8 2 3 from selenium import webdriver 4 import time 5 6 # 打开浏览器 7 d ...