Category Archives: 流水帐

《GeneDock Python SDK从入门到精通》写得好

  GeneDock的基因数据工程师成帆撰写了一篇BLOG《GeneDock Python SDK从入门到精通》,我觉得写得很好。连一向挑剔的CEO厦戎都转发了一下,并评论:“静下心写好每一行代码和每一段文字,会看到大不同”。

  很多公司抄袭我们,从网站文案、会议PPT、技术建议书、微信公众号到招聘JD。这么不走心,真能服务好客户吗?还是上次藏在HTML那几句话送给他们。想跟更有意思一点的对手过招。

  最后放一张以前贴在微博里的照片,珠峰四号营地,凌晨三四点钟,冲顶的队伍已经出发。登上8848的人,有4%的概率回不来。加油!

GeneDock招收生物信息实习生

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

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

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

悉达多·穆克吉的《众病之王:癌症传》

  前几天从我们GeneDock的公共存书里翻出《众病之王:癌症传》。利用上下班时间,在地铁上读完了。这是一本非常精彩的史诗。

  对抗癌症本来确实是个有点压抑甚至绝望的话题,但同时也体现出了人类惊人的智慧和坚韧。一代代医生和生化学家提出各种假设,然后努力用科学试验和临床观测证明自己的想法。大多数人都失败了,但每一时代的主人公都完成了某些使命,替后人铺了一段路。读到最后几章,希望慢慢多起来。近二十年的技术进展尤其令人振奋。Rb,res,myc……每个基因突变的发现和证明,都是一段令人叫绝的侦探故事。随着致病机理逐渐被揭示,针对各种癌症通路的靶向药物也就开始出现了。

  读这样的书会强迫你思考生命的意义。对我个人而言,GeneDock正在帮助专家分析海量的癌症基因数据。商业以外能为这项事业出一点点力,也算没白过吧。

埃里克·杰克逊的《支付战争》

  《支付战争》精彩的情节可以当小说看,很多卖点:例如作者从传统行业跳槽到互联网创业团队,刚入职时所感受到的一片混乱;例如,现在已成为常识的Growth Hacker运营手段,包括病毒式传播,直接花钱导入流量和用户,注册一个账号送10美元;又如,两个创业团队杀得血流成河,突然戏剧性地宣布合并;再如Paypal和X.com合并后,Elon Musk和Peter Thiel这两位如今红得发紫的牛人之间的激烈斗争,尤其是把Elon Musk赶下台的那次政变……看完这部美利坚商业宫斗戏,你就知道现在中国O2O行业烧钱抢用户然后相杀相爱的这一套,都是原样照搬人家十几年前的玩法。

  不过对我来说,上面这些不算特别来劲。因为Paypal黑帮的故事实在太有名了,大多数所谓“互联网思维”的段落,已经通过各种投资分享、创业宝典、大神博客看过了。

  让我兴奋的内容:

  首先,是David Sacks带领的运营和产品团队在几个关键节点的思考和应对,包括那些因为后续变化并没有执行下去的方案,例如:网络机器人买手计划、主动进军博彩业和色情业的拉斯维加斯战略、针对eBay的“核武器计划”等。Paypal黑帮很多人都是斯坦福大学的校友,这帮人的情商、逻辑和决策能力绝对是最终成功的核心因素。

  其次,是书里若隐若现的技术团队负责人Max Levchin。粗看,这人好像一直埋头忙于关注平台的安全性、防欺诈算法、性能稳定性等基础问题,与一次次激动人心的用户量暴增关系不大。但Paypal和X.com合并之后,Levchin短暂地失去了对技术方向的把控,后端平台就开始出问题,给运营前线拖后腿。最终后端服务是用Unix还是Windows这种纯技术路线的问题,居然导致了技术和产品核心骨干对Musk的反叛。

  最后,是不同组织的企业文化。有意思的是经过了十几年,2015年夏天eBay又把Paypal单独拆分出来。

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招聘前端工程师

  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/

成长和决策

  创业以后就变得紧张,有时候睡不着觉,没有心情更新博客。其实工作量还好,GDers大都是出色的工程师,团队也采用了成熟的软件工程,尽管工作强度很大,却不太加班。

  紧张是为个人能力不足而焦虑。真刀真枪开始创业,挽起袖子一个个PK问题,以前养成的粗心和懒惰的坏毛病就跳出来了:竞品调研不深入,代码review不仔细,琐碎管理没耐心、文档和邮件拖延症、人际交流疏忽大意……运气好,合伙人和团队都是顶尖的,同伴互相帮忙扛了很多事。但是团队在进步,跟不上,你自己就是瓶颈。

  刚去德国休假调整了一下,静下来仔细想了想。接下来得更勤勉努力,也需要更有效的沟通。关键是执行!关键是执行!关键是执行!(重要的事情说三遍)。希望自己还能不断成长。在BLOG这里把当下的心情记录一下,日后印证。

  放几张德意志博物馆的照片,这里被称为“工程师的卢浮宫”。

  再聊聊决策。

  上周去计算所参加了一次创业沙龙。做了一点分享。除了介绍我们的产品,还聊了聊创业本身,尤其是关于决策,内容整理如下:

  1. 无论做什么事,关键都是决策和执行。
  2. 所谓高效的决策,就是在有限的时间内,凭借有限的信息作出正确的选择。这里面有很多重大选择,短期看无所谓好坏,然而涉及长远目标的取舍。
  3. 时间信息有限的情况下,要是没有一套自己现成的逻辑,就成了赌博,决策质量不会太高。
  4. 逻辑或者说方法论,源于系统化的阅读、交流、试验、学习和思考。
  5. 诺贝尔获得者那本《思维,快和慢》讲的就是这件事:人类的大脑有两种思维方式,一种是逻辑思维,很慢很费能量,但能应对复杂场景;还有一种是感性直觉,很快,但几乎是最原始的神经反射。系统很懒,总是不自觉地就切换到“省电模式”去了。而且关键时刻,在压力和情绪作用下很难静下心思考,往往是直觉占上风。正确的直觉并非天生,源自大量的自我训练和经验积累。
  6. 搜索引擎有离线和在线两套系统,离线系统很慢,但是负责抓取全网的数据,build索引。而真正查询过来了,在线系统直接查找索引,几句if else if else就快速返回答案。
  7. 平时对一个主题不涉猎没概念,没有构建牛B的索引,事到临头指望灵光一现,往往会进退失据。所谓机会给有准备的人,我在团队招聘时感触很深,很多人真的不懂创业,同时也没想清楚自己能做什么,想要什么。
  8. 在创业这件事上,很多朋友很有热情,但表达出来的逻辑很浅:迭代改进、不怕失败和挫折、独特的点子、找用户体验的痛点、点灯熬油加班拼搏……总之,基本来自网上鸡汤段子和《乔布斯传》的片段,却缺少详尽的调查和学习、深入独立的思考、清晰的自我认识、与众不同的洞见、以及细节上的取舍决策。
  9. 指望用蛮力代替深思熟虑,这不靠谱。读万卷书,行万里路,把精力集中在长远目标上,把自己训练成领域专家。
  10. 我选择厦戎这个老大,就是因为他的决策质量非常高。

  叭叭呜的知乎专栏最近有一篇文章,讲述了Segway公司早期和乔布斯的交流。 即使交流对象是乔神这样的偶像,没有独立思考和逻辑,被对方洗脑,也是很危险的。Segway这件事里,即使乔布斯说得全对,他们也许还是应该咬着牙继续坚持原有节奏。而不是丧失信心推迟发布计划,甚至要“做出一款让乔布斯尿裤子的产品再发布”(注意,连语言表达方式都被乔布斯影响)。

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

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