关于cto:为什么CTO技术总监架构师都不写代码还那么强

作者:Mr.K起源:技术领导力 经常会被问到这样的问题:CTO、技术总监、架构师很少写具体代码,为什么还很牛逼的样子,拿这么高工资? 其实,这个问题自身就错了。就好比问:导演、制片人为什么不懂演戏,还能领导演员,如同比演员厉害似的?其实不难理解,导演、制片人的外围能力并不是演戏,又怎么能跟演员作比拟呢? 答复后面的问题,逻辑也是一样的,拿CTO、技术总监、架构师,跟程序员比写代码的能力,自身就是个谬误。因为,他们的外围能力是不一样的。 CTO、技术总监、架构师的外围能力是技术判断力。简略来讲,就是判断一个我的项目、一个零碎架构、某个技术方向,是否合乎企业以后现状,是否对企业的将来产生价值。 程序员的外围能力是写代码的能力。就是做具体的代码实现。 所以CTO/技术总监/架构师,跟程序员的外围能力,是齐全不一样的能力,是没法作间接比拟的。 通常咱们说,CTO、技术总监、架构师们很牛逼,指的是他们的技术判断力牛逼,而不是他们写代码的能力牛逼。相同,他们写代码的能力可能还比不上一个资深程序员。 然而,他们所做的技术判断,给公司带来十分高的价值。比方,阿里云创始人王坚博士,在所有人拥护的时候,他保持云计算是将来,帮忙阿里提前布局云计算,为阿里成长为万亿商业帝国,立下汗马功劳。这就是技术判断力,给企业带来的微小价值。 大家之所以都很容易混同这几个角色,以及它们的职责,其实很重要的一个起因就是,人们经常把CTO、架构师、技术经理的头衔,乱授予技术负责人。在国内这种景象尤其重大。 比方,一个初创公司的技术负责人,理论干的活就是个技术经理。老板为了显得高大上,硬要给他安一个CTO的头衔。这种状况很广泛,特地是全民守业的那几年,遍地都是CTO。 为了说分明技术负责人的职责,咱们以一个电商公司的成长为例,解说企业在初创期、发展期、成熟期的不同阶段,都须要什么样的技术负责人,以及他们具体都干些什么。 第一阶段:高级程序员实现简单性能,解决技术难题一个刚刚起步的守业公司,通常只有几个程序员,甚至连产品经理、项目经理都没有,老板本人就是产品经理,把想法跟开发人员一说,就疾速地做出原型。 如果这个阶段对开发的能力不满,那么大略须要的只是一个高级开发人员,他能搞定个别的技术难题,实现简单性能,思路清晰、干活利索。千万不要去大厂挖个技术总监,你家庙太小,供不起这么大的神,他真来了也施展不了应有的作用。 老读者晓得,老K有过一段守业经验,过后追寻我的老领导进去守业,我就是名义上的CTO,带了7、8人的团队,我还同时带了两个我的项目,每个我的项目里我都奉献了30%以上的代码量。其实,过后的我,就是个高级程序员而已。 小结一下,高级程序员的主要职责是: 1,实现简单性能,编写外围代码; 2,解决线上bug,解决技术难题。 第二阶段:技术经理交付效率进步、品质晋升当公司的业务倒退起来后,就须要一支绝对欠缺的技术团队,有了专职产品经理、测试人员等,团队规模在15人左右,专一于一条产品线。 简单性能、技术难题,高级开发人员能够搞定,然而如果要解决开发团队效率、技术人员能力晋升、代码品质和编码标准等,就须要技术经理了。技术经理通常写大量的代码,更多做技术治理、我的项目团队等工作。 这就是许多守业公司A轮融资前的状况。由技术经理总体负责技术团队,产品经理对接业务需要,做产品布局、竞品剖析,而不是剽窃哪个App。 小结一下,技术经理的职责是: 1、开发工作分派。开发工作量评估、分派,最大化资源利用率; 2、代码品质晋升。Code Review、编码标准、线上bug剖析; 3、项目管理。确保我的项目的按时交付,建设管理机制; 4、团队治理。团队搭建、人员招聘、人员造就。 第三阶段,技术总监:技术布局、多产品线、我的项目群治理当技术团队倒退到30人左右,有了多条外围产品线、有了多个技术经理时,就须要一个技术总监了。 技术总监,作为领域专家,站在更高的层面思考技术如何建设壁垒,构建技术竞争力。逐渐开始建设公共技术平台,协调多条产品线在对立的技术平台上疾速迭代,让产品线跑得快、跑得稳。 技术总监,在畛域内有多年积淀,来自出名互联网企业,可能把技术团队带上一个新的台阶。技术总监,更多是做技术判断了,也有些技术型的技术总监依然会写些外围代码、做架构设计。 技术总监的职责: 1、搭建公司技术平台部,对立技术栈; 2、建设产品研发体系,让技术团队可持续性地疾速交付; 3、治理和协调多条产品线,打造明星产品; 4、建设技术壁垒,造成技术竞争力; 第四阶段,架构师:架构设计、架构实现、架构评审公司如果“跑到”了B轮,技术团队应该要靠近百人了,此时的技术团队跟初创期间相比,曾经很不错了。 有技术总监协调着各产品线,有开发经理率领技术团队疾速迭代产品。代码标准、最佳实际的总结和推广也在逐渐发展。 此时,须要把架构布局和架构评审的职能从技术总监和开发经理身上剥离,即拆散业余岗和治理岗,业余人做业余事。 这时候就须要设立架构师岗位,专一于技术架构剖析、架构设计、架构实现、推动重构、推广架构准则等工作,让技术总监和技术经理偏重在项目管理、团队治理。 架构师的职责是: 1、业务架构设计和实现。依据业务布局和利用场景,设计切合以后业务要求,并且具备肯定前瞻性的利用架构、类、接口、业务形象及业务建模等。 2、架构设计和实现。辨认非功能性需要,如性能、可扩展性、安全性、高可用及易部署等。 3、重构打算及执行。关注全链路监控数据、线上bug、零碎预警等信息,辨认架构缺点,提出重构倡议并推动执行。 第五阶段,CTO:技术产品战略规划,晋升技术竞争力当技术团队有了几名总监、架构师,人数达到几百人,是时候引入真正意义上的CTO了,除非CTO是联结创始人,否则这个CTO会有“虎落平阳”的感觉,公司也会感觉这个人“满嘴跑火车,却落不了地”。 国内的中大型互联网公司,个别有产品VP和技术VP,有的技术VP就是CTO。如果CTO统管技术和产品,那么产品VP就给CTO汇报,否则他们是平级的。 在国外,CTO次要钻研3~5年的技术发展趋势,为公司做中长期的技术布局,是具备行业影响力的技术大咖,公司技术畛域的精神领袖。CTO较少关注当下的具体事务,这类工作次要由工程副总裁们解决。 以国内互联网公司CTO为例,总结一下CTO的主要职责: 1、技术赋能商业。敏锐的商业洞察、深刻的产业钻研、参加公司战略规划,技术引领业务增长,通过技术和产品实现策略落地。 2、技术趋势钻研。思考将来3~5年的技术发展趋势,以及新技术倒退给企业带来的时机和危险,为企业提前布局。 3、技术治理体系。继续的过程改良、高效的研发流程、稳固的交付品质、高可用的零碎。 4、组织与文化。建设学习型组织、自我完善型组织,建设合乎企业特色的文化氛围。 结语最初,不想当CTO的程序员,不是好骑手。从程序员到CTO的成长过程,须要一直晋升技术能力、产品能力、我的项目能力、治理能力、商业视线、集体影响力、行业人脉等等。除了本身的奋斗之外,机会和运气同样重要,而且是可遇不可求的。然而,幻想还是要有的,万一见鬼了呢。

February 10, 2021 · 1 min · jiezi

关于cto:为什么CTO技术总监架构师都不写代码还那么强

作者:Mr.K起源:技术领导力 经常会被问到这样的问题:CTO、技术总监、架构师很少写具体代码,为什么还很牛逼的样子,拿这么高工资? 其实,这个问题自身就错了。就好比问:导演、制片人为什么不懂演戏,还能领导演员,如同比演员厉害似的?其实不难理解,导演、制片人的外围能力并不是演戏,又怎么能跟演员作比拟呢? 答复后面的问题,逻辑也是一样的,拿CTO、技术总监、架构师,跟程序员比写代码的能力,自身就是个谬误。因为,他们的外围能力是不一样的。 CTO、技术总监、架构师的外围能力是技术判断力。简略来讲,就是判断一个我的项目、一个零碎架构、某个技术方向,是否合乎企业以后现状,是否对企业的将来产生价值。 程序员的外围能力是写代码的能力。就是做具体的代码实现。 所以CTO/技术总监/架构师,跟程序员的外围能力,是齐全不一样的能力,是没法作间接比拟的。 通常咱们说,CTO、技术总监、架构师们很牛逼,指的是他们的技术判断力牛逼,而不是他们写代码的能力牛逼。相同,他们写代码的能力可能还比不上一个资深程序员。 然而,他们所做的技术判断,给公司带来十分高的价值。比方,阿里云创始人王坚博士,在所有人拥护的时候,他保持云计算是将来,帮忙阿里提前布局云计算,为阿里成长为万亿商业帝国,立下汗马功劳。这就是技术判断力,给企业带来的微小价值。 大家之所以都很容易混同这几个角色,以及它们的职责,其实很重要的一个起因就是,人们经常把CTO、架构师、技术经理的头衔,乱授予技术负责人。在国内这种景象尤其重大。 比方,一个初创公司的技术负责人,理论干的活就是个技术经理。老板为了显得高大上,硬要给他安一个CTO的头衔。这种状况很广泛,特地是全民守业的那几年,遍地都是CTO。 为了说分明技术负责人的职责,咱们以一个电商公司的成长为例,解说企业在初创期、发展期、成熟期的不同阶段,都须要什么样的技术负责人,以及他们具体都干些什么。 第一阶段:高级程序员实现简单性能,解决技术难题一个刚刚起步的守业公司,通常只有几个程序员,甚至连产品经理、项目经理都没有,老板本人就是产品经理,把想法跟开发人员一说,就疾速地做出原型。 如果这个阶段对开发的能力不满,那么大略须要的只是一个高级开发人员,他能搞定个别的技术难题,实现简单性能,思路清晰、干活利索。千万不要去大厂挖个技术总监,你家庙太小,供不起这么大的神,他真来了也施展不了应有的作用。 老读者晓得,老K有过一段守业经验,过后追寻我的老领导进去守业,我就是名义上的CTO,带了7、8人的团队,我还同时带了两个我的项目,每个我的项目里我都奉献了30%以上的代码量。其实,过后的我,就是个高级程序员而已。 小结一下,高级程序员的主要职责是: 1,实现简单性能,编写外围代码; 2,解决线上bug,解决技术难题。 第二阶段:技术经理交付效率进步、品质晋升当公司的业务倒退起来后,就须要一支绝对欠缺的技术团队,有了专职产品经理、测试人员等,团队规模在15人左右,专一于一条产品线。 简单性能、技术难题,高级开发人员能够搞定,然而如果要解决开发团队效率、技术人员能力晋升、代码品质和编码标准等,就须要技术经理了。技术经理通常写大量的代码,更多做技术治理、我的项目团队等工作。 这就是许多守业公司A轮融资前的状况。由技术经理总体负责技术团队,产品经理对接业务需要,做产品布局、竞品剖析,而不是剽窃哪个App。 小结一下,技术经理的职责是: 1、开发工作分派。开发工作量评估、分派,最大化资源利用率; 2、代码品质晋升。Code Review、编码标准、线上bug剖析; 3、项目管理。确保我的项目的按时交付,建设管理机制; 4、团队治理。团队搭建、人员招聘、人员造就。 第三阶段,技术总监:技术布局、多产品线、我的项目群治理当技术团队倒退到30人左右,有了多条外围产品线、有了多个技术经理时,就须要一个技术总监了。 技术总监,作为领域专家,站在更高的层面思考技术如何建设壁垒,构建技术竞争力。逐渐开始建设公共技术平台,协调多条产品线在对立的技术平台上疾速迭代,让产品线跑得快、跑得稳。 技术总监,在畛域内有多年积淀,来自出名互联网企业,可能把技术团队带上一个新的台阶。技术总监,更多是做技术判断了,也有些技术型的技术总监依然会写些外围代码、做架构设计。 技术总监的职责: 1、搭建公司技术平台部,对立技术栈; 2、建设产品研发体系,让技术团队可持续性地疾速交付; 3、治理和协调多条产品线,打造明星产品; 4、建设技术壁垒,造成技术竞争力; 第四阶段,架构师:架构设计、架构实现、架构评审公司如果“跑到”了B轮,技术团队应该要靠近百人了,此时的技术团队跟初创期间相比,曾经很不错了。 有技术总监协调着各产品线,有开发经理率领技术团队疾速迭代产品。代码标准、最佳实际的总结和推广也在逐渐发展。 此时,须要把架构布局和架构评审的职能从技术总监和开发经理身上剥离,即拆散业余岗和治理岗,业余人做业余事。 这时候就须要设立架构师岗位,专一于技术架构剖析、架构设计、架构实现、推动重构、推广架构准则等工作,让技术总监和技术经理偏重在项目管理、团队治理。 架构师的职责是: 1、业务架构设计和实现。依据业务布局和利用场景,设计切合以后业务要求,并且具备肯定前瞻性的利用架构、类、接口、业务形象及业务建模等。 2、架构设计和实现。辨认非功能性需要,如性能、可扩展性、安全性、高可用及易部署等。 3、重构打算及执行。关注全链路监控数据、线上bug、零碎预警等信息,辨认架构缺点,提出重构倡议并推动执行。 第五阶段,CTO:技术产品战略规划,晋升技术竞争力当技术团队有了几名总监、架构师,人数达到几百人,是时候引入真正意义上的CTO了,除非CTO是联结创始人,否则这个CTO会有“虎落平阳”的感觉,公司也会感觉这个人“满嘴跑火车,却落不了地”。 国内的中大型互联网公司,个别有产品VP和技术VP,有的技术VP就是CTO。如果CTO统管技术和产品,那么产品VP就给CTO汇报,否则他们是平级的。 在国外,CTO次要钻研3~5年的技术发展趋势,为公司做中长期的技术布局,是具备行业影响力的技术大咖,公司技术畛域的精神领袖。CTO较少关注当下的具体事务,这类工作次要由工程副总裁们解决。 以国内互联网公司CTO为例,总结一下CTO的主要职责: 1、技术赋能商业。敏锐的商业洞察、深刻的产业钻研、参加公司战略规划,技术引领业务增长,通过技术和产品实现策略落地。 2、技术趋势钻研。思考将来3~5年的技术发展趋势,以及新技术倒退给企业带来的时机和危险,为企业提前布局。 3、技术治理体系。继续的过程改良、高效的研发流程、稳固的交付品质、高可用的零碎。 4、组织与文化。建设学习型组织、自我完善型组织,建设合乎企业特色的文化氛围。 结语最初,不想当CTO的程序员,不是好骑手。从程序员到CTO的成长过程,须要一直晋升技术能力、产品能力、我的项目能力、治理能力、商业视线、集体影响力、行业人脉等等。除了本身的奋斗之外,机会和运气同样重要,而且是可遇不可求的。然而,幻想还是要有的,万一见鬼了呢。

February 10, 2021 · 1 min · jiezi

蚂蚁金服CTO程立:做工程要有“拧螺丝”的精神

摘要: “做工程要有‘拧螺丝’的精神,其实在工作中,我们也做了很多‘拧螺丝’的事情,包括在搭建每一个架构、每一个系统的过程中。”“一台机器可能有无数颗螺丝,需要一个一个地拧,而且需要一圈一圈地拧,才能让系统间严丝合缝,顺利工作。代码的世界里,一个项目到底成功与否,也是取决于几个模型的关键特殊设置,就像拧螺丝一样。”蚂蚁金服CTO程立说道,“做工程就需要这种奋力的精神。”近日,蚂蚁金服CTO程立接受了科技媒体infoQ专访,过程中,程立谈到了过去十年中国互联网技术的发展,与此同时,作为架构师出身,程立也谈到了做工程的心得。程立表示,“做工程要有‘拧螺丝’的精神,其实在工作中,我们也做了很多‘拧螺丝’的事情,包括在搭建每一个架构、每一个系统的过程中。”比如,程立回忆说,在十年的“双11”大促中,蚂蚁金服技术团队护航支付宝,只在2012年出过一次“问题”。据介绍,那时问题就出在一个“螺丝”上——一个类似软件“保险丝”的设计,即某两个系统之间,可以想象有一根“线”作为连接。简单而言,当时技术团队设计,“保险丝”在压力过大时熔断,来保护后面的系统不会崩溃。而在开始的时候,支付交易出现了不稳定的情况。后来发现,其实是“保险丝”设定的容量不对,于是把“保险丝”换成“铜丝”,让它不要起到保险丝的作用,就顺利过去了。“可以看到,大促前我们做了非常多的准备,但成败就在于一个关键的环节。”针对一个问题咬住不放松的奋力,贯穿了支付宝技术的研发实践当中。比如,在2010年,整个支付宝技术团队的目标只有一个:将支付宝支付成功率提升到极致。程立介绍,在这个目标驱动下, 2010年,支付宝不仅实现了支付成功率的提升,还实现了现在每天都会使用——快捷支付的创新,让移动支付成为可能。这个过程中,既有技术浪潮下对云支付架构的升级,也有对无数技术细节的打磨。拧过无数颗螺丝,包括从2010年第三代技术架构调整后到今天,支付宝金融科技技术让移动支付、实时风控与新型信用等成为可能,并且让技术真正成为金融业务创新的驱动力,解决了过去难以解决的金融业务问题,如“310”小微企业贷款、实时反欺诈等等。脚踏实地是因为对未来有更深的期待。蚂蚁金服CTO程立表示,过去十年是信息技术、互联网技术从量变到质变的过程,我们用技术改变了每个人的生活,改变社会的经济,但是,真正的技术革命才刚刚开始。“中国对创新的拥抱,是技术发展的最好土壤。在这片孕育创新的土壤上,未来中国互联网依然可以领先世界,生长出来更多原创的技术创新,做更多事情。我们还可以预见,图灵奖得主真正在中国土壤上生长出现。”本文作者:华蒙阅读原文本文为云栖社区原创内容,未经允许不得转载。

April 11, 2019 · 1 min · jiezi

破坏程序员生产力的 12 件事

原文转载自 John Lafleur : goo.gl/fqfN8h很多文章都提到如何当好一个技术组组长或者技术部经理。常见的话题一般都是如何提高团队的效率。但当你试图提高程序员的效率时,首先要搞清楚效率是怎么变慢的,清楚原因后再来提团队效率。虽然 Peopleware 在 30 年前就发表了,但很多团队依旧会出现精力浪费和效率低下的问题。没人会期待程序员不用电脑就能编好程序,但却有很多公司在不了解程序员的思维方式下就期待他们能把程序编好,这肯定是不现实的。我总结了拖慢程序员创造力和效率的 12 件事,从影响最大到影响最小进行排序。如果有疑问欢迎给我留言!如果你在想是否应该继续看下去的话,想想付给程序员的高工资,所以哪怕提高 10% 的效率也是值得的!1.打断&会议我认为「打断」可以排在破坏程序员创造力的第一位。程序员在被打断后一般不能做到立刻重新开始编程。被打断之后继续编程的话,通常程序员需要重新看一遍代码,再次逐渐进入到编程的思维环境中,才能想起来被打断之前的思维逻辑,再从被打断的点重新开始。这个过程大概要花 30 分钟以上。「打断」越多,烦心越多,工作质量也会降低,Bug 也会随之增加—成为恶性循环。「如果你在我准备开始编程的时候打断我,次数越多- 我重新进入状态耗费的时间就越长。如果你在早晨就安排了一堆会打断我工作的会议,就别怪我这一天什么程序也没编出来」出自 Reddit 上的一个程序员。那么「会议」呢?「会议」和「打断」的唯一区别在于会议是计划好的打断,这比非计划的打断还闹心。程序员无法在被打断的时候还能专心做其他任务。比如你跟程序员开 1-2 小时的会议,基本上不会有什么进展,因为一般技术性的任务 1-2 小时以内是无法完成的。保尔·格雷厄姆(Paul Graham)说过,「一个下午如果被分成两个小会议是最糟糕的情况,因为这两个会议都太短了,什么都做不了。」那么,如何避免这两种情况呢?以下请记笔记:工作会议可以安排在一天开始的时候或者午饭前,并尽量简短,避免不必要的「打断」。2.微管理在所有管理者类型里面,微管理经理对程序员的效率影响最大。这很容易理解,因为微管理经理的会议和临时打断会更多一些,而这些会议和打断会显示出来他们对程序员不信任,程序员也会觉得他们的能力被低估。导致程序员编程的动力在每次被打断的时候就跟浇了冷水一样。这样的影响不止效率,还会使程序员离职或者更换团队。3.编程要求模糊编程要求很模糊有很多种表现方式。比如,故障报告(Bug report)中像「这个不运行,重做!」并不能有效告诉开发人员如何解决问题。用统一的故障报告模版就能解决很多问题。如果某项功能要求很模糊,在这个情况下,开发人员只能靠自己的感觉来编程。最好是能够把某项功能的要求细节化,再递交给开发人员。再有,不清楚的优先级也算需求模糊。这些不必要的时间本来是可以避免的,程序员却要花时间搞清楚自己是否在完成正确的任务。想象一下如果经理来问程序员为什么在做这个任务(在任务优先级没有细节化之前)。你能想象之后的各种解释和误解…4.海鸥管理你听说过「海鸥管理」么?「海鸥管理」是指管理者完全不管工作,像海鸥一样在高空飞,但….他们时不时的会跳出来捣乱。「这个做的不对,这个,这个还有这个做的不行」等,然后再继续飞走。我必须得说,这个场景虽然听起来很可笑,但却很常见。这种情况对开发人员来说非常的烦心,他们可能在之后的几个小时,甚至几天都无法专心。5.被「占便宜」你有过上层或者其他的程序员把你工作成果拿去当成自己成果的情况吗?在程序员心中,能力被认可是摆在第一位的。别人把自己的成果拿去当成是他们的成果,等于剥夺了其他人对自己认可的机会。这一点非常非常重要,如果这种情况发生了,程序员在很长一段时间之内都不会有动力工作。6.环境-噪音,走动,工作环境等等这些对非程序员来说可能比较奇怪,但对程序员工作的效率影响却非常大。比如一些白噪音,像空调噪音,汽车卡车行驶的这些声音,反而可以帮助他们更好的集中注意力。这就是为什么我们总是戴着耳机的原因。顺便推荐最近刚发现的 RainyMood 。相似的,如果工作空间的设计会有很多人走来走去,这也会让程序员无法专心。或者他们坐的位置很容易被管理者看到等等,这些因素都会让程序员压力增大而无法专心。7. 范畴蠕动范畴蠕动(也称为焦点蠕动,需求蠕动,功能蠕动,有时候也称为厨房水槽现象)在项目管理中意思为无法控制的变数。这种情况在项目范畴没有被确定之前会发生。范畴蠕动会让简单的请求变成复杂,超级花费时间的怪兽。一般都在开发过程中发生。比如,一个简单的功能:版本 1(发布前):功能是在地图中显示一个定位。版本 2 (当版本 1 几乎开发完毕时):功能变为「在 3D 地图上展示一个坐标」。版本 3 (当版本 2 几乎开发完毕时):功能又变成「在 3D 地图上展示一个用户能在上空飞过的坐标」。8.产品定义过程这一点可能第一眼看上去有点怪,但是其实非常好理解。如果一个产品团队在没有仔细考察功能是否有需求就定义了产品优先级(通过客户反馈或者其他渠道),程序员很可能会开发出很多用不到的功能。这会让他们觉得自己做的东西没有利用价值,开发的热情也会大大降低。我们都想创造更多的影响力,开发人员更是如此。9.没有考虑技术负债技术负债是为了更快上线产品而使用非最佳解决方案或编写不是最好的代码。这些决定有时候是不可避免的,因为可以在短期内提高软件开发的速度。但是,长远来看,这会让系统复杂程度提高,并且会降低开发速度。非程序员总是想尽快推进项目而低估了生产力的浪费,这就成了一个问题。如果代码重构永远排不上优先级,这不仅会影响效率,还会影响产品质量。10. 工具多样性和硬件开发人员可能会用很多工具来编程,每天都要运行和合并代码很多次。自动化越多越好。这就好比用非常老的没有任何自动化工具来编程肯定会拖慢编程效率一样。大显示屏和笔记本等硬件的区别也是如此。因此,在开发人员的软件工具和硬件上投资是肯定不会错的!让你的开发团队选择他们喜欢的工具和硬件(为单人买硬件,为整个团队买软件工具)。11.如何注释当我们学习编程的时候,知道要尽早开始为代码写注释,越多注释越好。不幸的是,很多程序员把这概念理解错了,导致他们在每一行代码都有注释,如以下这种常见的代码(摘自杰夫安特乌茨(Jeff Atwood)的「不写注释的代码」):r = n / 2; // 赋值 r 给 n 除以 2// 迭代直到 r – (n/r) 大于 twhile ( abs( r – (n/r) ) > t ) { r = 0.5 * ( r + (n/r) ); // 赋值 r 给(r + (n/r))/2}你知道这段代码想干嘛么?我也不知道。这就是注释太多会带来的问题,虽然有注释,但这并没有解释为什么要这么写这段代码。如果你在程序调试的时候看到这段代码,对排除报错(debug)并没有帮助。12.不可能实现的项目截止日期管理者总是要求开发人员预估项目完成时间,然后再推动他们缩短预估时间,并以此为截止日期。很多管理者甚至认为,既然这是开发人员自己估计的时间,他们就应该在这个截止日期之前完成,所以这个截止日期是可以正式向上级汇报的。然而,开发人员会认为这个截止日是没有办法完成的,这就导致了开发人员与管理者之间紧张的关系。以上这些事情为什么只针对程序员?如果你看完这 12 件事,你会发现,这 12 件事其实在项目管理过程中经常发生。只是这些事情对程序员的影响更多一些,他们在工作中更需要全神贯注。如果你在公司里看到了以上所提的 12 件事,不妨和大家探讨一下。沟通后,搞清楚这些问题是否真实存在并且如何解决。不管他们怎么说,关键是在于信任他们的反馈和意见。现今的科技和 30 年前比已经很不一样了,但即使如此,人性并没有变。你在考虑公司生产效率的同时必须要考虑人的因素。反复推敲你团队的工作流程,工作环境和工作习惯,让你的团队来指引你达到你想要的最高效率。LeanCloud,领先的 BaaS 提供商,为移动开发提供强有力的后端支持。 了解更多: www.leancloud.cn ...

December 25, 2018 · 1 min · jiezi

对话CTO | 和优信CTO邱慧聊二手车产业链中的技术价值

· 本文内容为图文形式· 栏目:对话CTO· 阅读时间:10分钟· 阅读建议:深度长文,请配合文末福利慢慢食用· 掌握难度:★★★☆☆专栏介绍「对话 CTO」是极客公园的一档最新专栏,以技术人的视角聊聊研发管理者的发展和成长。本专栏由ONES 的创始人&CEO 王颖奇作为特邀访谈者。王颖奇曾参与金山软件 WPS、金山毒霸等大型软件的核心开发工作;2011 年创立了正点科技,旗下产品正点闹钟、正点日历在全球用户过亿;2014 年,王颖奇在知名美元基金晨兴资本任 EIR,并以个人身份参与十余家公司的管理咨询工作;2015 年,王颖奇创立 ONES,致力于提供企业级研发管理解决方案。摘要这是一位互联网圈为数不多的女性CTO,15岁上大学,曾是腾讯获得S级荣誉的最年轻管理者之一。2014年,邱慧加入优信,从零开始孵化优信二手车。人们很难将这样一位姑娘同CTO的头衔联系在一起,更何况是在二手车这样一个厚重的产业当中。这一次,颖奇和这位性格直率的CTO聊了聊关于二手车产业当中的技术价值。原来,在这个传统行业当中,也充满了闪亮迷人的技术信仰。行业价值核心:检测与定价的效率颖奇:邱总您好,很高兴您这次能接受我们的访谈,能否先跟大家介绍一下你自己呢?邱慧:先简单说一下之前的经历吧,北大毕业后我去了微软亚洲研究院,参与了中国第一个LBS项目,后来加入了腾讯,参与腾讯研究院的组建,先后孵化了QQ拼音、QQ影音以及微信视频聊天等产品。2014年我加入优信,从零开始搭建团队和孵化产品,包括优信二手车、优信新车、汽车简历等。颖奇:现在团队的人员规模是怎么样的?邱慧:我们团队数百人,由于二手车产业链很复杂,产品技术团队工作划分比较精细,除了大家见到的优信二手车App这个面向C端的产品,我们还会做很多后端管理及运营的产品,会有一些黑科技,比如车辆的检测、智能定价、VR看车等。颖奇:能详细举例说说车辆检测的技术应用吗?邱慧:举个例子,在我们做智能检测之前,中国的二手车检测基本是人工检测。人工检测有很大的局限性。第一,有经验的老师傅非常少;其次,人是非常主观的动物,比如偷个懒或心情不好导致出现失误都是难免的,很多车辆有问题没法被发现;第三,人的效率是不高的,因为我们不可能24小时工作。人工检查一辆车的外观需要整整40分钟,而我们做了一个自动化的检测设备,只需要十秒。我们做了两个很重要的设备:一个叫做龙门。龙门是一个360度的棚子,上面有非常多的相机,地上有底盘检测仪,前面有一个栏杆,好像进停车场一样,车辆开过去的时候,栏杆抬起来,然后车子开进去,栏杆放下来的一瞬间车辆的外观报告就出来了。整个过程只需要十秒钟。利用这样的流程进行拍照,在云端进行图像识别,最后给出结果。那这个结果能做什么呢?能告诉我们比如车辆的左前方有一个几厘米的划痕,还能告诉我们这样大小的划痕可能要折价一千块钱左右。自动化提供这么详尽的数据,相当于我们把人工的检测时间从40分钟缩短到十秒,极大提高了效率。这是龙门。另一个设备叫查客。查客是一个软硬件一体的手持设备,大家都知道只要被撞过、修复过、重新喷过漆,车表面的厚度跟之前就是不一样的,相差0.1微米我们也能检查出来。相当于检测员拿这个手持设备对车进行扫描,我们就知道这个车之前有没有剐蹭过。颖奇:通过技术设备的检测结果和经由老师傅检测的结果一样么?邱慧:(设备检测结果)比老师傅准确多了。靠肉眼去看,人的精力有限;另外车辆的品牌车系特别多,一个非常懂宝马的师傅,不一定能够懂得奔驰或丰田。系统的一个好处是,它会进行机器学习、累积样本,并且越来越准确。所以我们不光是时间缩短了,准确度也提升了。2015年我们组建了优信的人工智能团队,是整个业界最早用人工智能系统去帮助车辆检测提高效率和准确度的公司。我们现在的图像识别准确度已经到99.7%了,已经是非常高的水平了。颖奇:质量检测和匹配定价的效率才是核心?邱慧:对,其实二手车行业在国外发展比较成熟,在中国为什么不成熟?是因为中国人觉得二手车这个行业水很深。归结起来痛点有两个:一是质量、二是价格。质量就是不知道有没有出过事故,价格的话,就是不晓得这个价格到底高还是低。技术可以解决质量检测的问题,也可以解决价格这个痛点。二手车定价是非常有难度的事情,我们也是花了整整一年的时间去打磨。颖奇:那你们通过什么判断价格呢?邱慧:二手车的定价受到各种因素限制,包括城市、里程、年限、保养情况、有没有出过事故等上千个指标。传统的定价方式是靠人的经验拍脑袋。而我们在国内最早采用了神经网络去建模。另外,由于介入了整个交易流程,优信有最完整的成交数据。有了大数据的积累我们的模型才能够不断迭代优化。颖奇:关于二手车的大额分期业务,优信在技术上做了哪些努力呢?邱慧:这个也是我们在业界非常早的用技术去实现的。分期涉及到风控,我们能够做到千人千面,给你提供一个非常适合你的金融分期解决方案,让你买到自己想要的车。我们在贷前、贷中和贷后三个环节都做了非常多系统化的建模处理,包括自动化信审、风险预警等等,去识别风险,提升风控水平。颖奇:那您觉得优信在二手车这个商业模式下再往后走的话,有哪些更重要的技术是优信会去做早期准备的呢?邱慧:有挺多的,比如我们最近已经上线但还在打磨中的VR看车。一方面我们要通过不停的优化软硬件一体的整个系统模型,追求更高清的图像质量、更高保真的还原度、更高效的拍摄模式,从而快速大量的为用户提供可靠且高质量的VR车源数据;另一方面利用AI人工智能系统在后台统计数据来完善升级我们的VR看车系统,比如用户通过VR看车更愿意在哪一个角度放大关注汽车的哪一个细节,数据告诉我们相当一部分用户关注汽车的车轮毂和内饰座椅。通过数据支撑,我们再想办法反向继续优化我们系统模型,这些数据与技术的积累优化可以直接转化为用户的体验。因为我们定位是一个二手车电商平台。那么二手车的电商属性是什么呢?就是实现用户在网上就能够下决策。一来VR看车不会受限于时间地域空间,让用户在线上就能感受这个车怎么样,车况满不满意,空间合不合适,用户不用辛苦地跑到停车场就能看到车内车外的每一个细节,省时又省力,这些优质的体验感都会促使购车者做出决策。二是没有什么比“真实”更具有说服力,而我们正在研发的“沉浸式VR看车”,就感觉自己好像真的坐进去了一样,感受下,“哦空间挺大的,我喜欢空间大的”;或者说“哎,我喜欢这个真皮座椅”。 这样就尽可能在线上做好决策了,线上做好决策后去线下可能看一眼就购买了。相当于尽可能减少用户在线下做决策的时间,拉长在线上做决定的时间。“重”行业中的CTO如何主动升级颖奇:您当年去做to C的产品,最终转过来做像汽车行业这么重的一个全产业链平台,您觉得您作为一个技术人或者产品人,您自己最大的变化是什么?邱慧:我觉得在商业思维方面有非常大的提升,包括整体的管理能力等。因为我以前做纯to C,属于单边服务,只需要服务好一边的用户。但是二手车属于双边,甚至多边,涉及B2C,C2B,B2B等,商户和用户都是我的用户,这个思路是不一样的。颖奇:您在2014年从零开始搭建团队,有没有哪些从量变到质变的一些管理研发很难跨越的坎?邱慧:量变到质变的过程是最大的坎。当人员快速扩张的时候,从几十人到百人到几百人需要的管理方式是不一样的。需要带着大家制定标准和流程,需要在团队内部建立良好的沟通反馈机制,需要关注不同层级员工的成长和发展。当把几百人的坎迈过去之后,后面团队再增长也能继续保持高人效了。颖奇:怎么能够激发大家的积极性一起成长呢?邱慧:其实每个人的需求都不太一样,首先我们需要了解他想要的是什么,明确诉求,采用不同的帮助和激励机制。例如我们有mentor制度,每一个新员工进来都有mentor指定给他去帮助他。另外,我会要求所有管理者都必须跟直系下属定期进行One on One,两周一次,强制要求,写在KPI中的。大家可以聊最近工作的情况、个人状态、生活中的变化等等,鼓励大家主动说,管理者给予反馈,形成良好的沟通机制。诉求得到满足,感受到尊重和鼓励,大家自然对团队认同感高,积极性高。颖奇:我相信一些采访过您的人也问过,可能行业里面女生做CTO的会比较少,所以你会认为女性CTO比男性CTO有更好的优势吗?邱慧:你说的很对,女性CTO比较少。首先因为技术是非常理性和抽象的思维方法,逻辑性要很强,可能大部分女生会感性一些。所以如果一个人的理性思维比较强,是会有助于他在技术和产品方面做管理和决策。但同时,我认为女性管理者更善于刚柔并济,能够很容易洞悉团队里面的问题,能够很好的调动团队积极性,能够非常好的跟大家互动交流,这对于程序员比较多的技术团队很重要。颖奇:聊了这么多,您可以给大家推荐一些您最近在看的或者看过觉得有意思的书籍吗?邱慧:最近在看《激情创业》《卓有成效的管理者》《基业长青》等等。颖奇:最后,想请问您,优信二手车有什么样的策略,吸引更多优秀人才的加入呢?邱慧:我们并不盲目只通过高薪去吸引人才,而是给予优秀的人充分的发展空间和机会。在优信这样的快速发展的公司,我们需要的是一群真正想做事的人,大家有激情、有信念、追求成就感。颖奇:优信有非常好的人才理念。非常感谢您的分享。本文作者:王颖奇 联系方式:wangyingqi@gmail.com

December 25, 2018 · 1 min · jiezi