首页 > 程序人生 > 构建最牛b的技术团队就是这么个简单的事儿!
2015
09-01

构建最牛b的技术团队就是这么个简单的事儿!

  导语:CTO=承包商;数据工程师=客流规划师;后端开发工程师=电器工程师;前段开发工程师=土木工程师;UI/UX=室内设计师。

  纵观如今的创业圈,如果创始人是非技术专业出身,那么他至少需要对技术有一定的理解,但是,这一切该从何开始?技术团队该如何组建?又该找些什么样的人呢?

  针对这一系列问题,初创公司40Tasks科技创始人兼首席执行官Zhi Peng Lee给出了自己的答案。ZhiPeng拥有超过六年的编程和科技项目管理经验,并在去年创立了40Tasks公司,目前该公司的旗舰产品是一款闪购App应用------LOCO。

  在Zhi Peng看来,执行一个技术项目和构建一家购物中心(shopping mall)非常相似。为了更好地表达观点,他详细解释了技术团队中需要哪些角色,以及这些角色需要承担什么样的职责。

  一、首席技术官(CTO)

  在建设购物中心的时候,工程主承包商必须是个经验丰富的人,他需要熟悉建设购物中心的方方面面,从各个部门获取项目需求,准备建筑蓝图,聘请有关专家,并积极协调各方工作。在整个建设项目执行过程中,主承包商的角色非常重要,因为每个人都需要按照他的指令完成工程建设。

与之类似的,在技术团队中扮演“主承包商”角色的就是公司首席技术官。首席技术官也必须是一个经验丰富的人,他必须了解项目的业务需求,并把这些需求转化成为项目蓝图。同时,他需要招聘程序员和工程师进行项目规划和开发工作。首席技术官必须要制定一个行动计划,然后由不同工程师按计划执行。

  二、数据库工程师

  在建设购物中心时,你必须要考虑客流量的问题,因此客流规划师们需要逻辑判断客流量和客流动向,同时还要考虑电梯和楼梯间的位置,以及如何分配零售空间。实际上,客流规划师必须要决定如何最有效地利用商场空间,他们的职责就是要最大化利用场内空间,在确保不拥挤的前提下,让更多人能在购物中心内自由走动。

  那么在技术团队中,扮演“客流规划师”这种角色的是数据库工程师,数据就是商场里的顾客。数据库工程师的职责,就是要确保所有的应用程序数据都能被有效存储,同时也能进行高效查询。数据不仅不能负载影响系统运行,还要做好备份和恢复工作。

  在此推荐几款较为受欢迎的数据库工具,传统工具有mySQL和postgres,还有一些无需编写SQL语句的数据库工具,比如Mongo和CounchBase。

  三、后端开发工程师

  在建设购物中心时,结构工程师、机械工程师、以及电气工程师是必不可少的,只有他们能够完成各种基础性工作,比如安装各种机械和电气设备,包括排气管,排污管,水电和空调安装,等等。此外,他们还需要负责商场内各种管理控制系统。

  科技团队中扮演这种角色的是后端工程师,这些开发人员的工作是帮助产品新增各种功能,他们的工作非常重要,想象一下,如果地基不稳,当客流(数据)进入商场(系统)之中,肯定会出问题。

  如果用普通的科技产品举例的话,后端系统可以这样组合搭配:使用Golang编译型编程语言开发应用程序接口(API),数据库使用CounchBase和Mongo,脚本程序和其他中间件由Python来编写,缓存级别用Redis搞定。其中每一项,都需要有专门的后端开发工程师来负责。

  四、前端开发工程师

  在建设购物中心时,土木工程师需要负责建造水泥墙壁和地板结构,他们需要把整个建筑装修一新,安装电灯,灯具,门窗,让购物中心看上去光彩夺目。

  对于一个网站,或是一款App应用产品来说,如何吸引用户,提升用户参与度也是非常重要的。而这恰恰是一个优秀的前端工程师需要做的,他们可以在后端工程师的基础上有效进行产品设计,好比土木工程师需要考虑商场大门和入口放在哪里最安全,窗户和灯具安装在什么地方最合理,诸如此类。

  前端工程师必须要满足企业的业务需求,并将业务需求整合到产品设计制作,他们其实是业务需求和后端开发的粘合剂。

  就拿前文提到的LOCO闪购应用举例吧,这款应用允许用户赎回闪购交易,创建推送通知,接受预订并要求送货。前端工程师会使用后端工程师创建的应用程序接口,在不同的移动应用和网页平台上实现相应的功能,满足用户需要。

  这里推荐几款前端开发工具,iOS可以使用苹果默认的swift编程语言,安卓则可以使用JAVA语言来构建设备前对。对于网页平台,前端工程师可以使用Ruby on Rails开源web框架,处理后端应用程序接口和html,CSS和AngularJS,构建网页应用程序。

  五、用户界面和用户体验(UI/UX)

  当所有基础工作完成之后,就轮到室内设计师和园林美化师登场啦,他们会优化购物环境,让顾客能在商场内愉快地购物。

  而在技术团队中,用户界面和用户体验工程师将会对产品进行最后一道把关,他们会检查用户流程处理是否正常工作,所有功能是否能正常运行。此外,他们还会帮助产品提升用户体验度,让用户获得更好的使用感受。此外,他们还会进行用户验收测试(UAT),以此判断app或网站是否运作正常,并删除一些不必要的业务流程或产品功能。

  本文只是做了一个简单的类比,希望能对正在组建技术团队的初创公司创始人有所帮助,事实上,现实中构建一直优秀的技术团队并不是件容易的事情,特别是当创始人没有技术背景时,了解每个技术团队成员需要扮演什么角色职责就显得尤为重要。

编程技巧