软件架构师是个让人羡慕的职业,在市场经济成熟的国家,其薪酬已经达到医生、律师、注册会计师、建筑设计师的水平。但是薪酬高低与职业成熟度没有直接的关系。重赏之下必有勇夫,高薪往往造成培养机制不健全的行业出现暂时的良莠不齐。目前我们还没有培养软件架构师的成熟机制,架构师大多是程序员自学成材。程序员擅长和电脑打交道,却不善于处理工作中的人际关系。然而经验表明,除了技术特长,沟通协作的技巧、领导协调的能力、统筹取舍的经验在指挥开发项目的过程中起着更重要的作用,而这些内容在计算机学院的课本里压根找不到。刚刚升任软件架构师的人,都有一段时间觉得茫然失措,因为有太多非技术问题困扰着他们。
软件架构师是IT 行业里独一无二的职业,既要精通软件开发技术,又要掌握业务知识,还要周旋于公司不同部门之间,协调各种予盾。做到这些绝非易事, 博文视点 即将翻译出版的新书《软件架构师应该知道的97 件事》(97 Things Every Software Architect Should Know )探讨的就是这个主题。
本书的编辑Richard Monson-Haefel 是畅销书《 Enterprise JavaBeans 》和《 Java 消息服务 》的作者。Richard 邀请五十多位杰出的软件架构师分享工作经验和观点,帮助读者少走弯路。其中不乏大家熟悉的名字:《 卓有成效的程序员 》的作者Neal Ford ,《 企业集成模式 》的作者Gregor Hohpe ,Servlets 和JSP 专家组和W3C RDF 工作组技术专家Bill de hÓra , 《 Web 应用程序快速开发 : 使用TurboGears 》的作者Mark Ramm ,《 Release It! 》的作者Michael Nygard ,《 软件开发沉思录 》的作者之一Rebecca Parsons 博士,活跃于Perl 社区的女架构师Allison Randal ,《 Java SOA Cookbook 》的作者 Eben Hewitt , 等等。
目前这本书已经翻译完成,博文视点正在紧张地进行后期制作,计划2010 年4 月下旬出版。以下是书中97 篇文章的主题和作者列表。我们尽可能收集了作者的博客地址或个人主页,方便大家浏览参考。本书的豆瓣页面 。
软件架构师应该知道的97件事:
1. 客户需求重于个人简历 ( Nitin Borwankar )
客户需求至上。沽名钓誉,事与愿违。
2. 简化根本复杂性 ,消除偶发复杂性 ( Neal Ford )
分析问题好比拨云见月、水落石出。
3. 关键问题可能不是出在技术上 ( Mark Ramm )
团队同心,其利断金。
4. 以沟通为中心,坚持简明清晰的表达方式和开明的领导风格 ( Mark Richards )
沟通应当言简意赅、详略得当,别拖泥 带水。
5. 架构决定性能 ( Randy Stafford )
种瓜得瓜,种豆得豆,架构设计也是一 样道理。
6. 分析客户需求背后的意义 ( Einar Landre )
抽丝剥茧,洞见症结。不要被表面需求 迷惑。
7. 起立发言 ( Udi Dahan )
起立发言效果更好。
8. 故障终究会发生 ( Michael Nygard )
应该提前设计预防措施,限制故障。
9. 我们常常忽略了自己在谈判 ( Michael Nygard )
工程师应该适时转换角色,学习谈判的 技巧。
10. 量化需求 ( Keith Braithwaite )
没有规矩,不成方圆。
11. 一行代码比五百行架构说明更有价值 ( Allison Randal )
可工作的代码才是目标,设计只是达成 目标手段。
12. 不存在放之四海皆准的解决方案 ( Randy Stafford )