`
robbin
  • 浏览: 4820447 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137000
社区版块
存档分类
最新评论

从Rails聊聊小公司的研发团队建设

    博客分类:
  • Ruby
阅读更多
首先分享一点数据吧:

JavaEye的PV到了140万了,一年前才100万出头,增长算不错的。仍然是单台Web服务器,Rails处理动态请求超过340万,除了真实用户访问,还有API,RSS以及很多爬虫的请求。看JE的alexa排名,CN排92名,全球790名,不过就2台服务器(1个web+1个DB),2个程序员而已。

所以选择技术的时候,不能盯着TOP10的商业网站看,因为很少有创业团队最终能够走到TOP10,也不需要走到TOP10,即使现有的语言和架构无法满足需要了,更换技术架构的网站也很多:2000年我在上海出入IDC机房的时候,旁边是易趣的服务器,都是用FreeBSD跑PHP,可是后来易趣大了以后,迁移到了Java平台;阿里巴巴早期也是用PHP的,后来请了SUN的团队帮助做架构,后来慢慢迁移到Java平台了。而且正如很多人所说的,一个大访问量和高负载的网站,性能好坏取决于架构,而不取决于编程语言,用什么编程语言都可以架构出来一个很强大的网站,所以,现实一点来说,选择什么编程语言,更多的是从团队建设的角度来出发的。

因为每个团队的情况都不同,就拿我们自己来说吧:

招聘一个PHP的10人团队难不难? 难!非常难!我们现在连一个PHP程序员都招不到,投递简历过来的,绝大部分通知面试都不来,其中还有一个竟然这样和我们说:今天我没空,改天我面试你们附近一家公司,顺便去你们公司面试。偶然幸运的来的几个候选人一聊,很多基本功都不过关。

上周末搞活动,有腾讯的哥们问我,有PHP程序员推荐给我啊,我们急需,我听了都想吐血。你们腾讯,百度,新浪,网易都在北京狂招PHP程序员,还给不给我们小公司活路?何况你们现在都招不到,我怎么可能招得到?

反过来说招聘一个3-4人的Ruby团队难不难? 也难,但是难度小一些,起码可以自己培养,而且自己培养出来的3-4人的Ruby团队的生产力会超过10人的PHP团队,也许单人成本高一点,但是整个团队的综合人力成本会更低,团队战斗力还更强。

其实这里面引申出来一个问题:小公司应该组建什么样的研发团队? 大规模普通水平普及型编程语言团队,还是高效率高生产力小规模团队?我认为目前小公司唯一的活路就是高效率的小规模团队,这样的团队才能充分发挥小公司灵活创新的特点,才有可能在某些方面战胜大公司,也才有可能在人才竞争方面胜出。

小公司如果想组建大规模普及型编程语言团队,往往是个看似容易,实则无法实现的泡影:一方面普及型编程语言招聘需求旺盛,跳槽频繁,你比大公司在人才方面的竞争力弱,不可能招聘到很多合适的人才;另一方面小公司去管理上规模的研发团队,管理上的挑战非常大。我们都知道,研发团队每增加一个人,沟通成本都指数级上升,规模到了一定的阶段,就必须动用严格的KPI体系,而不是靠个人激励来管理研发人员,而一旦制度化管理研发团队,隐性的人力成本浪费就是惊人的。最终结果就是你的研发团队规模越大,整体生产效率越低,而整体生产效率越低,你就被迫越扩大研发团队的规模,最终陷入恶性循环。

JavaEye的实践可以证明,高效率小规模团队的生产力可以超过大规模普通研发团队。其实我也很想有大把的钞票,很好的公司品牌,牛人们纷至沓来的那种感觉,但是那都是幻觉。我们要以弱胜强,以少胜多,就必须选择自己build团队,自己培养人才,采用高效率的秘密武器。

最后推荐一篇文章: Rapid Development with Rails ( OSDC 演講)


67
27
分享到:
评论
21 楼 dsr_22 2011-03-24  
引用
,有腾讯的哥们问我,有PHP程序员推荐给我啊,我们急需,我听了都想吐血。你们腾讯,百度,新浪,网易都在北京狂招PHP程序员,还给不给我们小公司活路?



哈哈哈~,希望javaeye有一天能像他们一样不给别人活路
20 楼 rzk513 2011-03-24  
呵呵 文章写得很不错 ,其实中国IT 有点畸形,不会像欧美一样 都是小规模,不会像中国去讲究规模和排场。认为人多的公司就一定不错,其实人多的公司不只是沟通上的不方便,管理和协同都是问题。呵呵 力挺这种小公司大作为的公司。其实也是中国能培养高素质的程序员太少了 。 基本上都是快餐出来的。
19 楼 lkj107 2011-03-24  
理想就是也整个网站,不要求别的,网站运行起来不赔钱就行了
初期语言的选择是个问题
18 楼 evanzzy 2011-03-23  
只有两台服务器,架构做的真不错。不过想问一下,只有两台服务器如何处理硬件损坏呢,这样岂不是随便坏一台服务器网站就完蛋了么?
17 楼 AngelAndAngel 2011-03-23  
学习ruby学习 哪些网站比较好 貌似国内资料较少
16 楼 peterwei 2011-03-23  
看来rubbin回javaeye了。哈哈。你就直接说ruby好就行了。 我倒觉得公司有一两个厉害的人就行。底下的你能要求多高?能做事,肯学习就ok.太厉害的人来,你愿意给那份薪水吗?就算你愿意给,你的成本也是在那的。
15 楼 fireflyman 2011-03-23  
nightsailer 写道
靠,你也太能写了吧 Orz

完全同意。大公司和小公司是完全不同的。有些人从大公司出来,仍带着原先的
思维模式去做事,结果就是水浅不够扑腾的。

对于小公司来说,使用一个类似Rails这样高效的工具反而激发开发人员的热情和
信心。程序员本身是追新的,对于小公司,无法提供大公司的资源,但是能够给
他更多的机会去接触和实践新技术。从技术角度,这未尝不是冒险,但是对于小公司,
为此带来的高投入产出比是值得。

我从开始用PHP到现在有11年了,自己团队内部使用的也是PHP,但是所有招来的PHP人员都需要
重新培训。因为虽然使用PHP,你所使用的基础架构肯定是要创新的,裁剪合用的。
Quora上有人问Facebook的PHP开发者,对PHP满意么? 有人回答,对PHP不满意,
但是对Facebook的PHP基础构架很满意。
如果时至今日,Mark再选择构建FB,PHP未必是其选择,Rails或者Django一定是他的
首选。

我们目前也在从PHP迁移出来,Perl, Ruby, Js都是选择。PHP已经很难让你招到开发
过程的愉悦感,尤其是在比较了其他的工具之后。另外,PHP的framework没有一个令人
满意的,能够和Rails,Sinatra, Django相媲美的。

====
BTW,作为一个Perl狂热者,我认为Perl+Moose完全可以和Ruby的Meta programming媲美,呵呵。

再吐个苦水,PHP程序员貌似满大街都是,但是靠谱的非常难找,而且需要耗费大量的
精力去甄别,不是基本功不扎实就是半瓶子的空想家。

我还以为是NS
14 楼 nightsailer 2011-03-23  
靠,你也太能写了吧 Orz

完全同意。大公司和小公司是完全不同的。有些人从大公司出来,仍带着原先的
思维模式去做事,结果就是水浅不够扑腾的。

对于小公司来说,使用一个类似Rails这样高效的工具反而激发开发人员的热情和
信心。程序员本身是追新的,对于小公司,无法提供大公司的资源,但是能够给
他更多的机会去接触和实践新技术。从技术角度,这未尝不是冒险,但是对于小公司,
为此带来的高投入产出比是值得。

我从开始用PHP到现在有11年了,自己团队内部使用的也是PHP,但是所有招来的PHP人员都需要
重新培训。因为虽然使用PHP,你所使用的基础架构肯定是要创新的,裁剪合用的。
Quora上有人问Facebook的PHP开发者,对PHP满意么? 有人回答,对PHP不满意,
但是对Facebook的PHP基础构架很满意。
如果时至今日,Mark再选择构建FB,PHP未必是其选择,Rails或者Django一定是他的
首选。

我们目前也在从PHP迁移出来,Perl, Ruby, Js都是选择。PHP已经很难让你招到开发
过程的愉悦感,尤其是在比较了其他的工具之后。另外,PHP的framework没有一个令人
满意的,能够和Rails,Sinatra, Django相媲美的。

====
BTW,作为一个Perl狂热者,我认为Perl+Moose完全可以和Ruby的Meta programming媲美,呵呵。

再吐个苦水,PHP程序员貌似满大街都是,但是靠谱的非常难找,而且需要耗费大量的
精力去甄别,不是基本功不扎实就是半瓶子的空想家。
13 楼 jiorry 2011-03-23  
我选择php+自建框架 ,实现快速开发。规避了rails升级和不能掌控rails的风险。我个人感觉,这个决定目前还是正确的。
12 楼 油炸大龙虾 2011-03-23  
11楼,看看rb以后,在回来用用c#,会有很多不一样的感觉(深挖挖linq && .net4 dynamic),呵呵,哈哈。
11 楼 hatedance 2011-03-23  
我觉得语言还是有关系的,像java这样的GC语言,到后来老是纠结于内寻泄漏问题,而php则不存在这个问题。我个人觉得c+php更适合java。为web应用做好架构才是关键,语言只是一个因素,而且随着时间发展做变化也很正常。
10 楼 fly_bluewolf 2011-03-23  
huacnlee 写道
Ruby 招人是不好招!但这个其实问题也不大,找个有两三年其他语言开发经验的人,培训一下,1到两周就可以上手了,两个月就可以很熟练了。

这个不同意,如果想写Ruby化的编码风格,没有2年功夫,很难!我目前还是用C#的方式写ruby的代码,惭愧!
9 楼 油炸大龙虾 2011-03-23  
rubyer又一大硬伤,就是编程风格迥异。
比如,A疯狂喜欢用block,B疯狂迷信open_class_mixin,
团队的风格就。。只能一人做一项目。
部门rubyer随多,但是头疼……
8 楼 油炸大龙虾 2011-03-23  
公司期望用jor做系统。
哎。说句心里话,个人认为,jquery + node.js + mongodb不见得比ror差多少,而且语言相对单一(不过js_fp确实不是那么好掌握的)。
ror确实很好。
7 楼 orlaa 2011-03-23  
Kenny.Lee 写道
其实自己一直有个问题,应该说是对不普及的编程语言的共同问题。懂的人少,无论是开发还是客户。客户是大问题,根本可能就不相信它,并且考虑到以后维护的问题,所以同不同意你用该语言去开发是难点。

如果特意去找ruby的项目,眼界是不是就有点局限了,甚至找不到项目去做,这是生存的问题。


创业团队选择rails建立开发队伍进行自己的项目是相当合适的,而你所表述的业务问题属于“建站”和外包类型的了,国外这方面环境还好,国内确实相对恶劣点
6 楼 hangdian_123 2011-03-23  
我很想去啊,但是北京离我这边太远了。我很喜欢javaEye这样的企业
5 楼 Kenny.Lee 2011-03-23  
其实自己一直有个问题,应该说是对不普及的编程语言的共同问题。懂的人少,无论是开发还是客户。客户是大问题,根本可能就不相信它,并且考虑到以后维护的问题,所以同不同意你用该语言去开发是难点。

如果特意去找ruby的项目,眼界是不是就有点局限了,甚至找不到项目去做,这是生存的问题。
4 楼 skandhas 2011-03-23  
"而且正如很多人所说的,一个大访问量和高负载的网站,性能好坏取决于架构,而不取决于编程语言,用什么编程语言都可以架构出来一个很强大的网站,所以,现实一点来说,选择什么编程语言,更多的是从团队建设的角度来出发的。"

恩,确实是。
3 楼 huacnlee 2011-03-23  
Ruby 招人是不好招!但这个其实问题也不大,找个有两三年其他语言开发经验的人,培训一下,1到两周就可以上手了,两个月就可以很熟练了。
2 楼 huacnlee 2011-03-23  
Ruby on Rails 是创业项目起步的最佳选择!

1. 开发周期短
2. 人力成本少
3. 应对变化容易

按照以往的经验,拿其他的东西做可能还在30%的进度的时候,Ruby做的就已经可以上线了,而且结构清晰,应对后期变化简单。

相关推荐

    Rails101_by_rails4.0

    为了确保读者能够通过实践加深理解,书中还安排了一系列练习作业,从最基础的“Hello World”开始,逐步过渡到更复杂的概念,如Rails的Routing(路由)机制。路由机制是Web应用中一个非常核心的概念,它定义了不同的...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    component base rails applications

    本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    Rails recipes

    Rails的目的是让开发过程尽可能简洁和高效,因此它内置了许多自动化功能,使得开发者能够迅速地从零开始构建应用程序。Rails Recipes涵盖了Rails的众多方面,包括但不限于模型、视图、控制器、路由、数据库迁移、...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    rails本地安装包完整版

    Rails是Ruby编程语言的一个著名框架,用于开发Web应用程序。它以MVC(模型-视图-控制器)架构模式为基础,提供了许多内置功能,使开发者能够更高效地编写代码。在这个"rails本地安装包完整版"中,包含了Rails 2.1.0...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    Rails 101S

    ### Rails 101S: 初学者必备的Ruby on Rails 宝典 #### Introduction: 深入了解Ruby on Rails 《Rails 101S》是一本为Ruby on Rails初学者准备的手册,旨在帮助新手快速入门并掌握基本的开发技能。本手册将从最...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    Advanced Rails

    **高级Rails** Rails,全称为Ruby on Rails,是一款基于Ruby编程语言的开源Web应用程序框架,以其MVC(模型-视图-控制器)架构模式而闻名。"Advanced Rails" 涵盖了Rails开发中的高级主题和技术,是Ruby on Rails...

    中文版rails教程

    **中文版Rails教程** Rails,全称为Ruby on Rails,是一个基于Ruby编程语言的开源Web应用程序框架,遵循MVC(模型-视图-控制器)架构模式。Rails以其“约定优于配置”(Convention over Configuration)和“Don't ...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

Global site tag (gtag.js) - Google Analytics