架构师是公司的“金领”,很少需要考虑生存的问题,从而有更多的精力思考关键技术,形成“强者愈强”的良性循环。当然,冰冻三尺非一日之寒,成为一名合格的架构师是一个漫长的积累过程。对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。那么程序员们要想如何去成为一名合格的架构师,我们还要先从一名合格的架构师的身上去了解,了解架构师们的一些成长经历,了解他们是如何加强自己的技能修养,了解他们是怎样的一个自我培养的过程等等。下面小编就以上问题采访了新浪云计算架构师丛磊老师。
丛磊,新浪云计算首席架构师
丛磊介绍:2005年作为中国访问学生在印度TATA学习,2006年北京化工大学计算机系毕业后加入新浪,先后独立开发第一个用在Spider的JavaScript编译器YAJSC、用于新浪视频相关推荐计算的分布式计算框架DCF等。2008年开始带领技术团队从事云计算方面的开发,2009年起负责SAE的整体架构和技术实现,作为一线开发人员先后经历了SAE的原始版本、Alpha1、Alpha2、Beta的发布。
对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。那么从程序员与架构师有没有比较明显的区别呢?从丛磊老师的介绍中我们知道,其实架构师和程序员的界限并不是很大,比如现在仍然在每天写代码。其实成长首先来自于自身的学习,而阅读成熟项目的代码会使人受益匪浅,其次就是来自于所从事领域的经验,要了解分布式系统的特点,在做项目时,要能够关注性能、扩展性、可靠性、可用性等指标。
架构师其实就是一个漫长的积累过程,从准备期到动荡期我们都是不停的探索,学习。大部分的架构师的年龄都是在35岁左右,这个阶段就是程序员的黄金期。那么我们如何以一个架构师的标准来加强自己的能力呢?下面我们来看看丛磊老师的一些建议。
如何去加强技能修养?
程序员要成为一名架构师发展,需要进一步加强技能的修养。丛磊认为,对于互联网公司来言,最重要的技能是对网络和分布式系统的理解,网络上面的书籍很多,比较麻烦的是分布式系统,需要结合很多实际的paper和方案来理解。对于这些知识,他个人推荐不断的读书,反复的读书,因为同一个知识,在不同的项目经验后,绝对不是不同的理解。
如何去自我培养?
当然要成为一名架构师仅仅通过理论学习是不行的,在丛磊的介绍中了解到,其实他理想中的架构师要求很高,不仅有丰富的编码经验,而且还要熟悉硬件性能优化、内核调试、网络故障排查、系统安全、分布式系统设,还有了解国内外技术的新趋势和特点,最重要的是,还要善于与人沟通,敢于排除不同意见,敢于承担责任,了解团队内工程师的特点,善于将他们组成一个整体。他自己也在朝着这个目标去努力。
如何在团队中开展工作?
很多正在发展为架构师的程序员也很想了解架构师在团队中时如何进行设计工作的,丛磊也根椐他的工作做了介绍。在他们团队中,其实很难分离出一个单纯的架构师的角色,换句话说,很难界定架构师只需要做哪些。架构师更多的是以一个技术负责人的身份和工程师一起做好产品,这里面包括,项目开展前的方案设计,方案完成后的评审,方案确定后的开发,以及之后的调试、优化,故障排查。
当然了,良好的驾驭管理开发团队的能力,良好的人格修养,能够让架构师在开发项目中游刃有余,不会出现意料之外的干扰,更能从内散发出人格魅力。
最后,在面临架构师的一些困难克服问题上,丛磊老师介绍说,最大的挑战是不断更新自己,适应不断前进的技术演变。那么解决办法也很简单,但也很难,那就是“学习”和“坚持”。