程序员人生 网站导航

研发周报:Google与Facebook的产品研发之道

栏目:互联网时间:2014-09-17 15:15:53

又到大家Happy的时刻了,周六马上就要跟大家见面了。在过去一周里,研发频道有哪些精彩文章值得分享呢:Google与Facebook的产品研发之道、2014年全美最吃香职业TOP100,程序员排第一、Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API等。

1.Google与Facebook的产品研发之道

产品经理在团队中担任怎样的角色?他们的关键工作内容有哪些?怎样才能成为杰出的产品经理呢?原Google、Facebook产品经理、初创企业Cover CEO Todd Jackson多年来的产品管理经验。他表示,开展产品会议及激励团队成员,是产品经理两项重要工作内容。如何出色地完成这两大工作,请阅读该文的简译内容。

Todd Jackson和几位设计师、工程师及Mark Zuckerberg在一个小会议室开始讨论Facebook中News Feed的重设计问题,试图调整Facebook的用户体验,使它看上去更迷人。他们浏览了最近的设计案例,讨论了图片的大小、文本密集度及刚重新设计过的网站导航。之后便陷入一个看起来似乎很微小的问题上:用户名字的显示颜色由蓝色变为黑色。Todd Jackson作为产品经理,知道这个问题要比他们想像得更复杂。

原Google、Facebook产品经理、初创企业Cover CEO Todd Jackson

事实上,Zuckerberg对这个问题有一个简单的立场――用户是Facebook的核心,所以用户的名字应加粗且以蓝色显示。用户是所有内容的中心,他们应该重点突出。而Jackson的团队则有不同的看法:为了更深入地吸引观众,Facebook需要改进,将内容展示放在第一位。

在该争论中,Jackson需“身兼数职”。一方面,他要接受Zuckerberg的意见,一方面,还要拥护他手下的设计师和工程师。他需要全方位考虑所有的方方面面及可能接触到这些变化的用户:内部的用户运营人员、外部的新闻发布人员――更不用说网站的用户了。这就好比事情具有两面性:创始人、高管主要推动产品的改进,而工程师和设计师则负责实现这些改动。

这就是产品经理的处境。从之前在Google担任Gmail产品经理,在Facebook负责News Feed,到现在作为Android创业公司Cover的CEO,他与技术界众多杰出人物共同处理了各种棘手问题。如果说谁擅长平衡多方面的利益,那就属他了。

2.Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API

Joshua Bloch是美国著名程序式设计师。他为Java平台设计并实现了许多的功能,是Google的首席Java架构师(Chief Java Architect)。他也是《Effective Java Programming Language Guide》一书的作者,就是人们常说的Effective Java。本文翻译自Joshua Bloch所发表的一个PPT: How to Design a Good API and Why it Matters。

随着大数据、公共平台等互联网技术的日益成熟,API接口的重要性日益凸显,从公司的角度来看,API可以算作是公司一笔巨大的资产,公共API可以捕获用户、为公司做出许多贡献。对于个人来说,只要你编程,你就是一个API设计者,因为好的代码即是模块――每个模块便是一个API,而好的模块会被多次使用。此外,编写API还有利于开发者提高代码质量,提高自身的编码水平。

优秀API所具备的特征

  • 简单易学;
  • 易于使用,即使没有文档;
  • 很难误用;
  • 易于阅读,代码易于维护;
  • 足够强大,可以满足需求;
  • 易于扩展;
  • 适合用户。

了解了一款优秀API所具备的特征后,一起再来看看如何设计优秀的API,有哪些流程和规则可循,开发者在设计时需要注意哪些事项。

API设计流程中的注意事项

  • 征集需求 
  • 从简短的说明开始
  • 尽早编写API
  • 编写SPI尤为重要
  • 维护切实可行的期望

API设计原则

每个API接口应该只专注一件事,并做好:如果它很难命名,那么这或许是个不好的征兆,好的名称可以驱动开发、并且只需拆分与合并模块即可

  • API应尽可能地轻小:满足需求、对有疑问的地方可以暂时不使用(函数、类、方法、参数等,你可以不添加,但千万不要删除)、概念性的东西比体积重要、寻找一个良好的动力体积比;
  • 实现不要影响API:关注实现细节(不要迷惑用户、不要随便改变实现方式)、意识到具体的实现细节(不要有越权的方法行为,例如不要制订哈希函数、所有的调优参数都是可疑的);
  • 不要让实现细节“泄露”到API(例如on-disk和on-the-wire格式等异常情况);
  • 最小化可访问:设计人员应尽量把类及成员设为私有,公共类不应该有公共字段(包括异常实例),最大限度地提高信息隐藏,允许模块可以被使用、理解、构建、测试和独立调试;
  • 命名问题:应该见名知意,避免含糊的缩写、对同一样东西的命名应该有个一致性的前缀(遍及整个平台API)、讲究对称、代码应该易读。
关于API设计的更多详细介绍,欢迎大家访问原文(附PPT)。

3.2014年全美最吃香职业TOP100,程序员排第一


USNews最新公布了2014年全美最佳职业TOP100,其中软件开发者名列该榜单榜首。

软件开发者的工作充满意义,可以与生活的多个领域接触,待遇优渥,求职不受地域限制,而且大多数岗位不需要研究生学历。

据美国劳工部提供的数据,软件开发者,有时也被称为程序员,这一行的平均年薪为90,060美元,而其中10%顶尖级的程序员年平均收入为138,880美元。

美国劳工统计局(Bureau of Labor Statistics)预计,到2022年,全美将净增近140,000个程序员岗位。

如果你成不了软件开发者,计算机系统分析师则是最佳的选择。该职业主要与科技设计、故障查找以及分析有关。系统分析师的角色将会逐渐演变成“数据科学家”,这一新兴职位因大数据的推动,其需求量猛增。数据科学家通过对大量信息的分析,例如推文、文章以及销售数据,为企业寻找商机。

4.为什么开源企业的开源大旗正在褪色

最近这几年,开源一直是人们比较关注的话题,不过现在也该到冷静下来进行思考的时候了。真正的开源公司已经利用开源赚得盆满钵盈,正因为这样才会有很多仿效的开源公司不断出现,不过有人认为这是一件很愚蠢的事。


开源,贵在价值而不仅仅是源代码

Red Hat公司只把出售源代码当作是一种手段,而不是一种自断后路的谋生方式。在2008年的时候,Red Hat CEO Jim Whitehurst 和 CTO Brian Stevens在接受采访的时候都对Red Hat企业版Linux的订阅给出了定义,那就是:能够给Red Hat带来价值的源头,不仅仅关乎到成本节约问题,还关乎到开放源代码的自由问题。这并不是说Red Hat接下来将会降低开源信息的分量,而是要更加细致的对待开源信息。

目前,Red Hat正在推销它的价值观,而非开放源代码。如果你现在在Google上搜索Red Hat的话,你一定能看到这个公司在大手笔宣传它的开源凭证,就像Twitter公司的开源业务经理Chris Aniszczyk所说的那样:

你在Red Hat网站上所看到的Red Hat现在所做的事情和其他网站一样,正试图将它的价值观融入到产品里,然后销售出去。

5.AMD高级副总裁Lisa Su访华 宣布引领AMD复兴的五大战略

2月20日,AMD高级副总裁兼全球事业部总经理Lisa Su博士在访华的过程中接受了中国诸多媒体的采访。在专访中,Lisa Su博士表示AMD正处在重要的转型中,五年前的AMD和五年后的AMD将完全不同。

AMD高级副总裁兼全球事业部总经理Lisa Su博士

Lisa Su博士,于2012年1月加入AMD,领导团队推动了AMD产品的端到端业务执行,包括战略制定、产品定义及业务规划,确保AMD持续提供业界领先的解决方案。她同时负责推动与软件开发商的联盟与合作,促进完整软件生态系统的发展。在加入AMD之前,曾在飞思卡尔半导体公司、IBM担任重要领导职位。同时Lisa Su博士拥有麻省理工学院电机工程学士、硕士及博士学位,曾撰写超过40本技术刊物,并在2009年获选为电气和电子工程师协会(IEEE)成员。她还于2002年获选麻省理工学院《Technology Review》 100位杰出青年创新者。因为其“学霸”级的强大简历和她的高端职责,Lisa Su博士被业内人士称为AMD的传奇人物。

Kaveri,最适合开发人员使用的APU

本次是Lisa Su加入AMD后的首次访华,她在主题为《成就今日,启迪未来》的演讲中重点介绍了迄今为止AMD推出的最先进且最适合开发人员使用的APUKaveri。Kaveri通过将顶级显卡和计算技术融合在单芯片上,为客户提供了高效的解决方案,带来业界领先的计算体验。

Kaveri APU经过了全面进化,不仅CPU核心架构升级到了AMD最新的“压路机”x86架构,功耗更低,性能更强;而且GPU核心也升级到了AMD引以为傲的GCN架构。配合整体全新的28nm制造工艺,功耗比上一代产品更低。

Lisa Su相信APU将无处不在。2014年,无论是台式机、笔记本、平板电脑,还是游戏主机、服务器、各种嵌入式产品,APU覆盖越来越多的领域。

更多精彩文章,欢迎大家访问CSDN研发频道和CSDN研发频道微博。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐