只有各个阶段合理的技术选型,才能最大程度地提高企业和团队的效率,从而开发出满足用户需求的产品,尤其是初创期。
这里结合我的经验,谈谈3条必须掌握的技术选型核心要领。
认清技术的价值
首先,要正确认识技术的价值,我一直在反复强调,技术的价值来源于用户和业务的需要。如果没有用户和业务的支撑,再好的技术也无从发挥,也更谈不上今后职位级别的提升(给随公司步伐前行是最好的进阶方式),比如你有机会从早期创业公司的一名程序员,一步步随着公司的发展,往技术经理、技术总监等方向发展,比如:早期淘宝的第一代程序员,比如行癫(从早期的程序员成长为如今的阿里CTO)等,这里的案例特别多,跟随公司成长的步伐。
这也是公司赋予的价值,除此以外,也要清楚技术支撑的背后是用户及业务需要,这一点没搞清楚,技术的选型思路在早期选型往往会跑偏。
早期业务没有起来之前,技术选型就得实际。
技术选型对创业公司至关重要,好的选型会让你少走弯路,产品更快推向市场,比竞争对手更快赢得客户,获得更多融资,有更多资源投入产品研发和市场扩展。
我发现一个现象,很多公司在做技术选型的时候,大部分都是蒙头组建团队和做技术选型,缺乏对开源技术市场和付费技术市场的深入了解。
采用开源技术体系为佳,但也不能全盘否认付费技术体系,比如很多付费的客户系统,无侵入集成,只需要集成一段前段代码即可,确实非常高效,按需付费。如果一定要找开源客户系统,使用时间愈长,从用户体验到后期数据分析,其实成本很高。
初创团队的技术选型思路
首先,我们一起来看一个技术选择的场景案例。
很多早期的初创团队,比如想搭建一套公司电商系统,或搭建公司网站以展示品牌介绍等,通常情况下选择找外包开发或主建团队开发,兼容用户访问web和pc的可适配,这是大部分人的的正常选择思路,从美工设计到程序实现,人力、财力、时间等投入成本可想而知。
坦率的讲,真的有很多人不知道用wordpress去搭建这样一套系统,用时多久,技术复杂度有多难,需要多少成本投入,搭建后的效果是否与定制开发效果一样,如果不一样,偏差有多大,是否能接受?事实上,熟悉wordpress的一个程序员用时不超过一个礼拜就能完成(仅限公司品牌介绍,不是电商交易版本),方便快捷开发周期短,研发性价比高到超乎想象,这里我讲到的是大众场景(非纯定制视觉设计场景),也不需要懂具体的coding,毕竟里面网站替代模板太多,总有一款适合自己,这里不讲具体的wordpress操作,如果这种方式非常适合初创早期项目,将为你省去大量的成本,加快产品上线步伐。
其次,谈谈开源场景的选择思路
如果大家还有印象,微软的.net产品,国内早期有几个大中型网站,比如携程、5173、大众点评、京东等早期都是采用.net开发。因为使用门槛低,但随着公司的发展,有的因为成本太高而继续被捆绑,有的则破釜沉舟要摆脱这种束缚,纷纷求转型到java,京东已经全面转过去了,携程还在转(至少底子打好了),5173据说找了多为CTO和大牛,仍然搞不定,这种公司发展到一定的级别,转型越晚成本越高,严重影响公司的发展,期间难言的痛处过来人方能切身体会。
然而,如今的开源技术路线如何,该怎样选择呢?
选择可以掌控的开源技术产品、语言、程序、框架乃至解决方案,上图是一个典型的开发语言场景,比如php就是比较典型的web开发场景,很适合电商、博客、公司品牌展示等,而且用户基数大,总能找到不错的开发工程师,也方便后期维护,而且开发效率也比较高。php作为开发语言的成功产品不计其数,比如知名度最高的facebook等,还有很多php的开源项目根本不需要你再开发,稍加定制即可。
技术本身没有高下之分,差别在于使用技术的人。
技术团队的人员结构
很多初创公司特别是偏传统企业,一上来就摆开阵势,我们不缺钱,就缺BAT的人才加入,我们需要把BAT的研发体系和IT组织结构无缝引入,从总监到经理再到研发体系等。
这是一个典型的误区场景,其实团队刚启动时不需要直接招技术总监、技术经理、架构师这些看起来级别很高的人,因为他们未必认同你的想法和你现在的团队,也不一定适用你的现状,建议找能实现你产品想法的人,在早期不需要追求高大上,只需要快速实现产品,这个阶段最重要是考虑建立一个最基本6-10人的IT雏形产品开发团队,运营推广等这里我没有画出。
最后有一点必须要说一下:不要因为一个人的技术喜好而舍弃整个技术团队,在任何时候这都是很愚蠢的事情。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》