一个创业者眼中的技术


  (本人文采不行,时间也不多,写不了什么精彩的开场白,只能想到什么就写什么,还望各位技术牛人见谅!)
  本人背景:
  05年毕业,之后从事了5年的C++开发,在去年年中毅然踏上创业之不归路,至如今,头上已多了不少白发。
  一年当中,自己既是CEO也是CTO,还是CHO,哈,也许你已猜到我的状况。。。
  本文不谈别的经验,就说说技术:)
  首先,要讨论的一句话是:技术不是问题!
  这句话,很多技术人员不仅喜欢挂在嘴上,还从心底就这么认为,我以前也属于这样的技术人员,可在我经历了下面两件事后,我醒了,而且醒的很彻底。
  一个是我创业时接到的第一个项目,需求看起来很简单,在经过简单分析后就觉得技术实现没问题,于是马不停蹄的开始写代码,写完一测,完全不符合预期,而且问题就出在其中一个看起来十分简单的子需求:在嵌入式板子上的两网口间转发数据包。我想你看了这个需求后也会心中可能会对我有点鄙视,这么简单的需求都搞不定,还搞啥技术呢?哈,别着急,我给你加个条件:在嵌入式板子上的两网口间转发数据包,每个数据包转发的延迟不大于10us。前面半句是客户给的,后面半句是我们最后分析出来的,当然,两者缺一不可。面对后半句需求,我傻了,真的。当时用的操作系统是Linux,之前应用层的实现肯定全费了,因为光进程调度就是ms级别的,us级的连影子都看不到,朋友就建议在内核里实现,哇哦,内核啊,老子前五年搞的都是应用层的东东,内核这么高级的东西还真没玩过,不过为了项目,为了钱,硬着头皮也要上,还好有强大的互联网和热心的技术牛人们的协助,我终于知道该怎么在内核级别写代码了,也知道该怎么跟网卡驱动协作起来,等代码一完成,一测,进步是不小,大部分数据包的转发速度立马从几百ms降到几百us,但依然不能满足需求,首先是几乎所有的数据包都得满足条件,光"大部分"是不行的,其次从几百us到10us还有不少距离,怎么办呢?打个实时补丁看,也许能改善情况呢,费了九牛二虎之力终于打好补丁了,一测,"大部分"是变成了"几乎所有",但几百us依然酣然不动。此时我想到了换实时操作系统来开发,可板子已经被客户选定了,这中间牵扯不少商业利益,换不了板子,板子供应商也没用实时操作系统的经验,不可能专门为你搞,没有他们的支持,这边也就歇菜了。最后,有同学建议在网卡硬件上寻求解决方案,可找来找去,没有完全符合需求的网卡,厂商得专门为我们设计,可他妈得交几十万的定金,这又被pass了。也许我能找个硬件牛人帮我设计设计,可身边没这样的人,而且这个项目时间也拖得长了,客户那边已经没耐性了,最后只能作罢。如果看到此博文的牛人能解决这个问题(用什么板子都可以),请联系我,一起赚钱哦,哈。
  另一个是ERP项目,帮一家企业开发仓储管理系统,当时还找了个在知名ERP企业上班的朋友帮我前期了解需求,有专家帮忙就是好,客户需求都在我那位朋友意料之内,一个下午就搞清楚了,无论需求还是技术都没什么难度,于是后面我就接手做了。从开始写代码到第一个可测版本出来还是很快的,期间客户企业也专门提供了一个接口人跟我沟通需求,自以为应该没什么问题,可等产品一到客户手上,提需求的人突然多了很多,接口人也说没办法,当时他问其他人,都说OK的,现在他们不接受了,他也没招,只能让我改,否则拿不到钱啊,好吧,我改,等改完了,他们一看,又有奇思妙想出来了,每处改动都是一点点,可一点点加起来就让人崩溃了,这中间我是耐住性子,一边改,他们一边变,硬生生的把一个三四个月的项目做了大半年,把我搞的是心力交瘁,痛不欲生啊。
  第一个是纯技术的,第二个是需要人掺和的,在我这都成了问题。从此,技术不是问题在我脑海中彻底消失了。
  其次:技术只是你手里的工具,是工具就可能被你抛弃,但思想却能留下来。
  我搞了五年的C++,对C++感情不可谓不深,但当我在开发最近这个项目时,却硬生生的把它抛弃了,很简单,因为它太贵,我养不起。你可能嘀咕了,什么意思,什么贵不贵的,说什么呢?哈,如果你已是个打拼过几年的C++程序员,你应该知道刚出道时自己写的C++代码是多么垃圾,当过了几年后,你懂了很多,身价也突然飙升了,乐呵呵了吧,当然,这个我是要恭喜你的,因为你熬过来了。但作为一个刚创立企业的负责人,我必须考虑我口袋里的钱,第一不敢用刚出道的新人,C++代码要写的好得花不少培养成本,而且刚培养出来,他跑了,我不哭死;第二去找经验足的要价也高,我承担不起,所以光看在钱的面子上,我就不得不放弃它了。当然,理由不止这一个了。说其它理由前,得先说我选择了谁,Java,对,就是Java,人多、便宜、上手快、免费资源多,而且我要开发的是B/S系统,Java的成熟框架很多,不像C++,找不到什么知名的框架啊(别说ACE,能理解这家伙的CPPer就不多,能把玩的好的就更稀有了),所以选来选去只能非Java莫属了,至于客户端,我用了Flex,开发效率和用户体验都不错。看我这么一说,C++似乎一无是处了,非也非也!从开始接触Java和Flex,到自如运用它们写代码的时间也就一两个星期内,此内在原因就是他们和C++都是面向对象语言,都继承了面向对象之大一统思想,搞通了一种,其它兄弟语言自然也不在话下了。
  屁股决定脑袋,这句话说的真的一点不错。
  最后:去深入了解你所在行业的生态环境,不仅为技术的发展找到方向,也为你的人生找到方向。

猜你喜欢

转载自wangangie14.iteye.com/blog/1572452