没做过前端的技术副总裁和cto区别可以做cto吗

邹达,APICloud联合创始人兼CTO。他是APICloud云端一体平台的架构设计者,也是终端引擎和云端服务核心模块的技术实现者。他专注于浏览器及相关中间件技术,参与过多个主流浏览器引擎、JavaScript引擎以及移动中间件引擎的开发工作。邹达是一位拥有10年一线开发经验的资深码农,他对Web应用和本地应用开发,以及NodeJs、MongoDB、Redis等技术都有着深刻的理解,对于大规模、高并发的云端服务开发也有着丰富的实战经验。
问:你做过浏览器,做过手机,做过平台架构设计,一直到现在的云服务平台,每次角色转换背后的动力是什么?
我研究生毕业的时候是2006年,那时候手机刚刚兴起,还没有智能机。当时寝室6个人都来北京了,当时我们大部分人都是做服务器端开发,去神州数码、惠普,还有去做PC端的,但是做手机的不多。我当时去的德信无线,德信应该是那时候最大的手机贴牌厂商。
那时候手机的开发比较简单。因为feature phone本身的系统都已经写好了,你只需要调试驱动,做一个适配,根本不需要写太多的代码,一直是在改bug、调试,而不是从头到尾写一个软件。那时候手机上面就三个软件可以卖钱,浏览器、彩信、Email,其他的应用都是平台自带。Access是日本的手机浏览器厂商,那时候在中国市场预装量基本上是第一名,再就是obigo台湾联发科MTK系统里面的浏览器。当时工作需要我和他们的工程师也有交流,因为他们做的是核心软件,所以我当时还是很羡慕他们。
后来高通投资了德信,要做高通blue平台上的一个浏览器。我感觉这是一个机会,可以去做软件了。那时候我做浏览器里面的JavaScript解释器,因为整个软件需要从头到尾开发,所以这个过程对我来说成长还是挺快的。
后来因为要结婚,所以我回到了北京,去了Access继续做浏览器引擎。以前浏览器卖许可是很贵的,后来许可越来越便宜,因为智能机上面都自带浏览器。2010年国内智能手机兴起之后,浏览器的传统业务模式也就慢慢没落了。那时候我就开始想浏览器还有什么用,既不能作为入口,也不能收费。后来我想探索一下Web平台的可能性,就去了一家创业公司,开始做Web平台。我们想做一个基于浏览器引擎的平台,相当于用浏览器引擎做应用。以前的产品表现形式都是网站,智能机起来之后就是App了。App能不能用浏览器的技术来做?是不是会节省一些成本?我带着这些问题开始去做基于浏览器的移动平台,一直做到现在自己出来创业做云端一体的平台。
问:APICloud有一个比较鲜明的特点是云端一体,这个概念是如何产生的?
我从2010年开始就在写智能机上面的App,从2010年到2014年做了快有100个原生应用,我自己平时可能还会帮朋友做个应用什么的,做得其实挺累。安卓开发一遍,iOS开发一遍,要搭服务器、要设计数据库、两边要定义接口,要联调,要适配,环节非常多。所以我就想能不能用最简单的方式把活给干了。
于是我们就想做一个云端一体,你后端不用写代码了,我在前端调用Restful接口来写业务逻辑,两边采用相同的语言,你只需要学JavaScript就可以了。前后端也不用再定义接口,定好模型后这个接口就固定了。移动端应用也是不论几个平台只开发一遍,并且中间有大量现成的API可以调用。我之前可能是感觉太痛苦了,所以现在就想解决这个问题,按照这样的思路去做产品。
问:你们典型的开发者用户是什么样的?
我们各种类型的用户都有。对于个人开发者来说,因为我们的系统简单,只需要有Web开发基础就可以,而很多个人开发者可能之前并不是做专业的移动开发。之前有一个独立开发者,他开发了一个瘦身类的应用,利用APICloud前后端一个人搞定。个人开发者可能想学习,自己有想法,想自己去尝试做一个产品,通过APICloud就可以做到,我们的端API和开发工具都是免费的。
我们的另一类用户是外包公司,他们要求开发效率高、成本低。比如西安的万紫网络和孔方网络都是我们的用户,从我们上线到现在,他们用APICloud可能已经做了二三十个项目了,用一两周的时间一个项目就完成了。原生开发的门槛高,开发者在北京都不好招,而我们客户中很多外包公司都来自二三线城市。
另外,我们的创业公司用户也非常多,因为我们快。创业的第一个阶段就是概念阶段,创业者需要把产品快速做出来,推到市场验证一下。这些公司一般都会买我们的培训服务,比如杭州的创业公司战旗TV,目前安装量基本已经达到1000多万。他们做的是游戏直播,他们利用我们的平台基本上两周就完成了初版上线,我们刚上线的时候正好他们公司也刚开始做产品,我们是9月15号上线,他们是10月15号第一个版本上线。再比如品读者,点连在线等等狠多都是一些A轮或B轮的创业公司。
还有就是大型企业,他们一个企业可能就有几十个应用要开发,希望使用一个统一的开发平台,另外也包括大量的SI和ISV在使用APICloud平台。
问:你们最大的团队是开发者关系团队,他们主要解决的问题是什么?
开发者关系团队包括我们的布道师、讲师、技术支持。技术支持更多是在线上论坛和QQ群跟开发者做互动。讲师和布道师是在我们每个月在全国各地举行的线下活动和培训中去普及APICloud的使用方法,解决用户的问题。我们自己的工程师能用好这个平台,并不代表其他的开发者也会用得很好。我们的技术专家也会到大企业或者创业公司,给他们做短期的专业培训,让他们的工程师快速上手。因为每个讲师或者布道师同时服务的用户是固定的,随着我们的开发者数量越来越多,购买我们培训的公司越来越多,所以这里的需求也在不断增长。
问:现在APICloud上的API开发者有多少?现在平台的生态环境处于一个什么阶段?
现在平台上的开发者应该达到十几万了。
完整的生态环境需要几方面的人,有需求方、开发者、模块开发者、服务提供商。现在需求方还不完善,我们仍然是通过人工方式去服务的。需求方找到我们的开发者关系团队,说明想做的项目,然后我们去帮忙找开发者。我们将来会把这个环节做成产品,你可以在我们的平台上看到很多方案,以及很多优质的开发者。
另外有一点是我们还没有做的,我们现在的开发者已经能写应用了,但是如何能让他们的利益最大化,让他们写出来的应用产生二次价值?我们提供了一个类似于这种模版的商店,开发者完成自己的项目之后,他做的这个应用沉淀下来还能发挥出价值。
再有一点就是一些行业的解决方案。我们其实给自己的定位是一个PaaS平台,上面要支撑很多的BaaS服务。这些BaaS服务应该是跟各个大服务商结合,提供行业的整体解决方案,这是我们接下来要做的。
问:你在之前采访中说过相对于做十年技术,你更认可一项技术做十年。你现在做的移动应用云服务平台是否是一项值得长期投入的技术?
我做浏览器应该已经快十年了。我感觉移动应用云服务平台应该是可以做到10年的。为什么?因为我们叫APICloud。虽然我们是一个平台,但是我们认为我们将来的发展方向是API。不管是要解决移动端的问题,还是服务器端的问题,我们解决问题的方式还是通过API。我认为API将来会代替很多的传统软件系统,因为将来所有的服务、功能、数据都应该是以API的形式来提供的。
我们会抓住移动和云这两个方向。不管是手机还是将来其他的移动设备,移动领域的API我们是抓住了,将来不管未来怎么发展,API都要不断扩展。云和服务也是一样,将来的数据和服务一定是由专业的厂商提供,所以就需要各种类型的API。我感觉围绕着API去做,一方面是做扩展,扩展越来越多的功能;另一方面就是在API接入和管理上可以有很多的环节,你可以找到很多方向。
问:APICloud全站都是基于JavaScript开发的,这么做是基于什么考虑?
就是云端一体。因为使用跨平台的方式,我们移动端的App开发是使用JavaScript。如果后端开发想要减少学习成本,那就也使用JavaScript,用Node.js。
问:JavaScript上手简单,但是深入之后就会发现这种语言也可以很复杂很强大,请问对于想要突破学习瓶颈的程序员你有什么建议?
我觉得必须要在项目上应用。如果自己学,一般很难有那么大的动力。
学习要分成两方面来说。对于移动端,我们建议你不要去花大量时间学习大的前端框架,因为我们已经扩展了很多接口。你不需要用一些大的框架或者库,只要用最基础的代码就好了。但是服务器端你就必须得用了,因为Node.js相对来说比较成熟,中间件非常多。用的过程中你不只要把人家的东西拿过来,还有很多东西都要修改,这个过程就需要看懂这些框架的代码,理解实现机制。也就是说,你在用开源代码的同时,一定要有这样的决心:我要把它重写一下,或者优化一下,融入到自己的项目中。
问:现在Web上很多流量已经流到App上了,很多前端工程师觉得自己前途无望。APICloud对于前端工程师的意义是什么?
Web开发者的数量要远远大于App开发者。为什么在移动互联网兴起之后,Web技术就没有特别大的有用武之地了呢?关键在于,以前的产品的表现形式是网站,是基于浏览器的,但是浏览器在移动端表现不好。HTML, CSS, JS都只是语言,拿一门语言跟安卓或者iOS这种移动平台去对比是不合适的。我们可以将这些语言跟安卓上面的Java语言和iOS上的OC作对比,它们在语言层面上是平等的。Web缺少的是一个移动平台级的支持,而APICloud提供的就是一个基于Web的应用化平台。有了这样的一个平台,就相当于JS跟Java或者OC一样了,有了一个可以跟iOS或者安卓对比的平台。这样开发者就可以在这个平台上继续使用Web技术,而产生的结果则是非常适合移动端的。
更多精彩,加入图灵访谈微信!
本文目前还没有评论……(点击上方公众号,可快速关注)作者:一文不提网址:/1wen/p/4864792.html作为一个一年多的前端工程师,之前的前端老大离职后,自己就扛起了一些前端方面的事务。面试当然是最具挑战的事情了,首先是筛选简历,接着是邀请到公司面对面聊。说说自己的体会吧。筛选简历:偏实习和经验较少的求职者,一般还是抱着求学的态度,但是带人确实是一件很累的事情,公司事情多,人少就不会考虑招这类的求职者。目前我们就是这种情况,所以直接就没怎么考虑了。而且用的技术比较多,实际要求比较高,确实不愿意花这个成本。一般来说,简历能体现出一个人很多东西。比较重要的是,我希望能看到项目链接、个人博客地址。博客希望有原创的内容。看项目链接是看用了哪些技术,代码怎么写的,结构如何划分,综合看一下,就算不完全是他自己写的也没关系,最后面试会根据他的项目,问他自己的理解。列出的技能树,只能做一点小参考,面试的时候,会问我会的技术,我不会的不问。有培训经历的,在我看来反而是减分项,我的想法是培训学校浮躁的教学态度,甚至教你怎么装饰自己等等,会对学生造成很多消极的影响,当然也可能有好的培训,只是比较少吧。关于这点也是根据普遍现象来看的,虽然有点带减分,但是不缺乏优秀的人,所以并不会影响求职。关于跳槽频繁,我倒觉得并不是坏事,比较重要的是跳槽理由和过程。很多人觉得跳槽频繁不好,我觉得还是得看具体情况,坚持自己的原则和追求就好。做决定要果断。技能树上会一点的、懂一点就写熟悉、精通什么的,面试时被问到就是大大的减分项。写了解什么的,还说明这人比较诚实,但是也可能因为技能看起来不够而失去面试机会。面试:面试就比较有意思了,会遇到各种各样的人。先说说我自己的一些特点,因为这个会影响到求职者的态度。我自己呢,比较年轻,看起来很多人都以为是个高中生,实际有20多了。所以有些求职者以为公司找了个新手来面试,我比较斯文,像个小白脸什么的,求职者可能会低估。第一次面试的那个求职者还比较有意思,因为那会也是第一次面试别人,所以难免有点不知所措。刚好这个人就职在这边比较出名的一个公司,他一来就把节奏带乱了,先说了他自己和一群人做了canvas的游戏(只是一个没什么功能的demo),都是从底层写的,没用三方的引擎什么的,然后说了一堆理论的东西,其实我并没有听清楚。后来想想,实际他自己可能并没有做什么贡献。开始以为是大神,后来慢慢觉得他应该是很多不懂,所以故意带节奏,说一些天马行空的东西。问他有没有了解过我们公司的产品,他说了解了,觉得还不错(实际并不了解)。而后开始给我们推荐其他公司的app,说了很久,打断了一次,还要接着说。非常无语,也是因为是第一次,自己也没把握到节奏,就被他一起牵到走,最后什么技术问题都没问。cto来和他聊了几句,就让他走了。之后的面试,再也没有这种情况了。都是我问什么,别人答什么。也有4、5年经验的,在我提问的时候,反问我底层和什么原理的,其实他自己也不怎么懂,可能就是看了下,我懂的我就回答了,不懂的就说的不懂。后来就不反问了,开始虚心请教了,其实看出来他挺尴尬的。也有求职者做了几年,就只会切个图什么的,实在没办法要,只能给她提一些意见。简历上都会写到的技术,我会的都会问一下,比如有人写的熟悉grunt、gulp等构建工具、熟悉angular,bootstrap等。实际很多都不会用,或者是看过一点入门教程。有的还是不错,可能还缺乏一些总结,所以回答的时候含糊不清,只有去一点点的问这个怎么做的,那个怎么做的。有很多求职者是后端转前端的,因为他们之前多多少少要做前端的事情,我也不知道是不是现在前端待遇比较好什么的,很多都是后端转前端的。有后端的技术是加分项,但是大部分的人,前端技术就停留在用用boostrap,用下JQ操作一点DOM,angular也只是用到路由、基本的双向绑定和默认指令。我比较看重的还是,js和css,因为这两个东西很核心。缺乏css经验和js能力,很难写出健壮的可维护性代码。每次我都会问求职者,对css有什么自己的心得,很多人都答不上来,脑子里什么也没有闪现,不知道该说什么,其实这就已经说明css的经验还比较欠缺。也会问是否自己亲自完成过js的插件,比如幻灯之类的,这也是综合能力的考察,有时候需要实现的功能网上不一定有现成的或者适应需求的,所以需要自己编写,很多人畏惧自己写这些,或者写不下去就不坚持了。其实一点一点的解决每个难点,最后是一定能实现的。脚踏实地之前的前端老大很不错,他总结的四个要求还是很不错:性格 、 经验、 视野 、基础。(权重按照当前顺序划分)性格是最重要的,因为这个涉及到方方面面。经验堆叠起来的技术是强壮的,能有更多预见性能力,改bug,找问题,组织架构等视野还是看人的学习积极性,视野宽阔,在遇到问题和选择技术的时候很有帮助基础这个不说啦,决定上层建筑的现在前端行情比较好,很多的求职者都是想要更高的工资,技术其实并没有那个水平,自信满满,可能去一些没前端基础的公司,还真能拿到相应的薪资,但是这种公司不一定稳定,等行情一过,前端没那么火的时候,这种泡沫破裂的时候,失业的可能就是这部分人。所以还是脚踏实地。前端大全微信号:FrontDev打造东半球最好的 前端技术 微信号--------------------------------------商务合作QQ:投稿网址: 
 文章为作者独立观点,不代表微头条立场
的最新文章
CSS 动画已经存在很多年了,使用恰当可以很好地提高网站的用户体验,也正是由于其容易使用,就很可能出现性能低下的动画,从而降低了整个页面的运行效率。从春节回来开始直到现在,公司就像开了闸的西湖水一样进行着新陈更替,可以说开发团队算是重组了。眼看着身边发生这种情况,虽然没有什么想法但还是有了点想法,所以想写篇文章阐述一下。提到rem,大家首先会想到的是em,px,pt这类的词语,大多数人眼中这些单位是用于设置字体的大小的,没错这的确是用来设置字体大小的,但是对于rem来说它可以用来做移动端的响应式适配哦。想想看,你CSS构建页面的时候,默认的字体大小和行高分别是多少?下面是我统计的一些数据:新浪微博:12px/1.5,腾讯微博:12px/1.75,淘宝网/天猫/腾讯微云:12px/1.5,京东:12px/150%最近NPM社区出了一件大事,一个开发者对NPM公司不满,unpublish了自己的所有模块。其中包括被广泛使用的left-pad,导致Babel、ReactNative、Ember等大量工具构建失败。好基友现在也是个前端,昨天他问我说:公司的大部分任务都能应付着做了,现在要做个分页,如果用插件的话,很快就能上,但是我想提升一下自己,怎么从头开始写一个呢,实在是一点思路也没有。在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,以下是对一些方法使用的总结。最近在研究gulp,npm里的文档有些过于简洁,并看不出来到底每一步操作是为什么,api到底是做什么用。于是各种查资料,看到一篇英文版的,说的不错,趁着周末翻译过来,以备我自己以后想看不用再翻译一遍,也可以造福下正好看到这篇文章的同学。昨天晚上在群里交流各种脑动大开的题目,我顺手也提了一个问题: JS如何做“字符分页“原意是源于我4年前公司项目,我负责开发1年的样子,后来各种原因就没有然后了…对于字体的认识一直有一个误区:我们可能一直认为font-family是某一种字体,实际上,它指的是一个字体的系列。< 现在不再使用字体来输出图标了。我们把代码库中所有的 Octicon 替换成了 SVG 版本。虽然这些改动并不那么明显,但你马上就能体会到 SVG 图标的优点。最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。在微博、微信公号和官网覆盖二十多万前端开发同行的 “前端大全” 开始招募专栏作者HTTP 支持 GZip 压缩,可节省不少传输资源。但遗憾的是,只有下载才有,上传并不支持。如果上传也能压缩,那就完美了。特别适合大量文本提交的场合,比如博客园,就是很好的例子。虽然标准不支持「上传压缩」,但仍可以自己来实现。去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。在做h5移动页面,相信大家一定碰到过页面已经打开,但是里面的图片还未加载出来的情况,这种问题虽然不影响页面的功能,但是不利于用户体验。在前端开发过程中,盒子居中是常常用到的。其中 ,居中又可以分为水平居中和垂直居中。水平居中是比较容易的,直接设置元素的margin: 0 auto就可以实现。但是垂直居中相对来说是比较复杂一些的。下面我们一起来讨论一下实现垂直居中的方法。随着移动设备的升级、网络速度的提高,用户对于web应用的要求越来越高,web应用要提供的功能越来越。功能的增加导致的最直观的后果就是资源文件越来越大。为了维护越来越庞大的客户端代码,提出了模块化的概念来组织代码。结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考,面向初学者,让初学者少走弯路。随着前端技术的发展,有越来越多的方法实现icon的制作,同时为了满足市面上各种大屏幕分辨率,字体图标icon font应运而生,字体图标的制作也是一种全新的设计方式现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画。说到css动画,主流的情况也就无非这两大类:位移和形变。而我们在写一个动画特效的过程中,如何去提升它的性能呢?简历不仅仅是履历,它的重要作用是展示能力!!! 在阿里常年招聘,筛过各式各样的简历,每到招聘季,筛简历、面试过程非常耗精力,当然,原因之一是我想招非常优秀的人,宁可多花些时间,另一方面,除了那些不合格的简历之外,还有好多简历语焉不详现在设计师同学越来越高大上了,纯色背景已经不能满足人民群众日益增长的物质文化需要了,必须整渐变背景o(╯□╰)o。怎么还原呢,设计师直接丢过来一个几十K的图片,这怎么行。。。在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象(Object)和函数对象(Function)。在当今的前端开发领域,大红大紫的组件化开发如万人空巷,前端技术圈中关于组件化讨论的文章亦如汗牛充栋。然而别人的理解终归是别人的,作为一个胸存小志的开发者,我还是希望能够根据自己的理解和实际工作,总结自己对组件和组件化开发的认知。一些小技巧让你的CSS技术更专业。1.使用:not()去除导航上不需要的边框 2.为body添加行高 3.垂直居中任何元素 4.逗号分离的列表 5.使用负nth-child选择元素 6.使用SVG图标 7.文本显示优化...Canvas 想必前端同学们都不陌生,它是 HTML5 新增的「画布」元素,允许我们使用 JavaScript 来绘制图形。目前,所有的主流浏览器都支持 Canvas。今天看了不少文章,比较感兴趣的是 Cache API。它是浏览器 Request/Response 的缓存管理工具,其使用风格和运用场景让我瞬间联想到了 ServiceWorker 和 Fetch API,相信很多同学也多次看到过这两个东西Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。一说起CSS隐藏元素,我想大部分小伙伴们都会想到的第一种方法就是设置display为none。这是最为人所熟知也是最常用的方法。越来越多的人,使用React开发Web应用。它的测试就成了一个大问题。React的组件结构和JSX语法,不适用传统的测试工具,必须有新的测试方法和工具。本文总结目前React测试的基本做法和最佳实践,手把手教你如何写React测试。MVVM框架的性能,其实就取决于几个因素今年一月份以前端主管的身份进入现在的公司,到现在为止陆陆续续面试了十几个应聘者,惊讶地发现前端这个细分岗位的市场行情竟如此奇怪,一方面是各种公司争相聘请,导致价格高的浮躁;一方面是从业者大多经历尚浅,浅到没什么技术积累,没什么项目经验requestIdleCallback是一个当浏览器处于闲置状态时,调度工作的新的性能相关的API元素,俗称“文本域”,或者“多行文本框”,其自带原生的HTML属性rows表示行的意思,可以改变的可视区域高度,cols表示列,可以改变的可视区域宽度。如果大家平时做过一些前端开发方面的工作,一定会有这样的体会:页面需要某种效果或者插件的时候,我们一般会有两种选择:1、上网查找相关的JS插件,学习其用法
2、自己造轮子,开发插件。话说貌似好久没有写技术文章了,自从娃娃出来后,很少能有时间做技术研究,思考的时间也不足。不过有得必有失,世上事也就酱紫了。但是作为一个前端攻城师,不写代码,不研究技术,是会被后浪拍死在沙滩上的。最近总是听见 liu 这个东西啊,比如 liu 翔低调宣布新恋情啦、 liu 强冬告白奶茶啦、微软停止支持 IE liu 览器啦,最近我们的淘宝前端夜校讲师也提到了 liu (流)的运用。如今,在程序员学习过程中基本都会发现一个叫 map 的函数。在发现 map 函数之前,你可能都会使用 for 循环来处理需要多次执行某一行为的场景。一般情况下,在这个循环过程中都会伴随一些数据变换。每个前端工程师可能每天都会写一些css,其中选择器是很主要的一部分。但是,大家可能每天写的大多是#id,.class这样的选择器,这并不稀奇,但是如果我们了解并且熟用css3为我们提供的强大并且优雅的选择器,就可以简化我们的代码。FrontDev分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯热门文章最新文章FrontDev分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯创业的不同阶段,技术负责人(CTO)应该承担什么样的角色?
按投票排序
1,我碰到过的能称上CTO的人寥寥无几。屈指可数。2,创业公司,最好不要有什么CTO,留下这个位置给更优秀的技术管理者3,创业前期,技术负责人最主要是能先把产品实现,后续更主要的工作是知道自己产品的技术问题,并知道应该找到招聘到什么类型的技术工程师。4,更主要的是,创业期的技术负责人需要有胸怀找到比自己强的,真正适合自己产品的技术牛人。5,公司技术文化的塑造同样是技术负责人必须承担的职责
如果是技术驱动的公司,startup时技术负责人最好是合伙人或者联合创始人。1、初创期:保证开发计划,协调产品方向,招聘优秀人才。这个时候技术负责人的作用在于激励伙伴、凝聚团队、技术选型,同时他还需要是CEO的好伙伴,出谋划策,判断产品方向。2、成长期:这个时候业务量会有很大增长,技术负责人要有很好的架构能力和技术前瞻性,设计出一个前卫的架构,以应对爆发性的增长。有时候他还需要和CEO一起为融资奔波。3、Pre-IPO之前,业务量和访问量可能剧增,公司需要一个真正有经验的CTO,协同CEO全面梳理业务系统,制定详实的战略地图。很多公司考虑空降CTO或者任命联席CTO,原来的技术负责人视情况提升为CTO或者技术副总裁汇报给新的CTO。4、IPO之后,其实对许多公司来说CTO倒不一定那么重要了,Google、Apple、Baidu长期没有CTO,CFO可能倒重要一些。
初期: 挑选适合自己的平台,开发环境,软件;招聘有能力的人加入;管理团队,敏捷开发;保证质量,版本更新以及代码的可扩展性和可维护性。扩张期: 设计好的整合方案,做应用接口和服务。 做性能优化。 将团队再细分,提高效率。稳定期: 将产品规范化、统一化, 对新人的培训,文化氛围的营造,调配人力资源。
在整理自己的思绪的时候看到了这道几年前的题,也是因缘,答吧。1,技术管理的通用职责管理者的通用职责是两个:建设团队、完成任务。但作为企业的技术负责人,需要增加一项技术技能:技术选型。完成任务这一说法偏被动,我更喜欢完成目标(G)。建设团队T1、技术选型T2、完成目标G三者构成了技术负责人的三项基本职能,而创业的不同阶段,技术负责人的角色不同不过是这三项职能的偏重点不同罢了。上述三者,建设团队、技术选型T是基础,目的还是为了实现企业的目标,所以完成目标G是目的。完成目标G的分析完全可以套用项目管理三角形:时间、范围、资源。公司对时间和范围的要求决定了资源的投入与组成。即完成目标本身又会对团队和技术有自己的特别需求,也就是反作用于T。这三者的关系关系是分类便于理解,但实质你中有我,我中有你,不可分割。请自行理解,我就不用图来表示了。建设团队有非常丰富的内涵,一种分解方式是以人为中心的,比较好记:选用育留。即选人、用人、育人、留人。另一种分解方式是以管理职能为维度的,更细致,包括:组织设计、人才的计划、招聘、任用、培训、考核与激励、领导与控制、团队文化建设等。技术负责人的三项基本职能也可以用另外一种方式来表述,即技术负责人眼里的三件事:产品、技术、人。创业的不同阶段,技术负责人的角色不同不过是这三件事的偏重点不同。不详细展开。2,创业的起步阶段S1的技术管理这个阶段的技术负责人的角色可以叫CTO,也可以叫技术总监,但实际上的职责更偏向于Technical Leader (TL),技术领头人。G在这个阶段最重要,几乎可以说是TL的唯一目标。这个不是由技术决定的,而是由创业企业本身的特点来决定了。要么生存要么死,企业生存就是完成企业经营目标,相应的技术团队就得全力以赴完成技术目标,毫无疑问。T1则可以最简化为招人,人招进来往需要的坑里扔就行,因人设岗也成为一种实用的方式。所以,比较常见的错误或者是误区是因为没有做好人力资源规划,常招进来不合适的人,或者需要人的时候没有。所以,在这个阶段TL是个多面能手就显得非常重要。简单来说,就是公司技术缺什么,CTO得自己冲上去做。换句话说,成功度过此阶段的创业企业通常都因为有一个万金油CTO。这个阶段TL怎么招人,又招了什么样的人进公司,看起来都是为了完成目标,却间接奠定了一家公司的技术文化。这是很多起步阶段的CTO和CEO容易忽略的问题。在这个阶段,风险比较高的其实是技术选型T2。一方面CTO在此事要全副精力来完成目标G,给技术选型的时间和精力比较少,另一方面,此时的技术选型,奠定了一家企业未来的技术方向,也就奠定了技术团队的组成,可以说其实T2才应该是CTO的唯一目标。总结一下,在起步阶段(S1),企业需要CTO的角色是完成技术目标G,技术工作的特点需要CTO的角色是技术选型T2。平衡这两者成为衡量一个CTO是否成功的标志。技术选型怎么选,国内各路大牛有很多成熟的经验,也能给你整出很多论文来。但在创业企业,简化为两个结果:1)TL自己会什么选什么;2)业界流行什么选什么。前者还是回到前面黑体字,不用管什么技术合适,公司只有他最懂,就他合适。但是,如果CTO不是企业创始人,这对公司的风险就非常高:CTO技术很牛,但不合适公司怎么办,换还是不换?后者则相对保险一点儿,但业界到底流行什么?哈哈。所以,一种技术选型的方式是看人才市场行上有什么人,公司能找到什么人,看团队的能力来定技术。创业型企业内充满了草莽做法,还都能行,这也算是创业企业有活力的一个侧面吧。这么说吧,这个阶段完成目标G的质量决定了企业是否能生存,团队建设T1技术选型T2则决定了企业生存下来后是否能顺利的度过下一个发展阶段。注:上文中一会儿使用TL,一会儿使用CTO,希望由此标明角色内涵的变化。TL是带着团队完成目标,CTO则要偏宏观技术管理。3,创业的发展阶段S2的技术管理这个阶段的技术负责人的角色应该是技术总监,职责上准确定义应该是研发总监。在技术管理的三项基本职能里,TD的主要精力应该在T1,建设团队。TD必须及时转变自己的职业定位,从冲在前列的TL,改为在后面指挥的TD。很多技术负责人在这个阶段无法及时调整自己的角色,成为了技术团队发展的拌脚石。市面上有很多针对TL转型为管理岗的培训,适合于大企业里TL的成长课程,对创业企业来说,其实也需要。相对T1,T2这个阶段的重要性也许没有变化,紧急程度则大幅度降低,基本上保持应需而变即可。即,TD需要根据公司业务的发展,实时的监测技术,确保技术没有成为瓶颈。在这个阶段技术选型应该充分认证,需要根据公司的业务方向来确定,而绝对不可以再根据TD的技术能力或者团队的技术能力来选型,而是根据业务决定技术,由技术决定团队。在此阶段,G并非就可以忽略,而是说,TD如果能做好团队建设T1,G就是水到渠成的事情。技术目标达成应该是TD的间接任务,而非直接任务。TD是依靠他的团队来完成技术目标,而非自己。4,创业的稳定阶段S3的技术管理所谓稳定阶段,不过是相对稳定罢了。这个阶段的技术负责人可以勉强成为CTO了,或者企业对技术负责人的角色定义是CTO还是TD,体现了对技术负责人的不同定位。如果是TD,技术负责人的角色和发展阶段S2类似。差别在于在S2,TD眼里的团队应该是所有人,而在S3,TD眼里的团队更多的是团队里的中坚力量,而无法兼顾所有人了。如果是CTO,在这个阶段,他的角色的主要职责应该回到G,此时的G已经不仅仅是完成目标G,而是开发目标G:这家企业未来的技术目标是什么?技术目标由业界的技术发展和企业自身的产品目标综合决定,背后是企业的经营目标。所以,实际上此时的CTO和CPO、CEO、CFO等关心的问题应该是一致的,不过是不同职能关注的角度不同罢了。一些CTO在这个阶段还沉迷于技术,无法关注到企业的经营目标,就不合适了。回到技术本身,这个阶段CTO如果是企业从起步阶段就在职的,那么他应该也必须去参加一些管理课程,改变自己依靠经验做事也能成功的习惯。这种管理培训,并非一定要学习一些管理理论工具意识,而是时刻警惕自己思维固化。另一方面,他应该尽量接触更多的同行业不同行业的人,开拓思路,协助企业更好的发展。CTO名义上有T,但实际上随着团队的增加,角色偏重的不同,CTO并不能很好的掌控T了。此时,前两个阶段打下来的技术文化才真的决定这家企业的技术、技术氛围。5,团队建设之技术团队的人员比例技术团队简单粗暴的划分由三类人组成:领导者/管理者、中坚力量、普通工程师所谓中坚力量有很多定义,我喜欢的是这种:具备自管理能力的员工,只需要管理者给出方向就可以高质完成任务的员工。这三者的比例,更重视中坚还是更重视普通工程师,反应了技术负责人的管理风格,企业的技术文化,企业文化的一部分。虽然从理论上讲,随着公司的发展,技术负责人肯定也只能更重视中坚。但我接触到的创业企业的技术负责人常常更偏重普通工程师,这是一个非常有趣的现象。我猜测大概他们中大部分都是由小团队TL长起来CTO。所以,能看到的团队的组成大部分是这种树形结构的:管理者:中坚:员工=1:1:8管理者把中坚当成自己的副手,认为自己对他不薄,寄希望于他能够尽心尽力协助自己。但作为副手的中坚则往往不甘于此,觉得自己遇到了瓶颈。结果就是中坚不稳,管理者CTO永远摆脱不了TL的身份。当然这种团队组织方式也是最通常的方式,很容易得到人力资源部门和更高级领导的认可,这大概也是大部分技术团队采用树形结构的原因。我自己理想的团队则是1:4:5的,甚至我自己的1应该排除在外完成是一直扁平团队,团队依靠强大的中坚力量成为一直自组织的团队。作为技术负责人才可以真的关心他那个阶段该关心的事情:目标、团队组织、技术方向等。这种团队本身并不意味着人力资源成本的增加,完全可以通过缩减人数来控制成本。当然,截至到目前为止,我只遇到过一个与我有相同观点的CTO。附1,创业阶段的划分上述S1,S2,S3,业界应该有标准分法,我则喜欢用技术团队的人数来大概划分:S1 &2020&S2&100S3&100这里的20是个概数,我通常以CTO本身能直接管理的团队成员数量的上限来表示,即这20个人都是直接向CTO汇报工作的。这里的100也只是一个概数,我通常以CTO本身能够全部认识,了解其工作内容、能力特长、职业需求的所有团队成员的上限。如果CTO本身只能认识50人,那么你的团队超过50人,就应该是S3了。
初创期:1、决策技术平台;2、加强产品中的技术基因、完善产品细节;3、组建精英团队发展期:1、追求完美的产品;2、建立产品发布的快速迭代策略;3、塑造技术文化氛围稳定期:1、完善管理制度;2、招聘更专业的管理人才;3、完善人才发展渠道
创业初期需要有一个技术负责人,但最好不要定为CTO,技术大牛和管理人才有着巨大的区别,CTO更重要的是塑造团队的研发文化,关注的是团队、人,激发这些人在团队里无限的创造力。创业发展期,技术负责人应该关注研发体系的建设,找到合适的技术主管,包括前端、后端、测试、部署、数据分析、架构师等关键角色,建立完善的开发流程和体系。创业稳定期,任命CTO,在业务运行顺畅的状况下,发展前瞻的研究项目,推动公司的发展和进步。
创业与CXO格格不入。CXO必定是公司进入稳定发展期,商业模式相对固定,而且发展趋向于正规化流程化管理,才会出现的产物。
一般提到CTO,大多数强调于技术,强调可实现性.实际上不尽然,很多CTO初期规划的产品往往得不到消费者的认同,关键的一点感觉还是忽略了对业务流程的熟悉或理解,还是忽略了对消费者的需求把控.CTO很容易犯"技术即是王道,实现即是认可"的错误. 感觉CTO更多的是应在对需求的把控,对技术可行性,技术可实现性,需求与技术的平衡把握上下功夫,并通过在项目实践中不断总结,得出一套不断在完善中的开发体系和技术的知识积累.
真正的CTO很少碰到,特别是创业阶段!CTO需要的技能太泛,需要去策划,控制以及管理!
初创期,以用户需求为向导的对核心产品升级的执着发展期,“需要有胸怀找到比自己强的,真正适合自己产品的技术牛人”,最难也最关键成熟期,构建及掌控一个完整的体系
不请自来。每个公司行业不同,业务不同,技术占比不同,不同公司对CTO的要求和职责也都会不一样。我们不能想象一家化工企业的CTO和移动App的CTO做的事情是一样的。所以我们先说说CTO有几种类型。Tom Berray和Raj Sampath写过一篇关于CTO4种不同角色的文章:The Role of the CTO: Four Models for Success。链接:一图胜千言:其中横轴是公司产品中技术占的比重,纵轴是指公司业务变化的快慢。其中横轴是公司产品中技术占的比重,纵轴是指公司业务变化的快慢。我假设大部分知乎上说的创业公司是互联网创业公司,那么技术占整个公司的比例是很大的。而且互联网创业是一个瞬息万变的事情,所以互联网创业公司的CTO应该落到了第一象限,即Visionary and Operations Manager.我们来看看Visionary and Operations Manager是做什么的。直接引用了Werner Vogels的文章:CTO as “Technology Visionary and Operations Manager” This pattern is usually found in
and other technology-oriented companies where information technology is key ingredient in implementing business strategy. The CTO is responsible for determining how technology can be used to implement the business strategy.
This is the ‘technology visionary’ aspect of the role.
But then subsequently, the CTO is responsible for actually integrating and running the technology, i.e. the role of the ‘operations manager.’ In this pattern the CTO is often a co-founder of the business, or one of the first hires.这类型的CTO通常是互联网和其他高科技公司,技术在这类公司业务中起着至关重要的作用。从Technology Visionary的角色看,CTO对如何利用技术实现商业战略有重大的决策权。同时,CTO也兼任Operation Manager的角色,即负责推动和整合技术的实施。在这种情况下,通常CTO是公司的联合创始人,或者是第一个被雇佣的员工。在The Role of the CTO中,有更加详细的描述,也说明了在这个情况下,CTO和CIO的区别。我就不翻译了,大家自己看看吧。The CTO as “Technology Visionary and Operations Manager” is usually found in a or other technology-oriented company where information technology is the key2002-Tom Berray 4 April 2002All Rights ReservedCingredient in implementing business strategy. The CTO is responsible for determininghow technology can be used to implement the business strategy. This informs the‘technology visionary’ aspect of the role. But then subsequently, the CTO is responsiblefor actually integrating and running the technology, i.e. the role of the ‘operationsmanager.’ Hence, the CTO must have an excellent combination of both business andtechnical skills in order to successfully design the functional and technical aspects of thebusiness strategy and then build the IT organization to execute its components. As oneof the top executives in the company, this CTO is usually brought in very early in thebusiness life cycle to help get the company off the ground. Often, the CTO is a cofounderof the business and knows his/her best role is staying tuned in with thetechnology. One common problem we have observed with this model is the following:some CTOs develop new strategies and move technologies rapidly, but do not have theIT management and infrastructure in place to successfully implement these new ideasand technologies. Their zeal for technology innovation outstrips the organization’scapacity to manage rapid change. One of the great challenges of this CTO is tobalance the initial expenditure of energy towards product research and innovation whileconsidering the enduring business requirements necessary for building a successfulcompany. In model 3, the CTO reports directly to the CEO or may even be a co-Chairman of thebusiness. The person, who assumes this CTO role, should have a strong technologyvision with the practical ability and experience to design, build, and run the technologywhile managing a large organization. Larger organizations may also have a CIOreporting to the CTO. In this case, the CIO will usually fulfill the role of infrastructuremanager. According to Bruce Rogow, IT Consultant, one of the pitfalls is CEOs hiringCTOs with vision but no real experience in actually creating and running an ITorganization - a mismatch that can be disastrous to the future of the business.Visionary technologists are successful ‘managers’ of organizations when theyunderstand how technological instruments function in complex contexts, which includerelationships among other assets (human, social, knowledge, and financial capital,communications, marketing, branding, customer relations, etc.).
1、实现产品的能力2、团队组建能力3、团队管理能力4、技术视野和自我驱动能力
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 51cto技术论坛 的文章

 

随机推荐