《程序员必读之软件架构》读书笔记 I | 江南白衣



《程序员必读之软件架构》读书笔记 I | 江南白衣

codingthearchitecture.com网站作者 Simon Brown的书。编码的架构师,一直是我的职业模板。
而当年我觉得RUP的基于4+1视图的机械架构文档模板不足以表达系统时,Simon Brown的模板给了很好的过渡范例。

 

架构师应该编码吗?

有些公司认为架构师太宝贵了,不该承担日常编码工作。
有人认为优秀的架构师的重要特征是抽象思维能力,也可以理解为不把时间耗在细节里。
还有一些大型项目通常意味着照看更大的"大局",有可能你根本没时间写代码。

以上都对。

 

你不必放弃编码,也不要把大部分时间用于编码

你不应该因为"我是架构师",就把自己排除在编码之外。
但也必须有足够的时间扮演技术架构师的角色。

1. 参与编写代码

要避免成为PPT架构师, 最好是参与实现与交付的过程,确保架构的交付,了解设计在实现上的问题,演进架构而不是画完框图就交给实现团队从此不管。
同时,缩短与团队的距离,保持对团队的影响力,帮助团队对架构的正确理解,分享自己软件开发的经验。

另外,作为开发团队的一份子,你不需要是开发代码最好的。

2. 构建原型、框架和基础

如果不能参与日常编码,至少尝试在设计时快速构建原型去验证你的概念。
还有为团队编写框架和基础,这也是最磨练与体现编码与设计能力的时刻。

3. 进行代码评审

如果完全没有时间编码,至少参与代码评审,了解发生了什么。

4. 实验并与时俱进

如果完全没有时间在工作时间里编码,在工作之外你往往有更多空间来维持编码技能,从贡献开源项目,到不断尝试最新的语言、框架。


Read full article from 《程序员必读之软件架构》读书笔记 I | 江南白衣


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts