博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
荔枝FM 丁宁:CTO要扮演好技术领袖与精神领袖
阅读量:6479 次
发布时间:2019-06-23

本文共 3159 字,大约阅读时间需要 10 分钟。

51ed301c480faca9775b62f1c18853f7.png

【EGO 是高端技术人聚集和交流的组织,每周我们都会对一位会员进行人物专访,在展示会员风采的同时,也分享会员们对技术、对工作、对人生的感悟,本周,我们邀请到了荔枝FM 的 CTO 丁宁。】\

EGO:能先简单介绍一下荔枝FM吗?\

\

丁宁:荔枝FM 是一款手机轻电台应用,用户可以在手机上开设自己的电台并录制节目。荔枝FM集录制、编辑、上传、存储、收听、下载于一体,又融入了大量的社交元素,因此它可以满足各类需求的人群,毕竟电台收听人群的年龄段,跨度会比较大。

\

EGO:荔枝FM 这样的模式对技术与架构会有怎样的要求与挑战?\

\

丁宁:荔枝FM的业务特点比较明显,会有大量并发的页面刷新、以及音频数据的请求,这是最重要的两个方面。\

这两个业务特点,一般会首先想到 HTTP 传输和 CDN 加速,但荔枝并没有完全采用这样的方案,因为 HTTP 虽然好处明显,但耗电量大、流量大、可控精度粗、产品体验受到制约等劣势也很明显。最后,我们在这两个方案的基础上研发了更适合这类业务的解决方案,决定采用 TCP,并在 TCP 的模式上做一些补充。\

当然之前也有过 HTTP 和 TCP 共用的做法,但这样的多通道会带来状态一致性的问题。针对这个问题,我们又研发了一套单通道多路复用的技术。这个技术使用之后,对上层开发人员来说就和 HTTP 一样简单,但它在底层只保持了一个 TCP 的连接,就能防止多通道导致客户端网卡的拥塞。\

最后在荔枝FM,不仅信令通道会使用这条链路,后期甚至在上传音频节目这一业务上,走的也是这条链路,真正做到单通道多路复用。这样既保持了 HTTP 的易用性,又最大限度的利用了 TCP 的灵活性。

\

EGO:那这样会不会导致上传、响应等特别慢?\

\

丁宁:其实并不会,数据在最底层是混到一起去上传了,但我们会在应用层处理它们,会把上传的数据分片去传输。我们做了大量的测试,会根据网络的状况和用户的操作实时调整分片的大小。\

另外在服务端,为了应对大量的并发请求,我们采用了微架构的调整,不同的业务请求会转到相应的业务处理架构上去执行,而且每一个抽象的架构层之间,都会通过 SDK 的调用来解耦,这样就算某一个业务单元崩溃,也不会导致整个架构的崩溃。\

但这么做有利也有弊,弊端就是最初的开发速度会比较慢,因为你需要整个团队都了解整个架构的组成,以及你设计的思想。而且从顶端设计开始,都是高级架构师们一起讨论并定案,什么业务能拆、什么业务不能拆、怎么个拆法、拆了之后、分布了之后可能会发生什么样的问题、如果发生问题该采取什么样的应对措施等,这些在前期的时候都要进行充分的讨论,会花费很多时间。

\

EGO:那荔枝FM 具有核心竞争力的技术有哪些呢?\

\

丁宁:荔枝FM 真正核心的技术依旧是在音频方面。现在荔枝有两个音频团队,分别负责语音处理和语音识别。\

在语音处理方面,荔枝FM 现在有一整套的降噪、回声抑制、润音还有面向小音腔设备录音播放的解决方案。同时,现在我们已经研发出可带有音乐的、全时段剪辑的解决方案,目前还是荔枝独有,这个技术我们也申请了专利。\

在语音识别方面,我们的精力主要放在提高语义识别的精度上,我们认为这是未来非常重要的方向,也是现在很多团队在做的事情。对于荔枝FM这类应用,难点就是找到用户的兴趣点,并精准推荐相关内容,所以我们需要对所有的音频资源进行定位和标签,再进行精准匹配,也就需要我们在语音识别上下更多的功夫。而且语音识别未来的想象空间会很大,真正识别之后就可以去做更多的事情。

\

EGO:对于技术团队管理,您有何个人心得?\

\

丁宁:团队管理中,最大的难题并不是技术本身,也不是你带什么样团队,大部分团队的带法都差不多,碰到的挑战也都是一致的。在我看来,技术团队最大的挑战还是找人,找合适的人,所以很多技术管理者都会花费很多时间在招聘上。\

过了招聘这个层面,主要的困难就是项目管理。因为,创业这个阶段,你要干得事情非常杂,从上到下每个细节你都需要去关注、去执行。\

我从08年开始做项目管理,到现在依旧觉得对创业公司来说,项目管理是件挺困难的事。首先,人员是快速招聘的,从四面八方而来,他们在之前形成的一些做事习惯可能并不一致;另外,人员的水平参差不齐,你不可能在创业初期就找到很多的牛人和高手,这并不现实。那怎样才能让这些人高效的朝着一个目标去运作,对于技术管理而言是非常大的难度和挑战。\

我们目前采用的是 。Scrum 本身的方式很好,像每天的例会、冲刺前的沟通、冲刺结束后的总结等。但在实际的运作过程中,往往会产生很多问题,最后可能就慢慢流于形式了,你会发现团队越做越慢,质量也无法保证,这是很严重的一个问题,也是很多技术管理人都需要关注的。

\

EGO:在您看来,作为创业公司的 CTO,哪些能力和素质是必需的?\

\

丁宁:对创业公司来说,CTO 这个角色要兼任两个方向的领袖,第一是技术领袖,第二是精神领袖。\

首先成为技术领袖,才能将大家团结在你身边,并且给别人信心,让他们相信跟着你技术不会走歪,也不会做无用功,最终一定能把事做成。另外,身为技术领袖还需要具备一定的前瞻性,能预见后期可能会遇到的坑或问题,并帮助大家避开,给大家可靠感。因此,要成为技术领袖,对技术的敏感度以及实际解决问题等能力,都是不可或缺的,而其中,见多识广则是最不可缺的。\

精神领袖,更多时候需要和大家冲在一线,以此鼓舞士气。而好处则在于能够让团队士气高涨,对所做的事情充满信心和激情。技术人本身其实是很单纯的,所以你需要把这两个角色演好,让整个团队既信任你,又愿意跟着你向着目标努力。

\

EGO:那如何才能把这两个角色扮演好呢?\

\

丁宁:这对沟通等很多能力都有很高的要求,你需要有把复杂问题简单化的能力,才能有效的鼓舞大家,另外还需要优秀的管理能力,这些都是需要技术人锻炼的。\

所以技术人到了一定阶段后,一定要去锻炼沟通能力,这非常重要。把一个复杂问题清晰的理解之后,简单化,再用简单的语言去跟技术之外,产品、市场、运营等人员沟通。技术人经常会站在技术角度说一些问题,产品和运营可能听不明白,彼此之间就可能产生误解,所以要尽量用大家都能理解的方式沟通,这对整个团队的运转也非常有好处。

\

EGO:对您最近的工作和生活,您是否有感触想要分享呢?\

\

丁宁:这两年,从技术转到技术管理,也有挺多感触的。我觉得技术只是一种能力,但要做成一件事情,需要多种能力的综合,比如技术管理、沟通能力、社交能力、对目标的认识等,方方面面都是挑战。\

之前一直觉得成为一个技术大牛是件非常牛的事情,没有我解决不了的技术难题,大家都来像我请教。但最后会发现,技术只是一种手段,最主要的还是目标的完成,而仅靠技术并不能解决所有的问题、达成既定目标,其他影响因素会非常多,尤其是创业的时候,这种情况会尤其明显。\

所以,当技术达到一定层面之后,技术人一定要提升自己技术之外的能力,如社交、沟通等,当然,到那个时候,现实也会逼着你一定要那么做,然后慢慢在实践中领悟。

\

EGO:您对EGO有何想法和期待?\

\

丁宁: EGO 这个平台真的很好,通过能认识很多人,也能够学到很多东西,有点儿相见恨晚的感觉。期望的话,还是想认识更多的人,也希望有一些人才推荐的环节、技术管理的培训等,可以让我们的团队去学习、提高。

\\\\

感谢对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群(已满),InfoQ读者交流群(#2))。

转载地址:http://ppwuo.baihongyu.com/

你可能感兴趣的文章
Puppet module命令参数介绍(六)
查看>>
《UNIX网络编程》中第一个timer_server的例子
查看>>
CISCO 路由器(4)
查看>>
网络服务搭建、配置与管理大全(Linux版)
查看>>
Silverlight 5 Beta新特性[4]文本缩进控制
查看>>
springMVC多数据源使用 跨库跨连接
查看>>
Git服务端和客户端安装笔记
查看>>
Spring Security(14)——权限鉴定基础
查看>>
IntelliJ IDEA快捷键
查看>>
【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
查看>>
MongoDB的基础使用
查看>>
进程间通信——命名管道
查看>>
ssh登陆不需要密码
查看>>
ARP
查看>>
java mkdir()和mkdirs()区别
查看>>
虚拟化--003 vcac licence -成功案例
查看>>
windows server 2003各版本及2008各版本的最大识别内存大小
查看>>
OSChina 周六乱弹 ——揭秘后羿怎么死的
查看>>
IT人员的职业生涯规划
查看>>
sorry,you must have a tty to run sudo
查看>>