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. CodeVS1611_APIO2009_抢掠计划_C++

    题目:http://codevs.cn/problem/1611/ 关于题解请戳这里:http://www.cnblogs.com/hadilo/p/5892765.html 下面给一个可以A的代码, ...

  2. 转载:GCC 提供的原子操作

    转载自:GCC 提供的原子操作 GCC 提供的原子操作 gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作. 其声明如下: type __sync_f ...

  3. 1.1 由C++Builder 6.0 通向OpenGL(1)

    http://book.51cto.com/art/201104/255588.htm 第1章  架好通向OpenGL的桥 本章主要是为以后进行的OpenGL编程进行一些铺垫工作.主要内容有:Open ...

  4. ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端

    昨天在ubuntu下进行安装gSOAP,费了很多时间,没成功,今天又来找了大量教程资料,终于一次成功,这里写下自己的安装步骤和方法,供大家参考. 首先下载gsoap,我下载的是gsoap-2.8.1. ...

  5. SQL Server中JOIN的用法

    JOIN 分为:内连接(INNER JOIN).外连接(OUTER JOIN).其中,外连接分为:左外连接(LEFT OUTER JOIN).右外连接(RIGHT OUTER JOIN).全外连接(F ...

  6. 加密中的salt是啥意思

    今天在stackoverflow上查看python的md5的问题,提到,除了简单的加密外,还可以加入一点salt 啥意思?百度一下看到:(https://zhidao.baidu.com/questi ...

  7. EntityFramework之多对多关系(四)

    上篇介绍了一对多关系,下面介绍下多对多关系代码编写. 1.新建model实体,User是用户类,Role是角色类,由于是多对多关系,必须得有一个中间类,所以产生了UserRole类 public cl ...

  8. js-监听页面滚动

    两种监听页面滚动的方法 一.原生js通过window.onscroll监听 window.onscroll = function() { //为了保证兼容性,这里取两个值,哪个有值取哪一个 //scr ...

  9. (13)C#数组

    如果需要使用同一类型的多个对象,数组是一种数据结构,它包含同一类型的多个元素 一.一维数组 1.数组的声明方法 int [] a; 因为数组是引用类型,引用类型有个特点是:声明变量时不会马上分配一个内 ...

  10. 大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配

    第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 ...