(本文发表于《程序员》2007年12期)
(本文发表之后,iTechTag又有了较大的变化,请看 http://www.itechtag.com/feeds/46/blogs/92 )
用一朵云重建软件开发者的声望
——讲述iTechTag网站的故事
在接受InfoQ的一个采访时,有一个问题是“iTechTag这个网站靠什么挣钱”,而我的回答是老老实实的“不知道”。盈利模式都没想清楚就着手去做一个网站,这和我一贯的功利作风多少有些不匹配。是什么原因促使我去凑这个Web 2.0的热闹,iTechTag又是如何诞生的,我很有兴趣讲讲这其中的故事。
iTechTag的源起,还得追溯到Pete McBreen的《软件工艺》。那本书里有一个新鲜的观点:软件开发者应该在自己的作品——软件应用——上签名,就好像工匠们在自己的手工制品上签名一样。从用户的角度,这是寻求服务和支持的另一条途径;而对于软件开发者来说,能够正大光明地告知所有人“这个软件是我开发的”,就是开始积累自己声望(reputation)的第一步。McBreen做了一个很有意思的类比:同样是专业人士云集的行业,电影业一直保持着“给作品签名”的传统——虽然普通观众可能不会留意长长的演职员表,但电影发烧友和专业同行们会。打个比方,假如一个导演欣赏《加勒比海盗》的配乐,他不需要去找迪斯尼影片公司,只要从演职员表里找到音乐总监的名字就行了——当然Hans Zimmer现在也成了身价不菲的明星级人物,而这正好证明了专业人士建立个人声望的价值。
作为《软件工艺》的译者,这种观点让我感触良多。反观软件行业,我们这些专业人士的声望在哪里?假如有家企业即将开始一个ERP项目,它的CIO也许能——几经周折地——得知某竞争对手的ERP系统是某软件公司开发的。但究竟是谁解决了关键的技术难题、是谁厘清了复杂的业务需求?恐怕没人能找出答案。而这家软件公司的开发团队恐怕早已物是人非,一帮新手菜鸟再也无法重现当年的成功了。客户和求才若渴的软件企业都希望知道:究竟是谁在那些了不起的成功项目中扮演了重要角色。毕竟软件最终是靠人——而不是企业的牌子——来开发的。
而在另一方面,软件开发者们的声望却被——不无刻意地——隐藏了起来。证据是显而易见的:你可以问问自己,在什么地方、什么人能看到你的简历,能知道你在哪些项目做过什么事?对于大多数人来说,简历无疑是写给潜在目标雇主看的;但他们能看到吗?是的,他们可以——在给你投递简历的人才网站付费之后。让我把这话说得再明白一点:软件开发者辛苦工作积累的声望,在给自己带来回报之前,先被人才网站用来赚钱了。

于是我开始琢磨一个问题:如果有一群程序员想要展示自己的声望——或者说得更直白一点,想要炫耀自己是多么优秀的程序员,我能为他们做什么?和同事Michael Chen讨论过几次以后,我总结出这么几点想法:
-
程序员最愿意炫耀的是自己的技能。比如说我自己,“经验丰富的Ruby程序员”这样的称号是我最喜欢的,而“AJAX专家”的头衔无疑也是Michael Chen的最爱。
-
对技能的掌握程度,不是靠“熟练”、“精通”之类的自我评价,也不是靠SCJP、软件水平考试之类的认证,而是靠实践经验。正所谓读书破万卷下笔如有神,用J2EE做过三年实际项目,比说自己“精通J2EE”要有说服力得多。所以构成程序员声望的基本元素应该是项目经历。
-
项目经历同时也是构成简历的核心要素。我在协助公司招聘工作时发现,我浏览简历的重点都放在项目经历上,至于教育经历、自我评价之类都是一扫而过,因为围绕着应聘者以前的工作经历,我才能深入了解他/她的技术实力和工作风格。将心比心,我想其他协助招聘工作的技术负责人也会用同样的方式来浏览简历。
“技能云”的概念就在这样的讨论中逐渐成型了:我要做一个网站,它可以提供一个叫做“技能云”的网页widget,用户(程序员们)可以把这朵云放在自己的blog上,炫耀自己拥有的各种技能;为了得到这朵云,用户就需要输入自己的项目经历;有了这些输入信息,除了技能云之外,我还可以顺手给用户提供另一个副产品,那就是他/她的简历,一份基于项目经历的简历,我个人最喜欢看的那种简历。经验-技能-简历,这个三位一体就构成了一个程序员的声望。

不过就像我一开始说的,对于这个网站会如何挣钱,我确实想法不多。我希望让程序员在这里充分展现自己,所以我绝不会把他们的简历藏起来卖钱;我预期用户们只是在做完一个项目想要更新自己的技能云时才会登录,所以广告收入也会非常有限。卖信息和卖眼球的路子都行不通,也许卖服务——给招聘企业提供猎头服务——会是一条可行的路子,虽然前景也不明朗。但不管怎么说,只要我的用户们认为在自己的blog上挂这么一朵技能云很酷、自动导出的简历有用,这就是一件有价值的事。只要给用户创造价值,网站早晚能找到自己的价值,所以我对此也并不担心。
展现程序员的声望会让他们容易被挖角吗?
简单的答案是:会。
深入的答案是:为什么他们会容易被挖角?是不是正好说明他们所在的企业没有给他们足够的回报?是不是正好说明这些企业也在因为隐藏程序员们的声望而获益?
我供职的ThoughtWorks公司一贯鼓励员工建立他们自己的声望,让他们写文章、写书、在各种大会上演讲,甚至还在公司网站上列出所有员工的简介。之所以敢这样做,因为ThoughtWorks一直相信优秀的软件开发者才是这个行业中最可宝贵的财富,更因为ThoughtWorks能让它的员工感到快乐和满足。
所以,是的,如果程序员们开始意识到自己的声望有多大价值,他们会更容易找到更适合自己的位置。而担心技术骨干被挖角的软件企业,就请努力让自己成为那个更适合他们的位置吧。
|
反倒是动手实施的问题比较令人担心。我有自己的全职工作,而且我一直就是个缺乏行动力的懒人,所以在一段时间里朋友们都担心我这个点子又会像别的很多点子一样没了下文。幸运的是这个时候我遇到了1sters团队:一个用Ruby on Rails把创意落实为Web 2.0网站的专业服务团队。在MSN上几次沟通之后,我们很快就把这个点子变成了实实在在的iTechTag.com网站。
与1sters团队合作的过程是愉悦的,一方面是因为我们双方的敏捷。对于这个网站究竟应该是什么样子,一开始谁都说不上来,只能实现一些功能,然后根据反馈再不断调整和添加新功能。好在1sters是一支敏捷的团队,我也对敏捷有不少了解,我们的共同努力让网站在快速开发的同时始终保持提供最有价值的功能。另一方面要归功于Ruby on Rails的高效,常常一个反馈在一两天内就能看到效果。最近的例子是有个朋友提出想在iTechTag发布招聘信息,我们只用了一个周末的时间就实现了这个功能——虽然还有很多可以完善的东西,但已经可用了。如果说合作有什么不足的话,那就是我们至今还没有见过面。透过网络的交流即使再通畅,也比不上在咖啡厅面对面聊天,只可惜我计划已久的深圳之旅至今尚未成行。
有时候我会问自己:这算是在创业吗?我们确实做了一个看起来似乎还有点前途的网站,但我们所有人都是用业余时间来捣鼓这个事,而且现在网站规模也非常小,恐怕很难跟“创业”这么宏伟的词联系起来。我自己感觉,这恰好是Web 2.0时代的一种现象:一个点子不需要有多么宏大的商业目标,只要能为一些人提供一些价值,就值得做起来;也不需要投入太多的成本去正儿八经地“创业”,用业余时间和一点小成本就能让它开始运转。这样你就有可能同时运转很多个点子,然后就等着看吧,说不定哪一颗小种子就真的变成了参天大树。
但要广种薄收,成本控制就显得特别重要。我自己列了一些评估点子的因素:有没有核心技术,维护工作量大不大,需不需要线下营销,是不是依赖外部资源,对流量要求高不高,等等。这些因素会影响你的开发成本和运营成本。我自己认为,最理想的创业项目应该是开发成本高、运营成本低的,只要自己潜心攻克了开发难题就可以扔出来让它自己运转,竞争对手也不会很容易进入。而iTechTag是属于开发成本和运营成本都很低的:没什么技术难题,Rails程序很容易维护,没有外部依赖,不做线下营销,流量很小。这样的点子就很适合我们这样玩票,长成了固然好,长不成也不会带来太大的损失。虽然我自己没有创业的经验,但每当听说有人想做一些流量要求很高(例如视频)、需要大量外部资源(例如教育)的创业项目,或者拿着一个点子就兴奋得睡不着觉恨不得立刻辞职创业时,总是暗暗地为他们捏一把汗。

时至今日,iTechTag仍然只是一个小网站,我们有的也只是一些小故事,我们的思考大多没有得到实践的检验。不过好现象仍然很多:我们起初的设想到现在大致不差,网站也一直在稳步发展。最重要的是,不管iTechTag是否真能像我们希望的那样帮助整个技术社区重建他们的声望,至少我每天看着自己blog上挂着的技能云暗爽,而且还知道有那么一群用户也跟我一样暗爽,这就足以抵偿我们付出的那些努力了。
分享到:
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
,,基于SMO的三相PMSM无速度传感器控制(基于反正切函数) ,核心关键词:SMO(滑模观测器); 三相PMSM(永磁同步电机); 无速度传感器控制; 反正切函数; 控制系统。,基于SMO算法的三相PMSM无速度传感器反正切函数控制
网络文化互动中的舆论引导与危机应对
人力资源+大数据+薪酬报告+涨薪调薪,在学习、工作生活中,越来越多的事务都会使用到报告,通常情况下,报告的内容含量大、篇幅较长。那么什么样的薪酬报告才是有效的呢?以下是小编精心整理的调薪申请报告,欢迎大家分享。相信老板看到这样的报告,一定会考虑涨薪的哦。
内容概要:本文全面探讨了大学生沉迷网络游戏的现状及成因,强调该问题已严重影响大学生的学业和个人发展。据统计显示,中国大学生网络游戏成瘾患病率超过15%,问题广泛且严重。分析指出沉迷原因涵盖个人因素(如自我管理能力缺失、逃避现实压力)、家庭因素(例如家庭教育缺失和家庭氛围不和谐)、学校因素(如大学管理松散和校园文化活动匮乏),以及社会因素(例如网游设计吸引人和监管部门不严)。基于以上成因,提出了多层次综合治理方案,包括但不限于强化家庭教育和沟通、改善大学管理模式、丰富校园文化、加强网络游戏审查力度和社会心理健康辅导等方面的对策。 适用人群:本研究适用于高校辅导员、心理学家、教育政策决策人员,以及关心青年成长的社会各界人士。 使用场景及目标:本文旨在引起社会对该问题的关注,并为教育界和其他相关群体提供了详细的参考资料用于制定相应的干预措施,以减少大学生游戏成瘾情况的发生。此外,也可供家长学习科学育子知识。 其他说明:除了直接提出具体治理办法外,还特别提到了营造健康的网络文化环境的重要性,提倡多方协作共促学生健康发展。同时呼吁进一步加强对网络游戏产业的研究与管理,确保产业的良性发展的同时也能
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
矢量边界,行政区域边界,精确到乡镇街道,可直接导入arcgis使用
TI维也纳整流器设计.rar
自驾游中的手机APP推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
视讯镜头专利复现,基本复现
,,OMRON CP1H PLC脉冲控制三轴伺服, 码垛机,实际项目,程序结构清析,有完整的注释,重复功能做成FB功能块,在其它项目可以导出直接用,MCGS触摸屏程序,有电气CAD图纸。 ,关键词:OMRON CP1H PLC;脉冲控制;三轴伺服;码垛机;程序结构清晰;完整注释;FB功能块;MCGS触摸屏程序;电气CAD图纸。,OMRON PLC三轴伺服脉冲控制程序:结构清晰、注释完整,FB功能块可复用,配合MCGS触摸屏及CAD图纸的实际项目应用
是一款基于JAVA的串口调试工具,支持波特率9600-115200,仅供参考学习使用,
,,CO2激光切割机雕刻机打标机写字机喷涂机巡边机控制软件,包含上位机和控制板,也可源码 视频展示只体现工作流程和加工效果,如果激光功率足够大最快速度能跑到每秒两米 支持文件格式说明: 控制版和上位机通信接口为百兆以太网接口,数据载体为标准TCP协议 1.g代码 2.打印图片 3.plt格式文件 4.激光机在切割有效线条时匀速切割 5.有效线条切割速度和空程速度分别设置 6.空程运行具备加减速控制 7.图片打印时上位机界面实时显示打印进度 8.打开的图片和图形文件可鼠标缩放和拖动 9.图片格式转并保存转完成的指定格式图片 10.手动回原点控制 ,核心关键词: CO2激光切割机; 雕刻机; 打标机; 写字机; 喷涂机; 巡边机; 控制软件; 上位机; 控制板; 源码; 视频展示; 工作流程; 加工效果; 激光功率; 速度; 两秒; 文件格式; g代码; 打印图片; plt格式文件; 有效线条切割; 空程速度设置; 加减速控制; 上位机界面实时显示; 图片缩放和拖动; 图片格式转换; 手动回原点控制。 关键词用分号隔开: CO2激光切割机; 喷涂机; 控制软件; g代码; 图片格式转
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
城市周边自驾游短途路线
漫画作品与粉丝经济新模式