Architects Must Be Hands On

Architects Must Be Hands On
John Davies
A good ARCHiTECT SHould lEAd By ExAMplE. He (or she) should be able to fulfill any of the positions within his team, from wiring the net- work and configuring the build process to writing the unit tests and running benchmarks. Without a good understanding of the full range of technology, an architect is little more than a project manager. It is perfectly acceptable for team members to have more in-depth knowledge in their specific areas but it’s difficult to imagine how team members can have confidence in their architect if the architect doesn’t understand the technology. As has been said elsewhere, the architect is the interface between the business and the technol- ogy team, and thus must understand every aspect of the technology to be able to represent the team to the business without having to constantly refer others. Similarly the architect must understand the business in order to drive the team toward its goal of serving the business.
An architect is like an airline pilot: he might not look busy all of the time, but he uses decades of experience to constantly monitor the situation, taking immedi- ate action if he sees or hears something out of the ordinary. The project manager (co-pilot) performs the day-to-day management, leaving the architect free from the hassles of mundane tasks and people management. Ultimately the architect should be responsible for the quality of the projects and their delivery to the busi- ness. This is difficult to achieve without authority, which is critical to the success of any project.
People learn best by watching others; it’s how we learn as children. A good architect should be able to spot a problem, call the team together, and without picking out a victim, explain what the problem is or might be and provide an elegant workaround or solution. It is perfectly respectable for an architect to
ask for help from the team. The team should feel it is part of the solution, but the architect should chair the discussion and identify the right solution(s).
Architects should be brought into the team at the earliest part of the project; they should not sit in an ivory tower dictating the way forward, but should be on the ground working with the team. Questions about direction or technology choices should not be spun off into separate investigations or new projects, but be made pragmatically through hands-on investigation or using advice from architect peers—all good architects are well connected.
Good architects should be experts in at least one tool of their trade, e.g., an IDE; remember they are hands on. It stands to reason that a software architect should know the IDE, a database architect should know the ER tool, and an information architect should know an XML modelling tool. A technical or enterprise archi- tect, however, should be at least effective with all levels of tooling, from being able to monitor network traffic with Wireshark to modelling a complex financial message in XMLSpy—no level is too low or too high.
An architect usually comes with a good resume and impressive past. He can usually impress the business and technologists, but unless he can demonstrate his ability to be hands on, it’s difficult to gain the respect of the team, difficult for the team to learn, and almost impossible for team members to deliver what they were originally employed to do.
John Davies is currently chief architect at Revolution Money in the U.S. He re- cently started a new company called Incept5.
Architects Must Be Hands On的更多相关文章
- Learn from Architects of Buildings
 Learn from Architects of Buildings Keith Braithwaite Architecture is a social act and the material ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
- Atitit java onvif 开源类库 getProfiles getStreamUri
Atitit java onvif 开源类库 getProfiles getStreamUri 1. ONVIF Java Library by Milgo1 1.1. https://github. ...
- Integrating SharePoint 2013 with ADFS and Shibboleth
Time again to attempt to implement that exciting technology, Federation Services (Web Single Sign On ...
- GOOD MEETINGS CREATE SHARED UNDERSTANDING, NOT BRDS!
Deliverables and artifacts were a focal point of BA work during the early part of my career. If I ...
- [转]Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications
This article is from blog of Amazon CTO Werner Vogels. -------------------- Today is a very exciting ...
- Postgresql-xl 调研
Postgresql-xl 调研 来历 这个项目的背后是一家叫做stormDB的公司.整个代买基于postgres-xc.开源版本应该是stormdb的一个分支. In 2010, NTT's Ope ...
- How Do Annotations Work in Java?--转
原文地址:https://dzone.com/articles/how-annotations-work-java Annotations have been a very important par ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q21-Q24)
Question 21 An application will be deployed in a SharePoint 2010 server farm that is managed by depa ...
随机推荐
- Html5学习进阶一 视频和音频
HTML5 规定了一种通过 video 元素来包含视频的标准方法. 视频格式 当前,video 元素支持两种视频格式: Internet Explorer Firefox 3.5 Opera 10 ...
- 用vs2008和vs2005创建win32 console application
http://blog.sina.com.cn/s/blog_4900be890100s735.html 对于经常使用vc6.0的人来说,创建一个win32 console application很简 ...
- VS MFC RADIO控件 选择
我们假设有两个RADIO控件:IDC_RADIO_SINGLE和IDC_RADIO_RANGE,我们的目的是默认选种IDC_RADIO_SINGLE控件. 方法一: CheckRadioButton( ...
- C++嵌套类及对外围类成员变量的访问
C++嵌套类及对外围类成员变量的访问 在一个类中定义的类称为嵌套类,定义嵌套类的类称为外围类. 定义嵌套类的目的在于隐藏类名,减少全局的标识符,从而限制用户能否使用该类建立对象.这样可以提高类的抽象能 ...
- C++开发资源汇总
这次的资源涉及到了标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等,C++程序员学习必备! Jason frozen : C/C++的Jason解析生成器 Jansson ...
- Linux下使用system()函数一定要谨慎
转载自:http://my.oschina.net/renhc/blog/53580 linux尽量避免使用system. 曾经的曾经,被system()函数折磨过,之所以这样,是因为对syste ...
- 中国大陆无法访问Steve Purcell的emacs配置解决办法
因为大陆网络问题,没办法访问Steve Purcell的emacs配置中的melpa.org,所以我们更改目录即可. 1.删除自己的配置. $ rm ~/.emacs $ rm -rf ~/.emac ...
- 关于SpringMVC的全局异常处理器
近几天又温习了一下SpringMVC的运行机制以及原理 我理解的springmvc,是设计模式MVC中C层,也就是Controller(控制)层,常用的注解有@Controller.@RequestM ...
- PSR-2 编码风格规范
本篇规范是 PSR-1 基本代码规范的继承与扩展. 本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便. 当多名程序员在多个项目中合作时,就需要一 ...
- ZOJ 3940 Modulo Query (2016年浙江省赛E题,区间折叠 + map运用)
题目链接 2016 ZJCPC Problem E 考虑一个开区间$[0, x)$对$a_{i}$取模的过程. $[0, x)$中小于$a_{i}$的部分不变,大于等于$a_{i}$的部分被切下来变 ...