存档

‘Developers’ 分类的存档

影响计算机算法世界的十位大师

2017年9月17日 没有评论

原文出处: 《程序员》- 范凯 & 马林,原文写于 2006 年

1、伟大的智者——Don E.Knuth,中文名:高德纳

computer-algorithm-master-01

(1938-)算法和程序设计技术的先驱者。Oh,God!一些国外网站这样评价他。一般说来,不知道此人的程序员是不可原谅的。其经典著作《计算机程序设计艺术》更是被誉为算法中“真正”的圣经,像KMP和LR(K)这样令人不可思议的算法,在此书比比皆是。难怪连 Bill Gates都说:“如果能做对书里所有的习题,就直接来微软上班吧!”

对于Don E.Knuth本人,一生中获得的奖项和荣誉不计其数,包括图灵奖,美国国家科学金奖,美国数学学会斯蒂尔将(AMS Steel Prize),以及发明先进技术荣获的极受尊重的京都奖(KyotoPrize)等等,写过19部书和160余篇论文,每一篇著作都能用影响深远来形容。 Don E.Knuth也被公认是美国最聪明的人之一。当年他上大学的时候,常写些各种各样的编译器来挣外快,只要是他参加的编程比赛,总是第一名,同时也是世上少有的编程达到40年以上的程序员之一。他除了是技术与科学上的泰斗外,更是无可非议的写作高手,技术文章堪称一绝,文风细腻,讲解透彻,思路清晰而且没有学究气,估计这也是《计算机程序设计艺术》被称为圣经的原因之一。

2、首席算法官Udi Manber

computer-algorithm-master-02

世界上还有如此奇怪的职位?但是对于Amazon乃至Google来说,这一点也不奇怪。Udi Manber,这位前Amazon的“首席算法官”,现在是Google负责工程事务的副总裁。他研究WWW的应用程序、搜索以及隐藏在这背后的算法设计。在此期间,他与其他人共同开发了Agrep、Glimpse和Harvest等Unix上的搜索软件。1998年,Udi成为了Yahoo!的首席科 学家。2002年,Amazon创造性地给了Udi“首席算法官”的职位,和Udi为Amazon的“SearchInside the Book”搜索项目所做的工作相得益彰。

Udi还因为他所著的Introduction to Algorithms——A Creative Approach而被大家称道。

3、谦逊的长者——Edsger Wybe Dijkstra

computer-algorithm-master-03

1930年出生于荷兰阿姆斯特丹,2002年逝世于荷兰纽南。他在祖国荷兰获得数据和物理学学士,理论物理博士学位,2000年退休前一直是美国Texas大学的计算机科学和数学教授。以发现了图论中的最短路径算法(Dijkstra算法)而闻名于世,1972年因为ALGOL第二代编 程语言而获得图灵奖。“Go To StatementConsidered Harmful”(EWD215)也是被广为传颂的经典之作。除了科学研究之外,他最喜欢做的事情就是教学,被人称作“一天教学24小时”的教授。

且不说Dijkstra算法对计算科学,网络科学发展的深远影响,单从他在1972年获得图灵奖时的演讲“The Humble Programmer”就不得不肃然起敬,在获得计算机科学中至高无上的奖项时,Edgs Wybe Dijkstra仍然称自己不过是一个谦逊普通的程序员,何等胸襟,举世之中几人可比。

4、运筹学大师——George Dantizig

computer-algorithm-master-04

可谓是由父亲一手培养出的天才。George的父亲是俄国人,曾在法国师从著名的科学家Henri Poincar e。他曾经这样回忆自己的父亲:“在我还是个中学生时,他就让我做几千道几何题……解决这些问题的大脑训练是父亲给我的最好礼物。这些几何题,在发展我分析能力的过程中,起了最最重要的作用。”

在伯克利学习的时候,有一天George上课迟到,只看到黑板上写着两个问题,他只当是课堂作业,随即将问题抄下来并做出解答。六个月后,这门课的老师 ——著名的统计学家Jerzy Neyman——帮助他把答案整理了一下,发表为论文,George这才发现自己解决了统计学领域中一直悬而未决的两个难题。

George后来在运筹学建树极高,获得了包括“冯诺伊曼理论奖”在内的诸多奖项。他在Linearprogramming and extensions一书中研究了线性编程模型,为计算机语言的发展做出了不可磨灭的贡献。天妒英才,他于2005年5月13日去世。

5、推动时代前进的人——James Cooley

computer-algorithm-master-05

(1926-)美国数学家,哥伦比亚大学的数学博士,以他所创造的快速傅立叶变换(FFT)而著名,不能不说是意义极其重大,FFT的数学意 义不光在于使大家明白了傅立叶(Fourier)变换计算起来是多么容易,而且使得数字信号处理技术取得了突破性的进展,对于现在的网络通信,图形图像处理等等领域的发展与前进奠定了基础。Fourier变化的意义在于将电能变为了工业的命脉,而FFT的意义更是在于他推动了整个社会信息化的进程。在 IBM研究中心中主要从事数字信号处理的研究一直到1992年退休,同时他还是IEEE的数字信号处理委员会的成员。1980年获得ASSP’s Meritorious Service Award,1984年获得ASSP Society Award以及IEEE Centennial Medal。

6、FORTRAN 之父——John Backus

computer-algorithm-master-06

早年在Hill School学习的时候因为讨厌学习,成绩一踏糊涂而不得不在暑假补课。1943年他在父亲的要求下到维吉尼亚大学学习化学,随后参军、照顾头部受伤的伤员、在医学学校学习治疗,可是最后又都放弃了。不过还好,战后Backus进入纽约哥伦比亚大学学习数学,并于1949年毕业。在毕业前夕,他跑到了麦迪逊大街的IBM计算机中心参观。事情凑巧,和导游聊天的时候Backus谈到自己正在找工作,在导游的鼓励下,他和中心一位主管的面谈,成为了一名IBM?的程序员。

在IBM,Backus的才华得到了施展,发明了人类历史上第一个高级语言——FORTRAN。接着,又提出了规范描述编程语言语法的BNF。这位当年的“差生”终于被整个计算机世界肯定——美国计算机协会于1977年授予John Backus图灵奖。

7、实践探索先锋——Jon Bentley

computer-algorithm-master-07

1974年获得了斯坦福大学的学士学位,1976年获得北卡罗莱纳大学的硕士和博士学位。毕业后在卡耐基梅隆大学教授了6年计算机科学课程,1982年进 入贝尔实验室。2001年退休后加入了现在的Avaya实验室,他还曾作为访问学者在西点军校和普林斯顿大学工作。他的研究领域包括编程技术、算法设计、软件工具和界面设计等等。

他写作过三本编程书籍,其中最著名的就是涵盖从算法理论到软件工程各种主题的Programming Pearls(《编程珠玑》),这其实是他发表过的文章的合集。在这些文章里,Jon从工程实现的角度出发,为程序员们提供了一个个艰难问题的解决方案, 犹如一颗颗闪闪发亮的珍珠。Bentley的珍珠超出了可靠工程学的范畴,利用他的洞察力和创造力为那些恼人的问题提供了独特而巧妙的解决方案。

8、Pascal之父——Nicklaus Wirth

computer-algorithm-master-08

如果说有一个人因为一句话而得到了图灵奖,那么这个人应该就是NicklausWirth,这句话就是他提出的著名公式“算法+数据结构=程序”。这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”——一个 公式展示出了程序的本质。

Nicklaus Wirth,1934年出生于瑞士,1963年在加州大学伯克利分校取得博士学位。取得博士学位后直接被以高门槛著称的斯坦福大学聘到刚成立的计算机科学 系工作。在斯坦福大学成功的开发出Algol W以及PL360后,爱国心极强的Nicklaus Wirth于1967年回到祖国瑞士,第二年在他的母校苏黎世工学院他创建与实现了Pascal语言——当时世界上最受欢迎的语言之一。后来他的学生 Philipe Kahn毕业后和Anders Hejlsberg(Delphi之父)创办了Borland公司靠Turbo Pascal起家,很快成为了将Borland发展成为全球最大的开发工作厂商,这一切都不得不说要归工于PASCAL语言的魅力。PASCAL已经影响 了整整几代的程序员,Nicklaus Wirth的思想还将会继续指引现在和以后的程序员前进的方向。

9、算法的讲解者——Robert Sedgewick

computer-algorithm-master-09

是普林斯顿大学的计算机科学教授。他还是Adobe Systems的一名主管,也曾作为访问学者在Xerox PARC、IDA和INRIA工作。他在斯坦福大学获得博士学位。他的著作包括Algorithm in C、Algorithm in C++、Algorithm in Java等系列书籍,这些都再版多次。“没有人能够将算法和数据结构解释得比Robert Sedgewick更清楚易懂了!”很多读过他著作的程序员这样说。

目前Robert正在研究算法设计、数据结构、算法分析等方面的基础理论。他善于通过数学方法评估和预测算法性能,设法发现算法、数据结构的通用机制,例如使用逼近方法寻找更快速更高效的算法。另外,他还将算法和图形学结合 起来,例如使用可视化方法评估算法效率,算法的图形化模拟,用于出版物的高质量算法表现方法等等。

10、计算机领域的爵士——Tony Hoare

computer-algorithm-master-10

1934年出生于英国,1959年博士毕业于俄罗斯莫斯科国立大学,获得语言机器翻译专业学士学位。1960年发布了使他闻名于世的快速排序算法(Quick Sort),这个算法也是当前世界上使用最广泛的算法之一。

Tony Hoare在取得博士学位后,就职于Elliott Brothers,领导了Algol 60第一个商用编译器的设计与开发,由于其出色的成绩,最终成为该公司首席科学家。从1977年开始,Tony Hoare博士任职于牛津大学,投身于计算系统的精确性的研究、设计及开发。因其对Algol 60程序设计语言理论、互动式系统及APL的贡献,1980年被美国计算机协会授予“图灵奖”。

1999年在牛津大学退学后,Tony Hoare博士被微软剑桥研究院聘请担任高级程序员,从事微软剑桥研究院研究生成果的工业化应用的工作,以及协助其它研究人员进行服务于软件产业及用户的长期基础研究项目。2000年因为其在计算机科学与教育上做出的贡献被封为爵士。

分类: Developers, 数学 标签:

在开源项目中如何学习的主题交流

2017年8月2日 没有评论

2017年7月31日,周一晚上8点30分。Allen带来了主题为《如何在开源项目中学到更多》的交流。以下是主持人如梦初醒整理的问答实录,记录了作者和读者问答的时刻。

内容提要:

  • 开源软件是不是不能卖钱?
  • 维基百科和谷歌好用是好用,但我的经验是,只有你明确了解到一个关键词,去按图索骥的效果才比较好。请问你在搜索的提取关键词上,有什么心得吗?
  • 很多问题在官方文档上有写。可问题在于,有些写得不那么明显的问题,是不能直接找到答案的。还有一些则是属于知识与知识之间暗的部分,新人就是在这里有所缺失,才令他无法直接从官方文档中提取到想要的信息。对这方面的问题,如何通过提问的方式让有经验的人解答?这里的要点是什么?
  • 为什么灰狐网站上可以存在大量高质量的文档,如何收集整理的?
  • 开源软件如何赚钱,以及避免被别人无偿拿走赚钱,心态该如何调整?
  • 如何完整的学习一个开源项目,例如docker,并把它用到工作中?
  • 你参加过哪些比较好的开源会议?一般是在哪里得知这些消息的?
  • 如果要从事开源项目的话,一个人的精力毕竟是有限的,那么如何最大程度吸引其他人也参与到自己的开源项目里?又如何与这些志同道合的开发者建立良好的关系?
  • 把公司项目来源会不会有法律上面问题?
  • 请问开源的界限在哪里?比如我认为一个开源项目中某一个功能实现的思路很好,就在我自己的项目中按这种思路实现了,那这样是否必须在我的项目中注明引用?

问:开源软件是不是不能卖钱?

答:需要根据不同的开源许可协议,你可以在开源软件的基础上集成分发一个商业版本进行销售。如:大数据Hadoop和云平台OpenStack都有多个商业分发版。都在卖钱,而且这些公司活得很好。目前,Apache v2的许可协议商业非常友好。


问:维基百科和谷歌好用是好用,但我的经验是,只有你明确了解到一个关键词,去按图索骥的效果才比较好。请问你在搜索的提取关键词上,有什么心得吗?

答:我大致的方法:使用多个搜索引擎,对比搜索结果,然后整合维基、Twitter、知乎、开源项目文档等信息,并使用wiki和teambition等很多工具帮助我管理相关信息。我个人体会,从我的角度来看知乎可作为维基百科的深度补充。做技术的需要有身翻墙本领。

https://github.com/getlantern/lantern, 蓝灯,可用。


问:很多问题在官方文档上有写。可问题在于,有些写得不那么明显的问题,是不能直接找到答案的。还有一些则是属于知识与知识之间暗的部分,新人就是在这里有所缺失,才令他无法直接从官方文档中提取到想要的信息。如何通过提问的方式让有经验的人解答?这里的要点是什么?

答:我个人体会,首先看官方文档,在这个基础上,再搜索一下有没有类似的问题已经被其它人提及并得以解决。若没有,就自己先动手实践。其实,很多常见问题可通过不停实践加以解决。另外,在选型开源项目时,官方的文档也是一个重要的选型指标。

建议:新人,大家刚接触一个新事物新东西,都会是这个状态。多看文档和多实践、先跳过新人这个阶段。


问:为什么灰狐网站上可以存在大量高质量的文档,如何收集整理的?

答:我收集整理这些文档,有10几年了。当时,只是为了方便自己查找,后来也给大家带来很多方便,就不停做这件事,现在有400多个G的文档内容。举个例子:很多网站下一个ppt,需要注册、积分等,灰狐网站上的所有信息,全部可以直接访问和下载。我会注意版权方面的问题,收集的都是自由、开放的资源。


问:开源软件如何赚钱,以及避免被别人无偿拿走赚钱,心态该如何调整?

答:开源了,就保持开放心态。有人用、有人clone分支、拿去赚钱,你应该感到开心。这个时代变了,好的开源软件太多太多,有人看上你的开源项目,你就开心吧。我经常给自己和团队成员讲,有人关注和使用你的开源软件,是给你脸、给面子。想想看,一个开源软件无人问津是痛苦的一件事,就像一个大姑娘走出去没人搭理一样。

开源软件如何赚钱,学习Redhat、OpenStack和Hadoop商业公司的做法。在开源软件的基础上做商业版、企业版,深耕领域,做好服务。若个人,就做相关服务、插件、扩展、皮肤等。如:网站Theme就是一个不错的商业模式。最近很好的王者荣耀卖皮肤的商业模式,你可借鉴,给开源项目更好用的交互界面和样式等。


问:如何完整的学习一个开源项目,例如docker,并把它用到工作中?

答:开源项目最好的学习过程就是把它用起来,因为在用的过程中能发现很多问题,公司现在没用,就自己先实验。

我个人的学习一个开源项目路径:先拉通看遍文档、安装环境、读源代码、做笔记、找一个应用方向做实践;推动自己所在公司采用此项目,进行更大规模的实践。若自己时间充裕,可参与项目,补充文档、中文翻译、Bug提交等等。


问:你参加过哪些比较好的开源会议?一般是在哪里得知这些消息的?

答:因为我在成都,若成都有相关的开源会议,我基本都会去参加。因为喜欢,多交些朋友。北上广,开源会议很多,最近刚结束的OpenStack中国就非常棒,估计群里有人刚参加过。

信息来源:infoq、开源中国、微信公众号(搜自己感兴趣的开源项目,有关活动它都会推)等。


问:如果要从事开源项目的话,一个人的精力毕竟是有限的,那么如何最大程度吸引其他人也参与到自己的开源项目里?又如何与这些志同道合的开发者建立良好的关系?

答:首先,你的项目有好的发展方向,先搜索一遍开源圈,不要重复发明轮子。你也可考虑在一个不错的开源项目基础上做扩展和增强,不用从零做起。从零做起,时间周期很长。开源项目很讲究社区运营,这里有一些参考:OpenStack,Apache,Python等基金会运做方式。个人建议,先让自己参与一个存在的开源项目里,做贡献,最后成为commiter。然后熟悉整个过程后,再启动自己的开源项目,这样项目容易成功。

若你做Java,想努力成为一个很不错的开发者,可参与到Apache基金会的一个项目,有近100个Java项目,可选择一个,从bug提交、文档、测试环节入手。不要从Apache热门项目入手,可先从一个稍微冷一点的项目入手。

把这些开发流程和社区运营理顺后再考虑。另外,还有要根据自己特点和优势,若编码很厉害,就努力成为已有项目的开发者也是不错的发展方式,不一定一定要自己启动一个开源项目。开源项目要成功运营也很重要,而你擅长编码就做开发者。


问:把公司项目来源会不会有法律上面问题?

答:若公司内部项目都是自己公司的就不存在法律问题。若有其他公司的版权就存在,这也是当时OpenSolaris迟迟开源的一个重要原因。公司若开源,选择Apache v2许可不错,它商业很友好。


问:请问开源的界限在哪里?比如我认为一个开源项目中某一个功能实现的思路很好,就在我自己的项目中按这种思路实现了,那这样是否必须在我的项目中注明引用?

答:若有代码引用,就注明遵循许可协议。若是借鉴思路,为表感谢,可在项目中写明从何处借鉴。一个基本思路:就是尊重开发者和原作者。相互尊重、彼此信任,能更好的推动开源项目发展。多泡泡Debian,OpenStack,Apache,GNU等社区,多感受下。

Wolfram:可以真正改变世界的编程语言

2015年8月2日 1 条评论

开发出著名数学软件Mathematica和知识型搜索引擎Wolfram Alpha(Siri的幕后技术)的英国数学家Stephen Wolfram宣布,他们终于开发出了一种将“世界握在手中而人人都能使用”的编程语言Wolfram,可以颠覆大众对编程的所有概念。

Wolfram 语言:

专门面向新一代程序员,Wolfram 语言有大量内置算法和知识,所有这些都可以通过它简练统一的符号式语言自动获取。Wolfram 语言的设计原理清晰灵活,从小规模扩展到大规模程序,可通过本地和云端, 实现小规模到大规模程序扩展的即时部署——并且以超过25年的开发历史为基础——创造世界上最有效率的编程语言。

官网:http://www.wolfram.com/language/

分类: Developers, 数学 标签:

互联网组织的未来:剖析GitHub员工的任性之源

2015年1月5日 没有评论

原文地址:意启部落  作者:滕振宇

socialite

如果有这么家任性的公司,没有所谓“经理人”这一层,人都在做自己喜欢的事情,并且创造价值,而其他的事情,就顺其自然让他发生。这里能节省多少官僚主义带来的浪费?这样的公司得跑得有多快?得有多少无谓的冲突消解于无形?能形成多惊人的创新文化啊?

GitHub就是一家尝试无线趋近这种理想主义的公司!程序猿(媛)们应该都知道GitHub,GitHub是一个开发员的协作平台,截至2014年统计,有超过340万用户,而且正在迅速商业化。

GitHub是一家建立在开源软件上的私营的盈利公司,但是整个运作过程中,他们都在实践开源协作的精神——整个公司都倡导志愿工作。还是不明白到底怎么玩的?且听我给你解释。

开放式工作分配

大多数公司工作都是这么安排的:公司高层想到一个项目,于是经过立项,财务预算,及人员调配之后,自顶向下把项目分配到各个团队和业务单元。在GitHub可没这样,他们的人采用“开放式工作分配”的方式——人自行解决自己项目分配的问题,他们把自己分配到自己想做的项目上去,用不着任何正是的申请或者管理层干预。

您得吐槽了,GitHub才多少人啊?就175个员工,当然玩的转这种方式了。不过您瞧瞧Valve软件[回复公众账号ORG004查看],他们有400员工,而公司毛收入达100亿美元,Valve的组织形式跟GitHub非常接近。这总可以说明点什么事吧。

为什么要说公司的结构?

古时候刀耕火种的人们就在思考,用自己过剩的产能能做点啥第二第三产业?比如,打猎之余,种点庄稼,缝点衣服啥的拿到集上去卖。有人做过研究了,那些过剩的产能中,最有可能造成影响的,是人脑子里面那些过剩的创造力!

于是Google著名的20%的时间可以做点业余项目。有个叫克莱·舍基的人,写了一本书,书名叫《认知盈余-网络时代的创造与繁荣》,他有个观点,闲暇时间给人机会创造有价值的东西。

直观上,这简直是胡说,就把人放到那里,从头到尾做他自己想做的事情,然后他就自然而然创造价值了?您心里估计在犯嘀咕,要是把那谁谁谁放到这里,她估计得7*24小时逛淘宝。

不过,事实证明,这样的工作条件,对于那些有创造力的人确实有诱惑。比如说,有个叫Chrissie Brodigan的UX研究员,她有套测试方法叫Deprivation测试,以前是做火狐的用户体验评估的,就决定加入GitHub了。

GitHub的员工反馈,说他们被开放式工作分配这种方式吸引,主要还是因为它没有什么边界——这些人喜欢自由选择跟自己气场相投的人一起做一些很酷的东西。他们甚至可以一起设计自己的可编程办公室。

创新的四大难题

有人得说了,这玩意真费事,搞这么乱干嘛,我才懒得管那些呢,公司告诉我做啥,我给他保质保量做好不就行了?

我们得说,这个论点在有些行业当然是行得通的,比如前些年,在广东,浙江一带,有很多制衣厂,对于一个有资深制衣行业背景的人而言,如果你有明确的目标,比如目标人群,衣服的款型,销往哪个区域,这些能确定之后,他就能告诉你需要投多少钱,建多大规模的流水线,招什么样的技工,甚至每个环节的技工该做什么。

不幸的是,今天,公司如果需要存活相当长一段时间的话,就需要面对未知的创新:如何创新?如何让这样的创新可以反复发生?传统公司会建立一个独立的”创新部“,这里的人负责创新,而其他的人更像在制衣厂工作。GitHub则不一样,他们把全公司都设立在一种以创新为核心的工作模式上的。这么做,是考虑到了让一批人能够持续不断成功创新的四大难题:

  • 管理注意力:一般组织的设计,主要目的是基于已有的成功,一方面坐享其成,另一方面保护既有成功,而不会专注于开拓新点子。

  • ​步调一致:一般创新点往往来源于个人或者小团体,而执行往往要倾尽全公司之力去做。而由于种种原因(比如政治,社会因素),让剩下一大群人都买账很难。

  • 让人共同工作:当新产品和服务开始结果了,人、想法、交易都会快速增长,于是要招更多的人。这样一方面人就更容易掺和进来做事,同时也更容易导致一些人只见树木不见森林,对愿景和当前的情况没有整体把握。

  • 僵化的管理:有些创新着实是需要组织结构和管理方式能够从根本上改变的,而大多数公司的基础结构没这么灵活——这直接导致了组织结构难以跟创新保持同步。

GitHub的结构到底是怎么样的?

沟通!沟通!沟通正是开放式工作分配的核心要素。换句话说,GItHub公司的结构就像是一张分布式的信息传递网络,网络上传递的是公司的目标,以及公司如何工作,当然也包括它应该要做些什么。

创新公司的策略是不断调整的,而对于某一时期这些调整增量,让所有人的认知保持同步至关重要,否则有些微小的调整很难到达某些单元或者团队,当有些团队没有做出相应的调整,而最终累积到一定的时候,不同团队之间的就形成了鸿沟般的认知差距。你得说了,这没什么啊,我看到的公司都是这样的。举个例子,上个世纪80年代的时候,乔布斯带着一帮人,做成了比较成功的Macintosh,另一支团队则哼哧哼哧鼓捣出来Apple III,Apple III大家都懂的。

良好的沟通,也可以帮助团队发现一些新的,或者相关的商机。举个例子,在这张网络里面,如果有一个新项目很酷,在网络里面传导到公司的高层了,高管们就可以利用这些信息修正航向,而修正的结果同时又通过网络传到各个单元,让他们明白,”某某项目“现在开始帮助实现公司的商业了。

这怎么玩得起来?

1. 让人自己选择自己感兴趣的事情

GitHub首先得弄清楚,自己作为一家公司,到底什么是最重要的,并把这些体现在公司的策略上。然后每个团队都应该做类似的事情,“这是公司的策略,这是我们的产品,那对我们团队,什么最重要?”,销售,技术支持,运维等团队都做了这样的事情,他们把自己团队的目标和公司战略目标做了匹配。而前面说到的信息网络,让这种组织形式更加高效。

团队找到了工作重点,个人也要找自己的兴趣点,探索自己的兴趣跟这些策略的契合点,并把自己分配到那些能贡献的重要的事情上面去。所以,对个人来说,只要是对公司重要的事情,自己又有强烈的兴趣,就可以决定去做了。如果运转得好,所有人都在重要的事情上工作,不需要有人一层一层分配。这就是所谓的开放式工作分配方式(Open Allocation Approach)

open_allocation

举个GitHub的例子,有段时间3D打印机很火,有个叫Mike Skalnik的在公司买了台3D打印机之后就开始感兴趣了,他慢慢的从原来的项目里面抽出经历来鼓捣3D打印机。一开始的时候,天知道3D打印机跟一个开源项目代码协作平台有什么关系?而Mike渐渐鼓捣明白3D打印机了,后来他发现,可以用协作的方式跟其他人共同维护3D打印的模型文件,而这正好又跟GitHub的方向完全吻合的。

Mike后来就抽出越来越多的时间去尝试3D打印,到后来他成了3D打印项目的带头人。

2. 让更接近问题的人有决策权

GitHub尝试把决策权移交给更加接近真实问题的人,在GitHub的项目中,每个项目都有一个主要负责人。

你得说了,当然,我们团队每个团队也有个产品负责人啊。问题是,如何产生这样的人和这样的团队呢?一般公司,都有一个中高层经理,他把自己手底下的人分成小的团队,让他们每个团队负责一个区域,而每个区域,又有一个直线经理负责人员的调配,于是这个直线经理指派了一个人,说:“你,就你了,作为产品负责人负责这个产品”。于是产品负责人像一个牵线玩偶一样负责这一摊产品。这里有个巨大的问题,在于位于顶端的话事人,他得要预测一个比较成功的愿景,来告诉大家产品或者公司的方向。

在开放式工作调配的方式中,前面这个过程基本上可以说是反过来的。GitHub认为,最接近待解决的问题的人应该是对问题最了解的人,他们很大可能性是最知道如何解决这类问题的。GitHub让这类人有这样的决策权。

3. 招那些喜欢这种方式的人

我知道,还是有质疑的说,这不就是一片混乱吗?如何避免有人每天只逛淘宝?我们再回到前面说的,如果要有人花时间和精力去监控这些事情,或者搞办公室政治,那就说明要么是组织,要么是个人出问题了。

很重要的一点是选合适的人,把他们引入团队。何谓合适的人?这些人应该本性就是积极主动,对技术和自己的事业一腔热情的人。这些成年人做的事情最终必将给给公司带来收益。当然肯定是有前提的,一般没有人说,“好,我有热情,今天我花一天时间给同事们烤面包吃。”(逢年过节可能有例外),每个人都深信,自己做的事情一定会在某种程度上给推进公司往前走。

题外话

世界真的是平的吗?

有一段时间业界都在纠结,要把自己的组织打造成一个平的组织结构,其实大可不必纠结于多平才算是平,而是要把组织里面的各个点连成网,让信息能够自由流动。

开源精神

开源精神是说,一个人发现别人做的有个东西很酷,然后就给他们发了个消息,告诉他们,自己对这事有兴趣,希望能够贡献自己的力量,接下来项目的热就告诉这位热心的观众什么东西比较重要,后者再决定自己如何贡献。GitHub的工作模式也是这样的,也就是前面说的开放式工作分配。

关于透明

有人做组织转型的时候很纠结透明这件事情,而GitHub在倡导透明的同时,也留给团队和个人一些个人空间,如果团队希望暂时保留目前正在做的事情,到适当时机再公开,这样的决定也会被尊重的。

GitHub这种方式有局限性吗?

有!

1. 公司还是要付钱做一些重要,但是无趣的事情,比如升职奖金之类的。2

2. 高管很难招聘。一般公司招一个CEO,会相应的给CEO很大的授权,但是在一个网状组织里面,CEO很难直接下命令让其他人只是执行命令。CEO应该是对行业有深远的思考,至少在公司里面,他得证明自己是一个思想家。

3. 要炒人很难。一般要被炒的肯定是那种很恶劣的打酱油的,而在这样的开放式工作分配模式里面,要证明一个人是在打酱油也要花很多时间。不过相比传统的分配工作模式,还是有优势的,传统工作模式会产生更多打酱油的人。

开放任务分配能在你的公司和组织里面运转吗?

不妨试试看。

分类: Developers 标签:

改变世界的敏捷

2012年6月16日 2 条评论

讲师:Jurgen Appelo 《管理3.0:培养和提升敏捷领导力》作者

话题简介:

  • 我该如何让我的老板在观念上更加敏捷?
  • 我该如何让开发者们不断学习、成长?
  • 我该如何让客户变得更具合作性?
  • 我该如何建立起敏捷与精益相关人脉?

在做企业组织或其他类型的社交体系转型时,我们通常会遇到各式各样的困扰。而这些阻碍的解决往往涉要及到改变他人的行为。当然,我们可能无法彻底让人换一种方式行事。我们或许也无法让人转悲为喜、破涕为笑。但我们当然不该放弃一试!

可能已经有越来越多的人开始了解“管理3.0 ”的概念。这个演讲将为大家介绍的是另一个我将其称之为“变革管理 3.0”的强力模型 – 将组织看做复杂的适应系统及社交网络,并在此之上推行变革。 “变革管理3.0” 模型中将涵盖多种现存模型,如:PDCA, ADKAR,Adoption Curve and 5 I’s。它将给出帮助人们尝试改变所处组织中他人行为的方式方法。不论职位为何,您将会发现用“变革管理3.0”去尝试改变身边的世界将是多么的有益。

我读《管理3.0:培养和提升敏捷领导力》

分类: Developers 标签: ,

Apache 之道

2011年5月28日 没有评论

作者:姜宁

  • Apache CXF committer, PMC member
  • Apache Camel committer, PMC member
  • Apache ActiveMQ committer

作者通过三个部分内容阐述了 The Apache Way:

1、Apache 软件基金会的介绍
2、Apache 之道是什么

  • 社区胜于代码 (Community over Code)
  • 任人为贤 (Meritocracy)
  • 共识决策 (Consensus)
  • 透明公开 (Transparency)
  • 非隶属关系 (Non-Affiliation)
  • 负责监督 (Responsible Oversight)

3、如何融入开源软件社区

  • 使用开源软件
  • 提交Bug报告
  • 完善开源社区文档
  • 参与邮件列表讨论
  • 成为开发者贡献代码

Apache 之道是 Apache 社区的文化体现,是一种重视协作的文化,Apache 已经成为协作开发的典范。

作者以其自身实际经历分享了他在Apache开源项目中的协作与成长,其理念不仅仅适用于开源软件社区,也同样适用于更为广泛的网络协作与分享,值得大家一读。

分类: Apache, Developers 标签: ,