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的更多相关文章

  1. Learn from Architects of Buildings

     Learn from Architects of Buildings Keith Braithwaite Architecture is a social act and the material ...

  2. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  3. Atitit java onvif 开源类库 getProfiles getStreamUri

    Atitit java onvif 开源类库 getProfiles getStreamUri 1. ONVIF Java Library by Milgo1 1.1. https://github. ...

  4. Integrating SharePoint 2013 with ADFS and Shibboleth

    Time again to attempt to implement that exciting technology, Federation Services (Web Single Sign On ...

  5. 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 ...

  6. [转]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 ...

  7. Postgresql-xl 调研

    Postgresql-xl 调研 来历 这个项目的背后是一家叫做stormDB的公司.整个代买基于postgres-xc.开源版本应该是stormdb的一个分支. In 2010, NTT's Ope ...

  8. How Do Annotations Work in Java?--转

    原文地址:https://dzone.com/articles/how-annotations-work-java Annotations have been a very important par ...

  9. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q21-Q24)

    Question 21 An application will be deployed in a SharePoint 2010 server farm that is managed by depa ...

随机推荐

  1. [ CodeVS冲杯之路 ] P3116

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/3116/ 基础的高精度加法,注意一下两个数长短不一和答案第一位的处理即可,当然也可以用压位的方法做 #include&l ...

  2. 64位操作系统安装32位客户端和PL/SQL

    PL/SQ只能使用32位的Oracle客户端.在64位系统下安装了64位的oracle 11g,使用PL/SQL需再安装32位Oracle客户端. 按以下方法试验成功: 1)安装32位的Oracle客 ...

  3. python自动化测试windows gui

    http://sourceforge.net/projects/pywinauto/files/pywinauto/ http://www.microsoft.com/en-us/download/c ...

  4. MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]

    修改 <update id="updateStatusById" parameterType="java.lang.Integer"> update ...

  5. python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决【转载】

    原文转自:http://bbs.chinaunix.net/thread-4154743-1-1.html python3中用HTMLTestRunner.py报ImportError: No mod ...

  6. javaweb核心技术servlet

      一.Servlet简介 1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质 ...

  7. android okhttp3

    一. 传键值对 public String webLogin() { String responseData = null; OkHttpClient client = new OkHttpClien ...

  8. Python的程序结构[1] -> 方法/Method[1] -> 静态方法、类方法和属性方法

    静态方法.类方法和属性方法 在 Python 中有三种常用的方法装饰器,可以使普通的类实例方法变成带有特殊功能的方法,分别是静态方法.类方法和属性方法. 静态方法 / Static Method 在 ...

  9. Python的程序结构[4] -> 函数/Function[2] -> 匿名函数

    匿名函数 / Anonymous Function 匿名函数是一种不需要绑定函数名的函数 (i.e. functions that are not bound to a name).匿名函数通过 la ...

  10. Map泛型集合-国家中文和英文的键值映射

    package collection; import java.util.HashMap; import java.util.Map; public class Test5 { public stat ...