Tinyfool的Blog

这就是我,Tinyfool,郝培强!身高180,体重240,标准的中年老胖子。 有妻有女,无房无车,现居上海,程序员。

Browsing Posts published by tinyfool

文 / 郝培强

首先要说的是,我认为创业公司的技术路线选择并不是一个技术问题。如果是一个纯粹的技术问题,那么很可能会一直争论不休,最后的结果就像某个笑话里面说的,某公司一直到倒闭技术路线还没统一。因此,本文不会向你推荐任何一个具体的技术方案。

创业公司往往都面临着不同程度的资金和资源短缺,经不起反复修改技术路线带来的资源浪费,需要管理者或者技术带头人能够较早地确定一个适合的技术路线。因为技术路线决定了岗位如何设置、人员如何招聘、开发周期、开发模式等。而更多时候,人员招聘可能是最核心的问题。

那么创业公司该如何选择技术路线呢?我有如下一些看法。

给非技术出身创业者的建议

以前做技术咨询时,我们经常会遇到一些非技术出身的创业者,他们往往对好的技术人员非常渴求。但对如何找到好的技术人员,如何吸引技术人员加入,他们却束手无策。在我创业的这两年,这点得到了充分的印证,我可以轻松地劝喜欢的技术人员加入,但要找到好的设计师并说服他们加盟太难。各种人才都有自己的圈子、文化和行为方式,他人很难融入。

对于非技术出身的创业者,我的建议是,尽量使用开源系统、现成的解决方案。虽然技术人员往往对Discuz!、UcHome甚至WordPress等现成的系统颇有微词,但对于没有技术背景的创业者,这些系统是最好的切入点。

我见过一些非常成功的团队,创始人完全不懂技术,但对产品、运营、营销非常在行,他们的网站全部采用开源系统,没有任何的改动,只是找了设计师对样式做了修改。网站的流量、用户满意度都非常不错。因为没有任何先行的开发,所以网站可以很快正式上线,而且大多数程序的开源系统,也都有较强的自定义能力,仔细琢磨下就可以玩出很多花样。

这样的团队往往没有技术人员,或者只有一两个很初级的技术人员,因此,在网站成功发展后,往往会遇到一些技术瓶颈:例如在流量猛增后,技术人员不知道如何化解;产品发展了,开源软件的基础扩展能力不能满足需求以后,需要二次开发或者需要重新开发时,现有技术人员的能力无法跟上。

这时就需要考虑引入一个好的技术带头人,建立自己的技术路线。通常也会有一番波折,但这也是种甜蜜的烦恼,因为不发展到一定程度,根本不需要考虑。发展到这样的程度,公司的现金储备和知名度都有了很大的提升,招人也就会容易一些。

给技术出身的创业者的建议

首先,我认为一切企业管理的出发点和归宿都是“人”。什么样的公司吸引什么样的人才,所找的人才又会影响公司企业文化的形成。技术路线的选择,一定要结合获取人才的难易和开发模式的组织情况来思考。

激进的技术路线

很多人喜欢激进的技术路线,比如用Erlang、Go等语言做项目,而公司全部员工几乎都是初学者。又或者有人在iOS第一代SDK出现时就投身App Store。

有时,有些功能或产品只有激进的技术路线才能解决,较早使用先进技术可以获得技术优势和壁垒,在一般网站都使用SQL Like语句做全文搜索时,如果你率先使用Lucene/Sphinx等开源搜索引擎,那么就会在性能和效果上有非常明显的优势。技术发展非常快,但普及非常慢。在2001年开发出Lucene第一个版本后不久,国内的技术人员就开始写文章和学习笔记介绍它,但到了2008年,国内很多中型网站的全文搜索仍在使用SQL Like语句,很多技术人员明知这样耗费服务器资源很严重,甚至会拖垮服务器,但也不会改用Lucene。

有时,激进的技术路线可以帮助你在新兴市场占领先机。前两年苹果App Store刚刚出现,软件比较缺乏,所以只要产品质量尚可就可以获得很多用户,从而获得不菲的收入。现在开发者想做出被市场认可的产品非常难,而那些进入早的产品则可以靠早期积累下的用户稳定可靠地发展。

激进的技术路线的另一个好处是,可以作为人才过滤器。如果公司使用的技术刚出现或者刚开始流行,那么愿意尝试甚至可以用好这种技术的人,往往是善于学习、不怕麻烦的。这是技术团队里面最喜欢的一种人。

但激进的技术路线不是谁都可以玩得转的。如果想采用激进的技术路线,往往需要技术带头人是所选技术的专家,可以在技术方面辅导团队成员。同时不能让先进技术成为技术带头人的独门绝技,这样的团队是不健康的。

沉稳的技术路线

对大多数公司来说,真正的竞争优势是产品和服务,而不是采用了什么样的先进技术平台。在这样的公司里面,技术团队的任务不是提供核心竞争力,而是给公司的业务部门提供坚实可靠的技术基础,那些不能带来产品和服务体验升级的技术亮点并不重要。

对这样的团队来说,我建议采用沉稳的技术路线。简单地说,就是采用技术带头人或者团队成员都熟悉的技术,一切从实用出发。

首先,招人变得相对容易。到目前为止iOS程序员的价格仍旧是居高不下,且非常难以招到高质量的。与之相对,C#程序员、PHP程序员、Java程序员就相对便宜和好招多了。同时,可以选择的现成技术解决方案也多了,就PHP、.NET、Java等语言来说,开源的论坛、CMS系统都非常多。

对语言和平台来说,技术越来越不重要,更重要的是社区和支持。技术人员应该改变思路,不管什么语言和平台,在合适的人手里面都可以释放出巨大的力量。

以Java为例,之前是一门新兴语言,存在的最大问题是各种第三方库的匮乏。但这些年发展下来,以Apache基金会、IBM等为代表的机构,积累了大量的开源库,如Lucene家族等。

再以PHP为例,PHP早期就是以快速开发、简单易用而闻名的,在大规模计算和性能上并不占有优势,特别是脚本的运行方式带来了一些对象生命周期以及性能的问题。但作为PHP用户社区的成员,LiveJournal创造了Memcache解决了缓存生命周期,Facebook创建了HipHop for PHP大大提高了性能。

所以我们不仅可以在理论上说,没有坏的平台,只有坏的架构师,也可以从实践上说,现在几乎每个主流开发平台,都有一些世界级的优秀网站背书。而且在互联网时代,其他公司的经验很容易借鉴。

因此,采用技术带头人或者团队成员都熟悉的技术路线,积极了解社区动态,大多数公司就可以应对技术上面遇到的问题。对于乐于学习的团队而言,现在是最好的时代。

刊登于《程序员》杂志2012年04期,请勿转载。

来自李先生的问题:

我是看了经纬张颖的微博之后,立刻拜读了您的博客。对您的产品,我表示很佩服,因为我也是一个刚刚走在路上的创业者,现在一无是处,只是有一个想法。而您的经历,让我产生了很多的共鸣。

我想,在您面前我没有什么可以隐瞒的。这也是我看了您的博客之后,给您去信的原因——我曾经是一个媒体人,平媒和网媒都呆过。在媒体电子化的时候,根据多年的经历萌生了做一个电子媒体APP的强烈愿望。现在我有的是自己十年媒体经历总结的内容工作规则,一份不入人法眼的、凭借自己的理解写成的商业计划书(而且还是word文档),其他则一无所有。

我只有媒体内容执行和内容管理的经验,因此不知道如何去和投资人谈合作,也不知道去哪里找合适的技术人员和我一起来开发我的这个产品。在这个很直白的商业社会,因为一个想法而获取大笔金钱从而壮大的过程,只属于故事书。

但是为了我的这个想法和产品,我会去向各种我觉得能够求教的人求教,这其中包括您在内。

请允许我斗胆问您几个也许您会觉得很蠢的问题:

1.在创业的初始,自己掏钱支撑自己的产品研发和运营,是100%的必由之路吗?
2.如果我身边没有可以合作的技术开发者(那是因为我不认识),我应该如何去寻找?

这也是我目前非常迷茫的几点。
希望得到您的回复。即使是几个字,我也感激不尽。

我的回复:

1、我创业过两次,两次都是拿了投资才成立公司的。

第一次,我和朋友本来在做技术咨询,但是我们发现我们的搜索产品很受市场欢迎,所以我们寻找了一个天使投资改成专做这个产品。

第二次,就是这次,相信你看了文章就知道,我在找投资半年前,东西已经做出来了。

所以,就我的经验,是应该自己掏钱支撑产品研发和运营。虽然我两次都没有掏什么钱,但是公司成立之前,我实际上把自己的很多精力投入进去。

我不是什么天才,也不是什么简历看起来吓死人的牛人。所以,我认为我想到了一个想法,还不够,这个想法能不能实现,需要先期的努力去证明。我想,你也许也不是天才,所以,在找人给钱之前,至少需要做出点什么,能证明方向靠谱,或者你足够努力,或者你确实坚持。

很多年我都曾回想,我是为什么走到创业的不归路上的。真的,创业真的没有上班轻松,我没有明确的上下班,我坐在电脑面前就会想起有无数的事情没有完成。我有时候怀念自己在别人公司上班的时候,像个大爷一样,经常迟来早走,无非是扣点工资嘛。然而,我发现我必须会创业,因为我总觉得自己有很多有价值的想法,可以让世界变得更好。这种想法多了以后,我就想去实现它们,哪怕这个过程灰头土脸,自不量力。

所以,我建议你先赔点自己的钱和时间做做看,也许知道自己的想法是靠谱的,还是荒谬的;知道自己更喜欢创业还是就业。然后,当你毅然决然了,手里面也有些东西了,找个投资人就变的更加实际和容易了。

2、找人永远是最麻烦的事情了。即使是技术出身的我和我的大多数朋友,还有在大公司做项目经理、产品经理出来创业的兄弟们,总有各种各样的麻烦。我的建议,可以考虑自己学,如果你有激情和时间的话。就算学不会,多少懂点,你可能就知道怎么跟技术人员打交道了。也可以考虑不着急找到一个牛人,想找到一个还成的人就开始。不开始永远不知道该怎么办。

至于结交技术人员其实很简单,我们这些人往往都单纯。如果你技术比他强,他往往就会服你。如果你技术不成,但是人格魅力很好,他也会服你。再不成,你多请他吃几顿饭,他就不好意思了,想方设法的都想帮你的。

不过千万不要骗这些人,他们都太单纯了。

李先生后来的回复:

来信获悉,十分激动。
看了您的回信,获益良多,虽然这样有些俗,但是我依然要这样回复。

目前来看,我自己在平煤和网媒都呆过,因此我对于价值信息的萃取以及将来平板媒体的发展方向,的确投入了很大的心血去研究。如果我不是为了实现这个小梦想而选择创业,那么也就没有给你的这几封电子邮件了[笑一个]。也许可以说,我是在进行一场对赌,拿我十多年的职场经历以及后半生的颠沛流离去赌一个梦想。但我并不后悔。就像您所说的“因为我总觉得自己有很多有价值的想法,可以让世界变得更好”。

我不敢说我的这个小梦想最后能庞大到击败“X浪”,淘汰“X讯”,毕竟这不是安徒生童话。只不过我这几年来,一直在就价值内容的萃取和传播、平媒如何“嫁接”,网媒怎样“脱水”进行研究,我深信我能等到承载这个梦想的平台出现。现在这个平台果然来了,就是智能手机和Pad。然后我发现,我要实现我的产品,却没有技术。而我的确只是一个涉足IT行业的文人,而不是一个“程序猿”。在面临资金和技术的双重压力下,于是开始寻找一切可以被我抓住的机会,包括给你写信求教。对你的回复,我除了感激,还是感激。

现在我已经上路了,带着这些不能解决的问题。我只能先把我有的东西尽善尽美,然后去解决第二个问题,再按照您的建议解决第一个问题。创业者都是孤独而热情的,也是保守和谨慎的。您是一位好前辈,请多多给予我指点。也许我是不自量力,但是为了梦想不破灭,我愿意一直去维系。

最近忙的有点昏天黑地,很多邮件准备回,但是一直没有回。今天做个清理。以后邮件问我问题的,我会选一些贴出来,这样比自己想个题目写blog省事儿。哪怕是为了纯锻炼打字,写blog的习惯也不能停啊,对吧?

所有问题回答可以发布都经过了提问者的认可。

问题(from 张先生):

有两个问题,还请您费心解答。
一,我们公司准备开发一款ipad上的企业级应用,我想请教一下,如果我只在企业内部员工的移动设备上部署应用,除了把程序提交至appstore以外,还有没有别的办法?
二,我目前没有运行mac os x操作系统的电脑,正准备采购一台苹果笔记本,在不影响开发并尽量减少成本的前提下,您推荐哪一款型号?
另:在您博客看到您与传智播客张孝祥争论一事,作为Java开发人员,小弟在早年也曾受过张老师的就业视频教程启蒙,感觉张老师在教育方面很用心。近日得知张老师死讯,更有鞠躬尽瘁死而后已之感。希望郝先生得饶人处且饶人,给逝者的在天之灵一点安慰。
劳烦郝先生能给小弟不吝赐教,感激不尽。

回答:

1、你的需求有两种办法,都不需要提交到appstore上去。正路是申请$299一年的企业帐号,可以直接在企业内部发行app不需要上appstore,甚至可以自己建造自己内部的appstore,可发行无限制的设备。此外,变通的道路是申请$99一年的普通帐号,用测试方法(adhoc证书)发行到企业内部,一年需要更新一次证书,且仅限100个测试设备。

2、开发用什么机器都可以,我用air也开发程序,无非是累眼睛。如果你对开发同时打开多个网站和其他程序有很大的兴趣,那么配置需求自然高一点。如果不是的话,任何机器都可以。我建议从自己用着眼睛舒服,或者背着觉得沉不沉的角度实际去店里面考察一下后选择。

3、事实上我早就饶了他了,我在网上批评他是他死前几个月前,且批评后,我本着惩前毖后治病救人的原则,没有继续跟进。甚至他和他的同事发了好几篇关于我的文章,我都没有任何回应,甚至都没有给我自己做过任何辩解,我还需要怎么饶了他。删贴是万万不能的,我自己有信念,绝不轻易删除自己写过的东西。他死后,我写过简短文章,描述原委而已,且特意不提名字,这反而被很多人说成不尊重,汗。

在iApp4Me的官方Blog:http://blog.iapp4me.com/2012/01/06/iapp4me-one-year/

这边还会继续更新的,那边只谈跟iApp4Me有关的事情。