程序員成長为架構師必備的十項技能

简介:

程序員成長为架構師必備的十項技能

時間:2011-08-28 13:06來源:Internet 作者:Internet 點擊: 2735 次
不是每一個程序員都能夠成为一個架構師——這是開發界廣为流傳的一個論調。架構師群體往往對這個言論表示默許,這不得不令廣大入門不久的程序員們懷疑架構師們是不是隱藏了什

 

   一、卓越的程序員

    1、每個好架構師都是一位出色的程序員

     架構師,聽起來是如此神秘的一個稱號。尤其是在開發領域剛入門不久的菜鳥級程序員眼中,架構師都是高手,都是牛人,都是如此高高在上的存在。

    不過,在搞了四、五年編程之後,程序員們往往早已失去了當年對這些“高級”職位的神秘感,甚至會對自己所在項目的架構師抱怨不已,背後裏稱他們是一群水王。所以有江南白衣曾撰文述說:“國內的架構師到了三十歲以後很多就往理論上跑,而國外的架構師在往上發展的同時保持下面的編程體驗,所以國內多水王,而國外則多大師。”

這就是我們今天這篇文章的論題:一個優秀的軟件架構師,首先一定是一個出色的程序員。

這句話按照Fred George先生的話來說,那就是“不編程的架構師的職業生涯是短暫的”。他說這句話的背景主要是針對有些架構師的設計與實現有斷層的問題而言的,因为如果架構師不去實踐,只是想當然的認为“沒問題,這個想法能實現”,那麼對於項目的落實而言是個很大的隱患。支付寶架構師馮大輝也表示過,架構師是一個比較“虛”的崗位,主要的問題都在“落地”的過程中。

 

而一個架構師確認一個想法究竟能不能落地的最直接的方法,就是自己編寫代碼,嘗試“實現一個系統最難實現的一部分”(Fred George)。看看Fred,他自己就是最好的示範:年紀一大把了,仍然每天都在編寫代碼。事實上,我們可以列舉出一個長長的頂級架構師的列表,你會發現他們沒有一個不是頂級的程序員。

我們可以列舉出一個長長的頂級架構師的列表,你會發現他們沒有一個不是頂級的程序員 
我們可以列舉出一個長長的頂級架構師的列表,你會發現他們沒有一個不是頂級的程序員

不過這在邏輯上或許沒有多少說服力,因为似乎這並不能證明一位資深架構師憑自己的經驗感覺不能夠知道一個想法能不能落實。如果你覺得上面這些只是某些西方老頭兒對編程的古怪癖好,那麼不妨看看eBay的架構師Randy Shoup先生是如何總結架構師在項目中的職責的:

1. 產品團隊要做一個新產品,架構師開工了。架構師要幫助產品團隊把可行性、技術需求以及權衡取舍等因素一一剖析清楚。

2. 技術需求出來了,架構師的主要工作開始了:設計整體的技術實現步驟。Randy在後面補充說“大多數成功的架構師都喜歡與其他團隊成員一同完成架構和設計這一塊的工作”,而認为自己應獨自完成這個步驟則是新手架構師常見的誤區。

3. 與開發團隊一起,完成設計與實施的細節

4. 與開發團隊和運維團隊一起,完成部署的過程

5. 與運維團隊一起,進行部署之後的維護和故障排除

在這個過程中,一個架構師至少有一半以上的工作是需要與開發團隊一起進行的。按照Randy的描述,這是“一個架構師不能將實施細節拋之腦後”的體現。而且與開發團隊一起工作,命令式的領導方式並不被推崇,一個架構師必須通過自己的個人影響力來對開發團隊進行指導工作。而什麼是影響力?說的直白一些,就是通過自己寫代碼以及和其他成員一起寫代碼,來指導團隊成員實現每個架構細節的思路。

 

只要稍微思考一下,就會明白此舉的重要性。如果一個架構師靠命令管理開發團隊,告訴他們“要實現這個模塊”,“要實現那個功能”,而團隊也嘗試照辦。可是或許是架構師的要求太高了,或許是團隊的開發實力不夠,團隊成員便會向架構師求助:您看這個我們不知道如何實現,您能否指導一下?架構師可能知道怎麼處理,也可能沒有仔細思考過這個問題,但又覺得自己做大事者不拘泥於小節也,於是一皺眉頭扔下一句:這是你們的事,你們自己解决!

然後就是矛盾的開始了。架構師只覺得團隊技術不夠,而團隊則對架構師愈發不滿。項目黃了不說,開發團隊中也會傳出各種說法,比如說“此君其實是個一行代碼也不會寫的大忽悠!”

架構師,你會寫代碼麼?

綜上所述,便映證了Fred的那句斷言:“不編程的架構師的職業生涯是短暫的”。一個架構師不僅要會寫代碼,還必須要能夠寫出自己設計的系統中最難實現的那段代碼。這样他才能夠放心的把“落地”的這個重擔交给開發團隊來做。

讓我用Fred的這句話做为本篇的總結:“一個架構師的價值在於,他不僅能看到系統的美,而且能夠在建造系統的時候能夠把這些美創造出來。”

是的,每個好架構師都是一位出色的程序員。

目录
相关文章
|
21天前
|
机器学习/深度学习 人工智能 架构师
【架构师】AI时代架构师必备技能
【架构师】AI时代架构师必备技能
|
2月前
|
程序员 数据安全/隐私保护
架构人生,体魄同行:程序员的健康密码解析
架构人生,体魄同行:程序员的健康密码解析
67 0
|
7月前
|
架构师 安全 Java
年薪120W的架构师简历你见过吗?java程序员该如何达到?
第一个问题是,“大多数Java开发人员都在哪里,我们中有多少人?”我们回答了这个问题,把我们能得到的最准确的信息结合起来,然后推断出我们认为是一个受过良好教育的猜测。
|
7月前
|
开发框架 架构师 Java
Java程序员不掌握SpringBoot怎么进大厂,阿里架构师推荐实战文档
Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起时,还未得到普及使用。相比于以往的一些开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定而健壮。使用Spring Boot开发框架,不仅能提高开发速度,增强生产效率,从某种意义上,可以说是解放了程序员的劳动,而且一种新技术的使用,更能增强系统的稳定性和扩展系统的性能指标。本书就是本着提高开发效率,增强.系统性能,促进新技术的普及使用这一目的而写的。
|
8月前
|
架构师 程序员
硅谷技术总监用300小时带你从程序员直接成为架构师,真不是盖的
前言 相信,有许多小伙伴已经做了程序员一两年或者三年了,甚至有些已经快五年了,但是还没有迈进架构师这个门,不知道如何成为架构师。 程序员之间的能力差异在哪里?如果是学技术,大家可以阅读同样的书籍和网络文章,为什么还会造成最终专业能力的差异?我认为有三点。
|
3月前
|
数据管理 程序员 人工智能
后台数据管理系统 - 项目架构设计【黑马程序员】
后台数据管理系统 - 项目架构设计【黑马程序员】
140 0
后台数据管理系统 - 项目架构设计【黑马程序员】
|
4月前
|
开发框架 架构师 Java
Java程序员不掌握SpringBoot怎么进大厂,阿里架构师推荐实战文档
Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起时,还未得到普及使用。
|
4月前
|
安全 数据挖掘 程序员
程序员必读 | 《业务架构解构与实践》
程序员必读 | 《业务架构解构与实践》
209 0
|
5月前
|
架构师 Java 程序员
GitHub标星百万的程序员转架构之路,竟被阿里用作内部晋升参考
架构师是很多程序员的奋斗目标,也可以说是职场生涯的一个重要选择方向,今天我就跟大家聊一聊如何从一个程序员成长为一个架构师。
|
7月前
|
存储 缓存 架构师
程序员架构修炼:架构设计概要,业务、应用、技术、数据架构
架构设计 在架构设计过程中,我们会根据需要做出不同的架构设计,而在设计时需要涉及一定的架构设计核心要素。