Tag Archives: GeneDock

GeneDock研发团队的一些方法论

  逼着自己上来写BLOG。最近工作强度非常大,回到家吃完饭洗完碗,真的手指尖都不想动一下。不过工作有进展,人有成长,心情还不错。今天冒着大雨回家,浑身湿透,但是心里一动:“两年前的今天我心情很糟,现在虽然累得像条狗,却很充实,看来这次创业是对了。”

  创业以来,感觉还算顺利。所谓好运气,部分源于GeneDock团队有一套自洽的逻辑。创业和投资说到底拼的是世界观,你对现实世界的某个局部有独特的洞见。这里面有些关于技术产品,有些关于团队管理,有些关于商务销售。

  这篇BLOG再总结一下GeneDock研发的方法论。算是呼应一年前的那篇《思考:如何开发应用平台》,对其做一些补充或再次强调。

一、彻底信仰API

  Alex Iskold说:“API代表公司的业务本质……思考API实际上就是思考公司的未来……”

  绝对赞同,一年多前我在社交网络发过一条对国内一些所谓基因云的吐槽:“不是做个Web页面就有资格叫云计算的。前端若不提供RESTful API、编程语言SDK以及UNIX风格的CLI工具包,后端若没有可拓展的分布式架构、防单点故障的failover机制……就别觍着脸自称云计算了,这只是一个网站而已”。这话似乎刺痛了某些人。

  GeneDock刚刚对外开放了第一批Workflow和Task有关的11个API。欢迎大家试用,这里是API-Reference文档。如果单从Web Service的设计这一点看,我们的产品领先于国内外友商。

二、To B 的产品逻辑:别抖机灵

  To B 产品和 To C 产品有很多业务差异。To B 是给专家甚至专家团队用的软件,本质上在卖你对行业的独特洞见,在卖你的工作哲学。例如,当年SAP的ERP软件最成功,因为他们最理解德国制造的业务逻辑;再如,Salesforce在卖的是销售团队的方法论;而GitHub实际在卖他们对软件工程的理解:Bug管理、版本管理、Code Review……

  另一方面,To B 和To C 其实都是给人用的软件。从设计和研发的方法论来看,并没什么本质区别。GeneDock产品经理何荣惠(在阿里云的时候程序员们昵称“神仙姐姐”)在知乎回答过“to B 的产品经理和 to C 的产品经理有什么差别?”,我觉得写得很好。

  总之。To B 产品,抖机灵没用,保持克制和敬畏。躬身入局,琢磨清楚基因数据传输、存储、分析、应用的所有业务场景。

  我们刚刚上线的企业账号功能,对很多团队都有用。GeneDock官方BLOG对此有描述,推荐大家看一下。

三、坚守软件工程底线

  GeneDock只雇用最好的程序员。好程序员必须能熟练应用软件工程的成功方法论。

  至于什么是好的软件工程,一年前都写过了:“好的软件工程实践,决定了技术团队的层次。Github用的怎么样、Bug管理怎么样、代码审核是否严格、发布升级是否自动化、有没有单元和集成测试……到一个技术团队里呆几个小时,鼻子闻一闻,就知道几斤几两。技术团队如果这些基本功不好,摩擦力会越来越大。”

  不只是提高自己内部生产率,GeneDock还想把数据生产的最佳实践推广到整个行业,成为生物信息行业的GitHub。我们正在优化配置和调试的体验,总结GeneDock生信团队的流程规范。后面会不断放出软件工程培训文档和配套工具,让生物信息程序员们效率更高,更专业,工作更有价值。

GeneDock招收生物信息实习生

  GeneDock每天帮助客户处理TB级别基因组数据。基因数据工程师支撑这个行业最活跃的创新企业设计业务架构方案,使用Docker容器等各种数据技术帮助客户把NGS分析流程迁移到云端。

  我们正在招收生物信息实习生,具体岗位要求请参考 https://www.genedock.com/joinus/ 这里的“生物信息算法工程师”和“基因数据工程师”两个JD。实习工资比照互联网行业平均标准按天计费。要求全职实习至少3个月以上。转正offer可以在面试时一起谈掉,也可以实习期间再谈。

  简历发送到 hr at genedock dot com 。也欢迎推荐人才。老规矩,实习生转正或候选人入职过了试用期,推荐人送iPhone或大疆DJI无人机。

2016新年快乐

  从2006年开始,每次1月份都会定两三个目标。之后一旦遇到纠结就力保重点,其他事一律让路。翻了翻过去10年元旦左右的BLOG:产品、论文、专利、买房、买车、求婚、生娃、跳槽、旅游、项目、商用、创业……单细胞动物,明取舍断妄念,受益匪浅。

  2015年只定了一个目标,是关于创业和成长的。一年下来,挺困难挺好玩的。感谢周围一圈恨铁不成钢、费心点拨我的朋友师长。忠告听进去了,善意记下来了,方法论还需要更多思考、学习和实践。今年最主要的目标一定还是与此有关,我需要好好琢磨一下。在GeneDock产品还不完美时,很多胆大的天使客户就毅然转向了基因云服务。2016年,要让他们获得与远见相称的收获。

  过去一年,只发了12篇BLOG,只买了34本书,都不到往年的一小半。所以2016年的目标之一是读50本书,并在BLOG和豆瓣上分享读书笔记,哪怕只是只言片语。

  RUDY哥酷爱马拉松一年参加四次正赛并获得奖牌,他总鼓励我尝试参加一次半程马拉松。我还在犹豫。其实想滑更多次雪,新买的单板装备却总没时间用,郁闷!倒是和RUDY哥打了一个赌:如果能B轮成功,我会把头发全部染白,RUDY全部染红(BTW,这个赌局,CEO怂了)。大家给我们作证!

思考:如何开发应用平台

一、开发难度

  和创造单个应用相比,创造应用平台的难度要高一个数量级:

  1. 架构难度:和特定应用不同,应用平台是开放性的,允许别人到系统肚子里自主编程,因此应用平台的用户边界本质上是API。设计一套干净强大、可拓展、安全、完整自洽的API,并在此基础上构建SDK、Console、GUI……是很难的。进一步,为了支撑第三方开发,需要有编程工具链。尽管程序员们都会用编程工具,但即使是计算机系科班出身的程序员,90%也不清楚DSL编译器和IDE的实现原理。

  2. 产品难度:应用平台的产品设计,需要抽象和分解能力。不仅仅满足某个具体用户场景,而是必须把握各种应用开发者在各阶段遇到的各种问题。这里面除了用户体验、E2E场景、还得注意统一的设计哲学和必要的分寸感。没经验的PD往往忽视谨慎思考和设计,强调快速迭代和重构。对应用平台而言,指望靠蛮力代替深思熟虑,行不通。

二、成长周期

  关于平台何时成熟,存在一些客观规律:

  1. 平台真正“立”起来至少需要4年时间。看那几本回忆Unix、Windows NT、NeXT、AWS初创的书,例如G.Pascal Zachary写的《观止:微软创建NT和未来的夺命狂奔》,这些系统前4年都跌跌撞撞甚至反复重构。

  2. 第2年最容易死。BAT三巨头几乎同时启动自主云平台:阿里的飞天系统、腾讯的台风系统、百度的C++重写Hadoop计划。但腾讯和百度的团队在第2年的时候都挂掉了。事实上,阿里云差不多也在那个阶段经历了惊涛骇浪,只不过运气好,马云这个老板异于常人。

  3. 关键是团队的成熟。阿里云最重要的行业贡献不在于其本身的IaaS业务,而在于那支从零开始把操作系统做出来的技术团队。现在飞天团队很多牛人跳出来创业,如果还是做平台的话,就会知道哪里有坑。

三、方法论

  1. 发布的节奏感非常重要。从阿里云辞职,老上级点拨我:如果只做一件事,就是保持发布节奏。一个里程碑一个里程碑下来,现在是Sprint 18。真是做对了。虽然前面说4年才能成熟,但是不可能有老板真能容忍你4年啥业务也不扛。这就意味着,得向客户和业务团队承诺产出,一旦承诺了就必须说到做到。这还意味着,必须现实主义,收敛战线,降低阶段性期望,为支持业务做些妥协。衡量一个技术团队的基本标准,就是持续交付能力。

(Intel曾经遇到过困境,CPU浮点运算部件有错误,不得不召回,AMD弯道超车抢先推出多核CPU。可惜AMD无法保证稳定交付,结果又坐失良机。再往前,摩尔定律其实不是客观存在的自然规律,而是Intel的明确战略,给客户承诺的交付节奏,给自己团队戴的紧箍咒。在撞到纳米墙之前几十年,Intel一直说到做到)

  2. 时刻关注平台架构。保持低耦合高内聚,保持模块之间的正交。否则越往后越痛苦。尤其是客户业务接进来之后,如果边界不清晰,到处插管子,就死定了。要理解著名的Conway’s Law: A design reflects the structure of the organization that produced it。这条定律的意思是:什么样的团队组织结构,最终就会开发出一模一样的软件架构。如果有四个小组合作开发编译器,系统最终一定会长成一个四阶段编译器。所以大型软件组织内,在重构系统之前往往先reorg团队。

  3. 好的软件工程实践,决定了技术团队的层次。Github用的怎么样、Bug管理怎么样、代码审核是否严格、发布升级是否自动化、有没有单元和集成测试……到一个技术团队里呆几个小时,鼻子闻一闻,就知道几斤几两。技术团队如果这些基本功不好,摩擦力会越来越大。

  4. 问题是什么,永远比解决方案更重要。最常见的错误就是:拿着个锤头,眼里看来满世界的问题都是钉子。必须花很多时间深入思考:客户有什么问题?我们能带来什么改变?逐渐建立对这个领域的独特洞见。

(仔细读了读巴菲特创业最初10年的信。他先建立了自己的独特benchmark,然后把投资对象分为4类,每类有不同的触发条件和行动。)

  5. 找到issue优先级明确roadmap才能减少焦虑。能砍事儿的才是合格的产品经理。做了太多客户不需要的事,团队总是加班,这是管理债,是耻辱,不是骄傲。

(讲到这里,顺便贴一篇两年前给pFind组的回信,最近Boss H又翻出来抄送给pFind团队)

  我已经离开pFind很长时间了,不了解细节。说错了大家拍砖。憋了好久,没憋住,因为pFind始终是我的产品。

  所谓战略,是明确不做那些“比较对的事”,只做一两件“非常对”的事情,壮士断腕才能做好产品,好产品才有资格进一步谈平台化和生态系统。

  客户需要精确的结果,客户需要飞快的速度,客户需要傻瓜式的安装和参数配置,客户需要全流程解决方案,客户需要在平台第三方开发的API和SDK,客户需要易用的界面、配图和表格……不从前面这些需求里砍掉90%,集中精力把剩下的一两项做到全世界第一,就没意义。

  不如每个人列两个单子:你认为pFind最该做的事,最该放弃的事。别写很多所有人都同意的真理,信息熵为0。如果为了防止互相影响,就单独发给BOSS H汇总。

  恕我直言,所有界面类的开发工作,pFind组都很不擅长,做得很苦、做得很烂。我们这些人离顶级UED差得太远,也未必有热情追求用户体验的卓越。也许更应该集中做算法、做流程框架、设计数据接口和API、向外界开发者提供API和SDK(这里的API也许是本地的,也许是Web Service)。至于界面也不是彻底不做,现有界面可以重构到前面说的API和SDK上去(以便吃自己的狗食,验证API、SDK的设计合理性)然后再开源出去。

四、BD和运营团队

  传统背景的业务人员面临挑战。因为他们要花一些时间才能意识到:推销的是通用平台,而不再是某种具体应用。

  1. toB销售,又面对专业技术话题,业务团队需要配备得力的业务架构师(BA)帮助技术交流,给解决方案。

  2. 找来了很多客户,仔细聊下来,有一半其实是需要Word(应用),而不是Windows和VC++(平台)。早期应该组建专门的技术小组,自己扑上去帮客户开发应用,也算吃自己的狗粮。后期再逐渐找外包商和集成商。CEO说,友盟的前70个客户,都是友盟自己的程序员扑上去帮他们写APP。

  3. 平台是前所未有的东西,是改变现状的创新。所以业务团队的目标不是销售数字,而是尽快立起标杆客户。

  4. 业务团队需要了解技术团队的发布节奏。知道有“水面以下”工作量存在,例如产品架构设计,例如重构偿还技术债。这些最终会影响到技术团队的持续交付能力。

  5. 业务团队有权要求更多后方的火力支援,理直气壮扯着产品经理的耳朵大喊客户需求,明确业务优先级,并监督技术团队的产出。

  6. 最终,其实和技术团队一样,业务团队最大的挑战还是学习能力,建立独特的思考模型。

GeneDock成立一周年了

  今天是GeneDock成立一周年。一大早,在外出差的厦戎就发了一封邮件出来。我很喜欢里面的一句话:“一起建设一家员工喜爱,客户信任,行业尊重的好公司。”

  后来RUDY哥又发了一篇博客《做一只努力的梯子》,感觉特别符合当下的心境。“做钉子的做一只坚韧的钉子,做踏板的做一只不打滑的踏板。”

  搜索了一下,找到去年刚开始时发的一篇微博

  回到家,女儿跑过来,给了一个认真的拥抱。

  跳出懒惰、恐惧、自负、自怨自艾……专注起来,做一个快乐、靠谱、勤勉的创业大叔。

GeneDock刘畅将在PyCon China 2015做报告

  人生苦短,我用python。但用python最人痛苦的事情有二件,一个是编码问题,另一个则是import不了包。9月19日,GeneDock团队的刘畅大神应邀在PyCon China 2015大会上做技术分享,题目是:python的module机制与最佳实践。

  畅爷这次报告将详细讨论python的包管理机制,python如何引用包,PYTHONPATH是怎么回事,sys.path与其有什么不同。为什么py3把py2的包引入机制彻底废弃。py3的absolute import又是怎么回事。还会给出关于python项目目录的最佳实践,避免各种引用的问题。

  刘畅,曾就职于微软与阿里云,现在是我们GeneDock创业团队的一员。他的博客地址是:http://lcblog.sinaapp.com/

GeneDock招聘前端工程师

  GeneDock.com是基因数据云计算领域的创业团队,帮助各领域用户处理海量的基因数据。随着业务增长和产品功能的增加,前端团队已经忙不过来了。所以我们需要你:一位有品味、有好奇心、热衷于前端技术的工程师。

  我们的系统是典型的云服务,实现了前后分离:后端复杂的分布式计算、上T数据的处理作业,都封装成了标准RESTful API;而所有的界面渲染和用户交互逻辑,则全都委托给前端AJAX实现,也就是常说的SPA(single page application )架构。在GeneDock团队,你有机会做出最酷的代表作,成为出色的全栈工程师。

  基因数据的业务交互非常复杂,前后端如何配合,提供多样流畅的用户体验是个关键问题。GeneDock团队正在实现:

  1.基因数据可视化。包括方便的基因浏览器,多样的交互统计图表功能,帮助用户高效对比多组DNA数据,查看和标注变异位点。
  2.生物算法开发IDE。包括App和workflow的图形化配置工具,帮助生物信息工程师通过更好的交互方式创建和调试基因数据的分析算法和流程。
  3.专业文档模板编辑器。包括交互式图表编辑和展示界面,让用户只需要编辑markdown模板,就可以通过报告引擎自动化生成分析报告。
  4. 多种资源控制面板。包括数据、计算任务、分析流程等的监控管理平台,帮助用户更简易的操作和分析大量的基因数据和计算作业。

  如果你对上面这些事有兴趣,请联系我们 hr@genedock.com 。GeneDock团队在云计算领域拥有丰富经验,会提供互联网行业有竞争力的薪酬、福利和员工期权计划。具体职位描述如下:

前端工程师
  我们希望您热衷于前端技术,对浏览器加载方式理解深刻,渴望实现多样流畅的用户体验。

工作职责:
  设计并开发web前端页面,完善报表展现、数据操作等功能,并能使用缓存和按需加载方式优化页面性能。

任职要求:
  1.熟悉W3C标准,熟悉MVC模式;
  2.熟练掌握HTML/JavaScripts/CSS等前端技术;
  3.熟悉jQuery/Bootstrap等常用库;
  4.对用户交互设计有自己的理解。

其他:
  1.熟悉主流Web框架优先;
  2.有数据可视化经验优先;
  3.熟悉Html5/AngularJS优先;
  4.有git使用经验优先。

更多细节,请参考: https://genedock.com/joinus/

4月11日的NGS创新开发者大会,GeneDock有个分享

  我们会参加明天(4月11日)的NGS创新开发者大会2015。GeneDock的CEO李厦戎博士会在大会上做一个报告。大会的具体日程点击这里。测序中国和基云惠康主办组织得非常成功,据说报名人数超出了预计的50%,会场已经彻底装不下了。很多圈子里的朋友都在,希望和大家多交流。以前没见过面的同学可以在会场上给我的微博账号 @还是地雷 发消息互相找。

3月21日下午我在IC咖啡有一个技术分享

  本周六下午,我会参加一个由测序中国和贝壳社主办的创业沙龙。期间我会做一个15分钟的讲演,分享GeneDock的基因云计算实践心得。欢迎捧场交流,欢迎现场投简历(JD参考 https://genedock.com/joinus/

  具体时间地点:2015年3月21日下午14:00,中关村海淀大街36号昊海楼地下一层IC咖啡。活动限定人数50人,提前报名:http://eqxiu.com/s/5vXT02#rd 。注意:活动是免费的,但下午茶AA人均50元。

2014再见!

  从阿里辞职创业两个月了,忙得没心境写BLOG。实在对不起订阅者。今晚给wangleheng.net域名续费,顺便上来敲两句,免得大家以为这里死掉了。接下来的更新节奏会逐渐恢复正常。

  先傲娇一下!念念不忘好多年,终于迈出关键一步。给自己点个赞。一个已经创业的本科同学给我发来贺电:“尝试改变世界,或者等死。很高兴又出现一个人选择了前者!”

  回来继续写总结。2014年初的这篇BLOG已明确提到今年要做的两件事:完成ODPS对外开放商业化,然后着手准备离职创业。现在看都做到了。我给自己打个90分。扣掉的那10分源自ODPS商业化过程中出现的大量问题。经验教训记住了。同事朋友们的善意也记住了。

  关于新公司的行业背景和介绍,可以参考我们在Qcon上的分享图灵专访。目前在宇宙中心——回龙观的居民楼里,距离地铁站步行2分钟,逆峰上下班。下面这张是我们的门神。

qintianzhu

  我们在招人。点这里看职位。公司提供机械键盘,人体工程学椅子,多显示器,不限量vpn,正版开发环境…这些要求对程序员来说并不过分!牛人把要求在简历里列清楚,我们赶快办入职手续吧:)也好尽早给推荐你的朋友发iPhone6。什么?女王范的美女产品经理?这个…快有了快有了…

pingmu

  互联网创业,工号是个位数的员工大都是在A轮之前加入的。这些同学的工作能力未必Top 1%,但往往拥有清晰的决策树,知道平衡点在哪儿,知道自己不要什么。观察每个人如何取舍、如何谈判并最终入伙是一件很好玩的事。Welcome aboard,各位GDer!系好安全带,这会是一段奇妙的回忆。

  至于我自己,纠结的时间不长。答应合伙人会出来一起创业的那天晚上失眠了,毕竟要放弃很多,例如大笔阿里股票,后来在手机上给某慈善基金会捐款了100块,平静下来,然后去睡觉。从那天开始,每天都比前一天更确定自己的选择是正确的。

  其实最近看到大量阿里的同学都出来。其中玄橙老大也看好生命科学这个行业,加入了即将上市的华大基因。他还写了一篇文章回忆叛逃的过程,据说最早还是被我忽悠的。

  如果你对创业感兴趣,又不太了解。推荐9月起YC的新主席Sam Altman与Stanford联合开的一门创业课,叫“How to start a startup”。我每晚和女儿玩游戏、哄她睡以后,就在手机上听一课。收获很多。这里是视频课程的网站。另外,罗胖在《逻辑思维》这一期视频讲得也很有趣。还有,我在读Startup: A Silicon Valley Adventure

  2015年要来了,祝大家都离自己的梦想更近一步。