说到架构师,大部分程序员与小编一样都会有一个同样的问题:架构师到底与普通程序员有什么区别?他们平时都在做什么?想什么?也许在大部分的普通程序员的眼里,架构师已经成为了他们唯一的一个目标。也正因为架构师是一门建立在科学,工程基础之上的艺术,一个充满魅力,极其有趣的工作;给人带来了一种不被束缚,不按别人的思路走,自由描绘无限风景的期盼。
架构师是没有终点的,它是一种技术的体现,只有坚持不懈的专研和努力,“强者愈强”这才是一名架构师的价值所在!
如何“强者愈强”?在架构师的成长历程专题的采访中,张巍(Denny)老师给出了他自己的一些看法。
DennyZhang, 架构师,现效力于shopex电商云部门
张巍的简短介绍:早先在EMC从事分布式文件系统的开发,现致力于构建一个高可用,自维护的电子商务云平台。常年痴迷于emacs和linux,近年来玩玩erlang。
从选择方向到自我超越
从对IT行业感兴趣到开始程序员的生活,Denny感觉很多IT人的职业生涯并不是一开始就有着远大的目标提引着我们向前。它倒是像一个不断跌宕的河流,在碰撞中向前。也因为Denny在读大学,读研究生学的都是计算机。自然而然地,慢慢走上IT的道路。做着做着,慢慢发现了乐观。特别通过elisp/emacs能魔术般地解决一些生活中的问题,由此更激发了他想不断超越自我的想法。
从程序员和架构师当中,Denny认为,架构师相比软件开发人员来说,主要只是要求前瞻性更好一些,经验更丰富一些而已。两者之间并没有,也并不应该有清晰界线。就像是linus(Linux核心的创作者)从来也不会以架构师自居,在他看来更不能妄谈架构师的成长之路。唯一值得提的感触就是: 就像是玩超级玛莉一样,每解决一个问题,每受一个搓折,我们的经验值应该要增加的。经验充足了,自然就能预见一些问题,培养一些直觉了。就Denny认为,他还有一段很长很长的路要走。在这里Denny就自我祝愿:希望每过一个月,每过一年,他都能有一个长足的进步。
从团队建设到技能强化
每个架构师都有自己的专长以及自己的研究领域,除了自己的技能提升,加强团队的配合也很重要。从Denny他们的团队建设工作上来讲,由于只有二十来号人,所以更多的是借荐XP的工作方式。对于需要攻关的技术难点和方案选型,主要是通过相关同事在白板讨论,头脑风暴完成的。全过程中,并没有单独的, 不从事开发的manager角色,所以讨论和反馈还是十分深入和及时的。
对于Denny个人而言,能够让他投入大量的时间而又非常感兴趣的三点:
- linux的实现:在云平台和分布式系统开发中,很多问题的瓶颈都会落脚在linux OS上,或者在linux实现中可以找到一些问题的影子。
- emacs的优化:作为有着1万行elisp配置的深度emacs控来说,如何通过emacs来优化工作,优化生活,我有着骨灰级的兴趣。
- 如何构建夯棒的分布式服务:如何构造一个自修复,伸缩性强的分布式服务,是我长期以来工作中的主要内容。
就上面三点而言,能够让Denny愿意花大量的时间去做,这正是架构师一种坚持不懈的专研和努力的精神。
从技能培养到自我挑战
成为一名架构师仅仅通过理论学习是不行的,在自我培养的过程中Denny认为最重要的是有一颗积极向上的心。相信自己能不断超越自己,fight with your blood,那么接下来的事情就顺理成章了。在这里Denny还提出了两本对他影响比较深刻的书: 史蒂芬•柯维的<<高效能人士的7个习惯>>和刘未鹏<<暗时间>>。也推荐没有读过的朋友们花一两天从头到尾读一遍,想必一定很有收获。
Denny还给出了加强技能需要注意的三点:
- 时刻保持清零的状态: 固有的经验和过强的自我认知,会使人容易忽视别人意见中的有益部分
- 深度是广度的副产品: 尤其对于在分布式开发,这样一个快速发展,新技术层出不穷的领域
- 多写代码,多接地气:实践出真知
顺便推荐一下Denny他们团队的博客:http://blog.ec-ae.com/
最后,Denny给我们介绍了作为一名架构师最大的挑战,那就是架构的不好。就是"一将无能,累死三军"。这里面困难当然就有很多种:知识广度或深度不够,导致技术选型不当。前瞻性不够,导致拆拆补补。问题分析不够,导致舍本逐末。其中,最重要的一点是,真心想燃烧自己的生命,将事情做到尽善尽美; 对待失误和不足,能彻彻底底做到实事求是就好了。