17611538698
webmaster@21cto.com

卫向军访谈录(二):从旧金山到三好男人

CTO说 6 2449 2017-08-27 12:01:54

weixj.png

 那个年代外企比较吃香,提供良好的待遇和工作环境,微软也很重视每位员工的职业生涯。人力资源和管理部门通过专业能力,竞争力,沟通力等十个维度来量化一个人的综合能力,即职级能力模型。

 通过该模型,管理人员或人才会告诉同事哪里需要加强,员工可以根据数据,对应自身需要加强的能力。
 
后来卫向军参与和推动微软的Lync统一通讯产品向移动平台的转型,这个时候的他,已经积累了深厚的音视频协议栈经验。也同时给未来的职场埋下了一个伏笔。
 
和很多跨国公司一样,微软的决策力是从国外驱动国内,国内大多扮演执行的角色,受到一定的约束。
 
加盟金山
 
2012年,原微软高管张洪江跳槽到了金山,金山这家与微软对手多年,苦熬十余载的公司准备转型互联网,很多产品都在向C端产品转型,包括WPS等。
 
张洪江是卫向军的直属领导,卫向军和张洪江一起到了金山。卫向军选择加入的主要原因还有时代在向互联网方向开始大发展。
 
这一年,卫向军正好在微软亚洲研究院工作满五年。
 
卫向军来到金山公司后,从硬件环境上,这家民营软件公司从待遇,舒适度当时都没有盖茨先生提供的好。
 
但是金山这个走向互联网的企业,决策和战略要快于外企。
 
当时也有个大趋势就是云计算,就像如今大家都在拥抱的人工智能项目类似,金山准备做云计算,当时技术和市场也不是特别明朗。但是金山内部迅速决定要开发一款面向用户的金山快盘产品,也就是网盘产品,这个项目的产品技术就交给卫向军负责。
 
开始组建团队,发现情况要复杂的多。金山的同事,层次不同,有精英,也有少部分一般水平的同事。
 
卫向军试图从技术团队中做分层,一个精英确定架构方向,率领大家,定方向,目标一个来定,中间层执行,下层补充。包括产品,开发,设计和测试、运维人员,十几个人。
 
研发采用敏捷开发,按功能优先级的排列,大颗粒的开发,一些用户不会触发和没必要的细节,暂不会开发。
 
他发现在微软时的全精英团队,换成高中低分层也能做好事,做成事。几个月后,金山快盘的PC端,客户端,全部上线完毕。
 
推出较早,曾在国内网盘领域占据第一位。他第一次感受到做互联网产品的力量和成就感,从项目管理自己又进一步提到提高,在产品质量上,市场接受度,都交给用户来投票决定。
 
之后他的金山快盘研发团队,每月都会迭代三到四次。
2014年,政策的影响,网盘的热潮退却,国内市场上只留下巨头的背影。
 
卫向军开始寻找更有活力的公司。这一年,他加入了新浪微博,变成了“旧金山”人。
 
新浪微博的架构革新
 
他到微博后从头搭建微博的文件存储服务平台,这是一个面向短视频、图片、附件、长微博等文件的存储代理中间层。
 
后面他也深入了解微博这种现象级产品,大流量的产品,是怎么运营,怎么发展的。
同时,他也结识了新浪微博的技术总经理杨明华,他的新老板。
 
技术方面,他沉下心去研究实践,他给自己定个小目标,每年出两篇精华,即有观点有更深价值的文章,不做科普类的分享。
 
2014年,他将自己在微博的技术积累,写就了《亿级用户的微博架构平台》文章。
 
探索产品更先进的架构,尝试做新产品,比如通信产品的研发。
 
针对电影,音视频等的高流量,高并发的实践优化。

weibojiagou.jpg

 
从卫向军的习惯看,我们每个技术人都要擅于总结,分享,这种是终身受用的好习惯。
 
三好技术男
 
2016年,何强创办了三好网,他是一个教育行业的专家,准备做的是K12行业的在线教育。后来他找到了卫向军。正好在线教育是卫向军感兴趣的领域,于是加入并担任CTO职位,负责公司的产品研发和技术。
 
从外企软件公司,再到互联网公司,从技术和产品驱动到现在的市场销售驱动的公司。他自己总结了一个方法论和体系结构,简要如下:
  • 技术团队不能被动执行,要有自已的创新,节奏
  • 外部需求流程化,分层对接,然后排期,排期
  • 特别紧急的需求,能够鉴别
  • 与业务部门协同,达成紧密的伙伴关系

 
经历了三级跳,卫向军同志越跳越高,越来越好。
 
而有的技术人则只看薪水,或任由自己的性子来发展,绝不能单纯是为了钱而换工作,要在个人专业能力、协同能和管理水平上都有质的提升,为自己的未来考量得更深入。
 
卫向军在微软经历别人审核代码,到审核他人的代码,严谨、认真、精益求精的工程师匠人文化,打下深厚的烙印。全球化的跨团队开发经验也锻炼了自己的组织协调能力和优秀的沟通能力。
 
在金山的生涯,[size=15]卫向军个人提升最大的还是研发团队管理能力以及技术的广度,当时项目在内部是当成创业孵化项目来做,自己从一个单纯的技术人员,转变为技术管理者。[/size]
 
在产品设计、架构设计、项目管理上投入了非常多的精力,在项目推进过程中遇到各种难题不断的解决,逐步成长为真正的项目负责人,个人的主动性、执行力都有了质的提升。
 
后面他在新浪微博跨越了一个瓶颈,在微软的技术积累,同时在新浪微博亿级DAU的磨练下,逐步积累了宝贵的千万级高并发、高性能、高可扩展的互联网架构和研发经验。当每隔1、2个月就有新的流量挑战,就需要做架构重构,对一个人技术提升有着极大的挑战。
 
每个技术人都有积累或写文章的习惯,但不一定公开分享。当你尝试过后,会发现效果非常显著,公开文章会给自己更大的压力,逼迫自己去总结、去思考没有考虑好的逻辑漏洞。
 
“越分享越多”,技术同行的讨论交流可以开阔视野,甚至能解答自己一直没理解清楚的技术疑点。在新浪微博带团队进行技术攻坚能力也得到了很大的提升。在日后的团队管理、团队招聘和培养、团队激励、复杂人事关系处理能力都越来越得心应手。
 
加入三好网后,面临事多且杂乱的情况,救火,真假需求杂糅在一起。在团队人员管理、技术攻坚、项目管理上都遇到非常大的挑战,根据实际情况构建了更高效的研发管理体系。
 
卫向军又分享了以前给开发者的分享内容。
 
第一,架构师如何成长?
 
架构实际上就是一个架子,放一些业务和算法,跟我们的生活中的晾衣架很像。更抽象一点,说架构其实是对我们重复性业务的抽象和我们未来业务拓展的前瞻,强调过去的经验和你对整个行业的预见。
 
架构师一个最重要的能力就是你要有战略分解能力。
 
第一,你必须要有抽象的能力,抽象的能力最基本就是去重,去重在整个架构中体现在方方面面,从定义一个函数,到定义一个类,到提供的一个服务,以及模板,背后都是要去重提高可复用率。
第二,分类能力。做软件需要做对象的解耦,要定义对象的属性和方法,做分布式系统的时候要做服务的拆分和模块化,要定义服务的接口和规范。
第三,算法(性能),它的价值体现在提升系统的性能,所有性能的提升,最终都会落到CPU,内存,IO和网络这4大块上。
 
第二,程序员如何做好时间管理?
 
在时间管理上,首先要对生活和工作保持热情,这是基础。在此之上寻找合适的自己的时间管理方法将会达到事半功倍的效果。
 
对程序员来说,根据“二八原则”,找寻自己每天最清醒的时间来做最重要的事情,每天留出一段时间来思考个人未来的发展,做好远期规划,了解行业、技术前沿知识,不断更新自己的知识结构。市场上也有一些不错的时间管理的书和网站,比如番茄工作法、GTD等都很不错,推荐大家看看,找到适合自己的时间管理方法。
 
除了留出20%的时间充电,不断提升个人的能力和素质,剩下80%的时间中,同样遵循“二八原则”,80%的时间专注于20%重要的事情上,提早规划安排,尽量减少分配在紧急事情上的时间。
 
最后说一点,随着移动互联网的冲击,大家花在智能手机上浏览碎片化信息的时间越来越多,这种情况下,逐步建立自己的阅读习惯和阅读体系,把时间花在一些有价值、有内涵、有深度的文章上,不要浪费在大量无关紧要的突发、娱乐新闻上。
 

 
第三,码农35岁以后怎么办?
 
如果一个码农有意识思考35岁以后做什么,说明他是有危机意识的。
 
从我的过往经历和感悟来说,每个人35岁以后在职场中处于什么位置和踏入职场后每一步的规划和坚持执行息息相关。
 
所以从当下开始要思考自己想要什么,给自己设立清晰的目标,基于SMART原则制定相应的执行方案来一步步达成自己的目标。
 
对于技术人员来说,技术路线还是管理路线?电商行业还是社交行业?创业公司还是大公司?专注于技术还是转型产品、测试?后台技术还是前端技术?朝九晚五还是996?
 
如何选择?最重要的是追随内心深处的声音,做自己喜欢的事情,保持长期的热情和坚持,在35岁时一定能达到一个满意的人生状态。
 


作者:杜江(洛逸)。21CTO(21cto.com)社区创始人。十七年架构与管理经验。 著有《PHP5与MySQL5 Web开发技术详解》、《PHP5完全攻略》、《PHP与MySQL高性能应用开发》(机械工业出版社出版,各大电商平台和书店有售)。


评论