微信号:frontshow

介绍:关注前端发展,分享一线技术.不断学习,不断进步,登上前端之巅!

饿了么大前端总监:什么样的人可以称为架构师?

2016-12-09 09:22 Sofish

我曾问过很多自称热爱代码的程序员的发展规划,大多都回答说期望成为一名架构师。而在招聘一方,有的团队会过滤掉多次提起架构一词而一点不提具体内容的简历。可见,虽然在大多数程序员眼里,架构师是神圣的,但又不得不承认事实是:“架构”和“架构师”是最常被滥用的。那些写能 PPT 而不能写代码的人,只做和事佬而不考虑软件快、稳、便捷的人,都称不上做“架构”更别提“架构师”。

那么什么样的人可以称为“架构师”?

据称架构一词源于建筑行业,架构师这个职位,不管是前端还是后端,职责是相同的。而用规划一次房屋的装修来描述架构师这个职位的职责是非常合适的。

建立一套 Web API 就像在定装修风格。要选择注重重 CRUD 的 RESTFul 式,还是请求自定义性更强的 GraphQL 式,又或者是简单的 JSON-RPC 式,这就像装修风格是选要简洁的日式、粗犷的美式还是奢华的欧式。定方向和选型这件事无处不在,架构师必须根据实际需求,做各种决策,为后面各部分整体结合打好基础。

灯光、墙面、家具等各个部分都需要根据风格精心设计、执行和不断修正,才可能达到原定目标,架构也一样。拿光线控制来说,施工人员可能会忽略你注重的一些细节:暖色的书房氛围;明亮且能切到影院模式的客厅;装在合适位置才不会刺眼的背景灯。在每个环节的执行上,架构师既要设计,又要保证对每个角色充分理解,必要时不排除动手编写重要环节的功能,而在经验或考虑不足的点上一旦出现问题就必须迅速调整。空有一个好的设计而没有好的执行,是非常让人惋惜的。

值得一提的是,选用最好的卫浴用品、最贵的过滤器并不是获得最佳洗浴室体验的关键点。同样,软件架构并不是说把每个部分做到最好再拼凑起来就能达到佳效果。最好洗浴室体验的关键点在于折中和妥协。例如,在水压不是特别高的情况下,把过滤器安装在总闸虽然能让用水达到最健康的状态,但会导致淋浴的水压不够,进而使体验大打折扣。把过滤器安装在厨房出水口可能是最佳的平衡,既保证水压又保证了用水的健康。分成多个部分是解耦,而协作的平衡是内聚。低耦合、高内聚是架构师处理软件各部分协作的终极目标。

装修有很多细节,例如,若不喜欢晾衣服且生活在有“黄梅天”的上海,可选洗烘一体机;房子面积不大,可选扩展型家具;对通风质量要求比较高,可安装新风系统。软件架构也需要考虑很多细节,例如客户需求、实际环境、技术可用黑科技之类、安全、重用、扩展等。而这些细节方面的考虑,并不是一个刚入门的新人能做到的。

总的来说,称得上架构师的人,必须是具备丰富系统设计经验且能保证设计执行的设计师和决策者;必须参与设计、开发执行和测试但又不局限于一个角色。也许架构师并不一定全是这样,这仅代表个人看法和期望。

今日荐文

开发小程序的那些坑:以实践真正理解小程序


理论是一回事,真正理解小程序,还是需要一定的实践,才能进一步去理解小程序背后的一些想法,它和现有平台的一些异同,以及如何去适应它,做出更有趣的小程序。

去理解一个开发平台的特性,一个不错的角度就是从 编程模式入手,就是看在这个平台上去开发,需要如何书写和组织自己的代码,进而搞清楚三个问题:

  • 数据如何获取

  • 界面如何呈现

  • 交互如何传导

换而言之,就是从 MVC(Model-View-Controller)的视角去拆解这个平台的特性,从而理解在这个平台上开发有何特点。

做为一个新的开发平台,微信小程序从本身的稳定性,以及配套的工具链上都不算完善,这对于早期开发者而言,需要耗费额外精力去尝试和探索,但这也许就是一个新平台的价值和代价吧。

对于稍微复杂的程序而言,颇为梦魇,想做一些细粒度的调整和优化,基本只能靠猜。

前端之巅

本文为InfoQ《架构师》月刊12月份卷首语,下载《架构师》可移步:

http://www.infoq.com/cn/minibooks/architect-201612




原文链接为Sofish原稿及对此次约稿的回顾。


前端之巅是关注前端技术的垂直社群,欢迎各位前端工程师的加入!加群请关注“前端之巅”公众号并发送“加群”,投稿请请发邮件到editors@cn.infoq.com,注明“前端之巅投稿”



长按二维码关注

        前  端  之  巅

        紧 跟 前 端 发 展
        共 享 一 线 技 术

        万 名 淀 粉 互 助

        共 登 前 端 之 巅



 
前端之巅 更多文章 以实践真正理解小程序 Firebug停止更新和维护 HTTPS之难,难于上青天? NativeScript迎重大更新,支持Web Workers规范 群分享预告:开发小程序+,轻芒所踩过的坑
猜您喜欢 涅槃重生:技术到管理的跨越转型|视频+PPT 什么是「设计模式」? 10个iOS 9你可能并不知道的重要功能 iOS 9对前端做了什么? IBM对11万名消费者的研究:如何满足他们的网购期望?