写点什么

还在"创建" 离岸开发中心?你有更好的选择

  • 2016-06-20
  • 本文字数:3665 字

    阅读完需:约 12 分钟

关于离岸开发中心的运用,有几篇文章提到"拥有"比"租赁"更具优势。平心而论,这些文章写得不错,但是我并不赞成创建自己的开发中心要优于外包的观点。我在圣迭戈拥有外包公司以及附属的两个离岸开发中心,说“租赁”更好有屁股决定脑袋的嫌疑,所以澄清一下,这么说并非出于推销服务的目的,实在是因为成立离岸开发中心比想象中要困难。

将软件开发工作转移到海外,并不意味着一定要创建自己的开发中心。一般来说,在海外寻求四五十人规模的开发团队,务实的做法是花一二年时间去调研,外包然后维护,只需要按照流程不出纰漏就好了。但是对于那些要从头创建离岸团队的人来说,特别需要注意:这是在创建一个跨国公司,必然要碰到与之相关的法律,税收,基础设施等各种问题。

多数情况下,针对不同规模的企业,合适的外包伙伴意味着更少的风险、更高的效率和质量,也可以节省时间和配套设施。这可以理解为另一种形式的“云”,为什么要单独建立自己的电塔呢?为什么为了开汽车而去发掘石油呢?用现有的设施就好了!接下来我会分别说明外包开发团队相较于自己创建团队的几项优势。

投资

使用海外开发测试人员以及削减成本时,业内有“garbage in, garbage out”的说法。我们向其他大陆的开发中心投入资源(“垃圾”),结果吃惊地发现出来的并不是定制化的产品。或者我们雇佣了当地的优秀开发人员,沾沾自喜之余,却发现六个月后,他通过外国人工作签证离职去了微软。

在外包开发中,作为客户和企业我都有切身的体验。有一些客户因为商务联系、现有基础设施以及独特的文化背景,建立自己的开发中心相对容易。但是这并不典型,实际情况是:

  • 许多企业没有很强的海外联系;
  • 许多企业无力在海外创建品牌,基础设施以及进行人力资源管理,尤其是那些小公司或创业公司;
  • 许多企业试图减少管理相关的工作,将精力集中在代码质量、app、产品和性能上;
  • 多数企业运营海外设施时会付出额外的管理费用,而且维护这些设施复杂、昂贵、消耗时间;
  • 多数企业想避免复杂、风险和节省时间,但是如果创建自己的开发中心的话,这些是无法避免的。

创建自己的海外开发中心需要格外关注以上提及的五个方面。解决这些问题困难、琐碎并且花费不菲。我感同身受,因为这就是我的日常工作:提供人力给创业公司和中小企业,帮助他们解决宽带、人力、质量之类的问题。

我有两个离岸开发中心,并成立了公司去管理它们,员工们(超过 130 人)通过不同方式当天向我汇报。我们是个完整的公司,有专业的团队,业务扩展到了圣迭戈、阿曼和开罗。

客户可能在技能和人力上存在不足,我们将自己的团队集成进去,提升他们的能力。需要指出的是,我们并不是二流的团队,或者处于配合地位。我们是一流的,员工的技能和产出达到甚至超出客户的最好水平。

后面我会详细的解释如何吸引和留住这些高水平的员工(其实并不容易)。

但是我更想强调的是,客户应该利用海外人才的优势而不用承担背后的负担。除非他们本身是这方面的专家,在海外拥有公司,不然创建开发中心的劣势是全方位的。通过与我们的合作,客户可以减少许多麻烦。

基础设施

上个月,我们位于开罗的办公罗收到一笔物业账单,250000 美元。显然,物业公司认为我们钱没有给够。谈判过程开始后,出现了律师、文件、政治在内的各种问题。我是怎么解决的呢?跟创建海外开发中心碰到的其他问题一样,委托给了一个顶级的人力资源和法律团队,该团队熟谙竞争对手、规则以及业务。整个过程对我们而言很痛苦,却是开展业务不得不考虑的因素。客户感觉不到这些,他们接触的是我们的人力、高质量的代码、优秀的团队协作以及靠谱的承诺。若是硅谷的创业公司,突然遇到这类问题,可能就认栽了。

还有个例子。我的朋友,开了很多公司,有一家在墨西哥,曾经碰到了很有意思的问题。在边境南端,他的公司因为涉嫌故意不向“住户”提供足够的停车位而被开出 120 万美元的罚单。但问题的关键是,该项业务是处理 50 英亩的墓地,墓地也需要“停车位”。这是要丧尸出笼么?最终我的朋友通过当地的合作伙伴将罚款降低 4000 美元(不得不承认这很聪明)。这类问题除了带来潜在的风险外,也很容易分散注意力,以及可能的工期延误。

总体来说,国际规则、承诺、税法以及商业法,往轻了说是非常复杂,往重了说关系业务的生存。

品牌

(在建立外包团队时)不能指望随便走进当地的酒吧,就能找到合适的优秀工程师。首先,你的品牌得根植于当地的环境和文化,取得潜在员工的信任。当然,如果你自己熟悉或者来自当地,这个过程会简单些。然而,大部分人都不具备这个条件,即便具备了(比方说我),仍然有很长的路要走。建立品牌花费巨大,不仅包括广告和时间成本,还有雇佣不到合适员工的机会成本。

我的第一个外包开发中心设立于约旦安曼,我在当地有深厚的人脉,仍然很难招聘和留住合适的员工。

我的第二个开发中心设立于埃及开罗,开罗和安曼差不多隔了圣迭戈和旧金山的距离。虽然我自己来自并且活跃于这个地区,在成立开发中心亮出招牌时,仍然没有顶级的工程师应聘,一个也没有,只有一些差强人意的候选人。你可能会问为什么?其实在一些欠发达的经济体,稳定的工作机会非常有限,有家室拖累的开发人员很少愿意跳槽,除非确定新的工作机会稳定、有合理的经济回报以及上升预期。发展中国家的雇员们见惯了“明星”企业带着资金和愿景过来,然后又开始打退堂鼓的现象,如此这般,他们也变得精明和谨慎起来。,我们需要时间和资源,来建立能够吸引顶级工程师的招聘品牌,从而满足不同层次客户的需求。

建立招聘品牌非常重要,但是既不容易也不便宜。大多数情况下,最开始你都不知道目标国家的位置和地理,也没有时间和人手去布置展位或者去大会演讲,只好干等一到两年去获取人力市场的信任。

花费不仅仅是在市场推广方面,也包括基础设施的投入。举个例子,在开罗创建开发中心的时候,我估计一层楼就可以装下所有员工,但是我仍然租用了整个四层办公楼。我这么做只不过是为了向过来面试的候选人展示留在当地的决心,以及公司未来的扩展规模。(按照我的经验和务实的估计,即便在像班加罗尔这样的地方开设外包研发中心,花一年时间去招聘,最终只能招聘到四五人)。

吸引和留住人才

海外开发团队成功的关键是能够吸引和留住人才。理解当地的文化,尊重当地团队,用同样标准去运营海外团队,以及为工程师提供激励。

针对最后一项工程师激励。提升产品质量,需要多样化的开发测试团队。有人负责解决棘手的问题,有人负责重构和解决错误,有人负责选用合适的协议和文档规范,诸如此类的。与之对应,有人想要物质奖励,有人想要丰厚的年终奖金,额外一周的假期,或者商务度假性质的旅行等等。你得明白,没有一揽子的解决方案,不能依靠“棒棒糖”来打造伟大的团队。但是如果将团队管理委托给第三方,并且合作方靠谱的话,就可以节省很多精力,何乐而不为呢?

作为个体和团队成员,员工需要关心和呵护。这意味着,运营海外开发团队时,也需要有配套的人力资源管理、福利、财务、法律、设施。在硅谷,创业公司或者 SMB 中流行将支持性的工作委托给专业公司或者直接外包,那么在使用海外开发中心时就更没有必要亲自创建运营了。

机构,外包,第三方

并非所有的企业或者合作伙伴使用同样的方式管理员工、团队以及客户关系。多数企业会指定项目经理。我们提供的开发团队,会完全集成到客户的团队,具体的工作方式可以参见另一篇文章

另一种选择

没有必要从头创建海外开发中心,最好避免这种情况。然而,选择合适的海外开发合作伙伴也很重要。 不谦虚地讲,我自己的公司就不错。

举个例子,有个老客户,曾经是某大型电子商务公司技术部门负责人,他一直有个不错的想法,并为此离了职去创业,工程相关的工作包括最新的app 和插件。他第一时间找到我们,相信我们能够帮他组建团队、实现他的想法,虽然这次已不是原来电商公司的团队。

我们带他飞到埃及,参观我们的开发中心,面见团队成员。在那里他待了两个星期,之后除了发邮件感谢我们的款待外,还建议我们为他组建一个团队。他亲手挑选了那些自我驱动、勤奋、有想法的团队成员,接下来就不用再为亲手创建和维护海外开发中心而头痛。

不可承受之失败

百分之九十的创业公司会失败,创业者必须集中精力让自己的产品与众不同并且不犯错误。对大多数创业公司而言,从头创建海外开发中心是作死的行为。到时候,你一定会被团队选择、文化差异、沟通、妥协、规则搞得喘不过气来,这些本来是可以避免的。

就我自己而言,宁愿选择一家信得过的公司外包。这也是我们公司努力的方向。

关于作者

Yousef Awad毕业于加州大学圣迭戈分校,获信息系统科学学士学位,在可定制软件开发行业浸淫 20 多年,拥有编程、数据库管理和项目管理等领域丰富的经验。Yousef 1997 年加入 Integran 公司,Integrant 专注于定制化的软件开发,为客户提供外包团队、IT 项目管理服务等。Integrant 在阿曼、约旦和埃及开罗拥有开发中心,雇佣了全职员工 130 名。工作之外,Yousef 投入了大量的精力向青少年普及编程知识,让他们获得来自工业界的编程指导。

查看英文原文: Build Your Own Offshore Development Team - or Not?

2016-06-20 19:341669

评论

发布
暂无评论
发现更多内容

使用Redis和Java进行数据库缓存 - DZone数据库,工作感悟

Java 程序员 后端

分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起

Java 程序员 后端

全靠这份阿里大厂Java面试真题手册,让我成功拿下12家大厂offer

Java 程序员 后端

写博客是一种乐趣,一种需要培养的乐趣,【性能优化实战】

Java 程序员 后端

初来乍到,IT职场人,有些黑话要先了解(1),springboot定时任务注解原理

Java 程序员 后端

使用OPCAutomation实现对opc数据的访问,腾讯数据分析面试春招2021

Java 程序员 后端

入职字节跳动那一天,我哭了(蘑菇街被裁,java中异常处理机制的原理和应用

Java 程序员 后端

第15份敏捷年度状态报告

Bruce Talk

敏捷 Agile

保姆级教程!手把手带你用数据库中间件Mycat+SpringBoot完成分库分表

Java 程序员 后端

全网都在跪求的阿里Java修炼开发技术笔记,终于开放下载了

Java 程序员 后端

刚从蚂蚁金服面试回来,分享我拿到社招Java研发岗offer的过程

Java 程序员 后端

创业神器-JAVA开源网盘系统推荐,springaop实现原理面试题

Java 程序员 后端

创建和销毁对象-考虑用静态工厂方法代替构造器,熬夜整理出Java后端学习路线

Java 程序员 后端

公司CTO:高性能开发,你不会Netty,java支付模块架构

Java 程序员 后端

六月份参加字节移动中台一二三面,一腔热血,终上岸,java面试设计模式的使用

Java 程序员 后端

带你了解Node.js包管理工具:包与NPM

华为云开发者联盟

node.js 工具 npm 文件

做个小项目那不是简简单单!Java实现航空航班管理系统。

Java 程序员 后端

全网最全Spring面试题之基础篇整理总结(共69题,附超详细解答

Java 程序员 后端

全网首发“Java面试考点大全”,深入linux内核架构pdf百度云

Java 程序员 后端

全网首发!今年的第一份Spring Boot实战派,让开发像搭积木一样简单

Java 程序员 后端

使用IDEA的Docker插件部署SpringBoot项目,让我成功在寒冬中站稳脚步

Java 程序员 后端

分享我的2021京东4面面经,送给备战金三银四的你,Java小程序开发实例

Java 程序员 后端

分布式系统改造方案——数据篇,Java架构师视频

Java 程序员 后端

全网都在跪求的阿里Java修炼开发技术笔记,终于开放下载了(1)

Java 程序员 后端

全靠阿里内部(珠峰版)Java面试笔记,mysql数据库教程郑阿奇答案

Java 程序员 后端

写了一年golang,来聊聊进程、线程与协程,javamap底层原理

Java 程序员 后端

分享23种追女生的方式,教你同时把追MM和设计模式融汇贯通(下

Java 程序员 后端

分享成功逆袭到美团面试心得:面试题(含答案,springboot面试题

Java 程序员 后端

先到先得!价值百万的的ELk+Lucene笔记,阿里P7架构师带你看透maven的来龙去脉

Java 程序员 后端

出招吧!腾讯专家手敲《Redis源码日志笔记,如何成为一个更好的Java开发者

Java 程序员 后端

分布式系统的一致性级别划分及Zookeeper一致性级别分析

Java 程序员 后端

还在"创建" 离岸开发中心?你有更好的选择_文化 & 方法_Yousef Awad_InfoQ精选文章