28 11月

你能听到我说话吗?不行,我没安装那个应用!

文 / Matthew W. Meyer:软件开发人员,以优等成绩毕业,获计算机科学副学士学位。

编译 / 白云鹏

原文链接:http://www.mwmeyer.com/blog/can-you-hear-me-now/

在过去的10年左右的时间里,无论我们的沟通方式,还是我们的日常生活方式,都发生了很多变化。互联网的普及使人与人彼此联系更紧密,也改变了彼此交往的方式。我们目前正处于数字网络初创期的“淘金热”。我始终将新近的应用程序更新到最新,自称使自己轻松的生活更轻松。

结果是我对技术的现状根本不屑一顾。传统的载波通信技术(语音/短信)有很多方式可以去改进,使之现代化。每次我起身懒洋洋地用手机去回复短信时,都忍不住会抱怨。从技术角度说,我肯定可以做这件事。

软件方面的事情就是有些微妙。MightyText只是提供这类功能的众多应用中的一例。这就不得不说OTT[1]应用的崛起。当电信运营商把持他们的用户来赚钱,而非改进其通信体验时,不计其数的软件公司则腾出手来打造基于这些运营商及整个因特网的“Over The Top”服务。像GroupMe,Viber,WhatsApp,iMessage,Hangouts和Skype。这些只是业内规模较大的参与者。

如果我要跟一位朋友视频的话,那就糟了。我首先要确认对方下载了应用,创建了帐号并且登录,确认正常工作等等。对于电信运营商来说,这个问题似乎很早以前就解决了。而事实上,蹩脚的短信服务仍旧占领主导地位的唯一原因是,它有效保证了每个人很容易访问该服务。

未来的运营商只作为网关的作用越来越明显。无论是当今基于超文本传输协议的互联网,还是未来演变出的什么网络,光纤和光谱为因特网提供了连接。主要的市场资产运营商经过多年的发展,耗费了数百万美元,持有物理基础设置。这也是为什么像AT&T和Comcast这样的公司,初创公司在相同的商业模式下无法与其匹敌的原因。

显然,当电信运营商开发健壮的软件来提高自身服务的同时,他们就无力维护这些基础设施。这样一来,以软件为核心的公司间展开了迅速竞争。遗憾的是,人与人之间的沟通在互联网上一直在演变,传统的语音电话,短信已经被淘汰。

这些以软件为核心的公司没有去和其他竞争者互操作的动机。这对于一个封闭性的企业来说也许是好事,但对于全球性通信公司来说就不太好了。

虽然我觉得满足了互联网富通信(语音,消息和视频聊天)互操作性的某种核心通信标准还可以做得更好,但这不是必须的。我无法在业界提出一套可以解决这些互操作性问题的有力意见。而这对于向第三方开发人员提供API的OTT应用来说,看起来是向正确的方向迈了一大步。

说了这么多就一句话,我主张开放的统一通信。统一通信服务不仅让我轻而易举地在任何设备上进行通信,还可以统一三种主要的通信格式(语音,视频和消息)到一个平台。通过发布他们的协议,维护访问平台数据API,开放的通信服务就能让我选择不同的第三方应用和客户端。

数字通信迫切需要具有互操作性的发展方式,可悲的是,我还没有看到相关迹象。

 

[1]OTT是指”over-the-top”服务,通常是指内容或服务建构在基础电信服务之上从而不需要网络运营商额外的支持。

08 11月

我不想成为真正的程序员

文 / Anas Ambri:就读于加拿大Concordia University,是一位志向远大的软件开发者。

编译 / 白云鹏

原文链接:http://verybadalloc.com/blog/2014/03/18/i-dont-want-to-be-a-real-programmer/

我偶然发现了一篇博文,博主提出了成为一位更出色程序员的方法。据他所述,使用最热门的技术和语言不会使你成为一位更棒的程序员,那只会让你学习新工具。我对此深表认同,感触颇多。就拿满眼已经被开发出的东西来说,我并没有机会参与其中。

我们大致梳理一下:我非常喜欢使用橡皮鸭调试法(Rubber Duck Debugging),三年前,这个过程变成了过山车般刺激的编程之夜,还有第二天调试程序时的沮丧,以及项目结束时聚会的释然。在业余时间,我花费在编码上的几个小时是一个礼拜以来最愉快的时光。我喜欢尝试新鲜事物,乐于在白天多次提交代码,对编程马拉松(hackathon)不厌其烦。总之,我已经尽力尝试了“软件工程”中的许多美味,从嵌入式软件到web和移动应用的开发。

冒充者

然而,像许多其他程序员同胞一样,我感到自己毫无价值。这并不是某一天冒充者综合症(imposter syndrome)让我感觉自己所做的一切都是运气使然。甚至在写上一段文字的时候,我都不禁思考自己可能是自我感觉良好。尽管我已经习惯了这种持续恐惧带来的糟糕感觉,但与之相伴的不悦之感却时常困扰着我。

因为我们都很差劲 

你知道TJ Holowaychuk吗?他被个人崇拜的光环笼罩,很高产,自己一手搞定了Node.js中的很多类库。

如果你有哪一点像我,也想变成一位像TJ Holowaychuk那样出色的人,你要更舍得为掌握新的编程语言付出额外的努力。为一些额外的项目搭上无数的夜晚,并无处不在地讨论这些项目。拥有生活比起献身技艺已经微不足道。为了还未完成的项目坐卧不安。如果你有哪一点像我,那你才是想成为一位真正的程序员。 

真正的程序员

一位真正的程序员,是那种热爱编程并乐意为此付出的人。真正的程序员对编程乐此不疲,不会停下额外的项目。真正的程序员会掌握所有形式的编程方法,并且对自己所喜爱平台的API可以倒背如流。要想成为一位真正的程序员,你必须要沉下心去增长自己的知识和经验,并对此不计回报。

在过去的三年中,我时常梦想成为一位真正的程序员。谁又不想呢?你的代码不仅可以给带来名誉和荣耀,而且可以影响许多程序员同胞的生活。相当一段时间,我感觉自己就像一位真正的程序员。

然而,我学的新东西越多,我就越觉得自己不行。当我与JavaScript语法错误奋战的时候,其他人则在重定义我们编写客户端所使用的方式。类似的问题,我无能为力。无论我花多长时间去探求,我永远不会接近成为一位真正的程序员。

结语

我也许只是正在理顺这样一个严峻的事实,自己是无法成为一位真正的程序员。当然,周围也有很多真正的程序员,他们情愿每周80多个小时的工作量,我感觉这些人愿意将他们的人生投身于编程,我对此钦佩有加。

我?我会继续做自己的事情:尽力在这几个小时内产出更多代码。另外,对成为一位真正的程序员这件事评价也过高;显然,当前最热门的新事物是掌握精益软件开发(lean software development)

http://www.csdn.net/article/2014-05-30/2820031