高手高手高高手 如何成为一名软件架构师
ASP.NET方面,搞通WINFORM页面生命周期(要灵活掌握),框架方面学一学.NET CLR 原理,代码方面看EFFECTIVE C#,思想方面看 MVC方面的 和 面向对象设计模式(GOF的)...以上如果你可以通吃了,在研究一下HTTP协议 就可以算作高手了。
Daniel Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技术。有着多年的软件开发经验。
他经常会被一些有潜力和有前途的程序员问到:“我要怎么做才能成为一名架构师?”说实话,这已经是老生常谈的话题了,答案当然是视情况而定。不过他也根据自己的经验,给大家一些建议,并且提供一些资料,助你快速走上架构师这条道路。
下面是Daniel Mohl所提出的列表,供大家参考:
首先,你必须不断地寻求改善和提升自己。而提升自己的最好方法是阅读,下面有几本书,对我的软件架构技能的提升很大。推荐给大家:
- 软件架构师应该知道的97件事
- 企业应用架构模式
- 敏捷软件开发,原则,模式和实践
- 企业集成模式
- JavaScript语言精髓
- 利用遗留代码有效地工作
- 领域驱动设计
- 企业架构策略
- 设计模式(四人帮)
- The Goal
- SOA设计模式
- SOA Principles of Service Design
除了阅读,还有没有其他需要注意的、或者在平时需要关注的东西呢?
- 每隔一两年学习一门新语言,F#是个不错的选择。
- 选择一个重点领域,但是尽可能对许多技术有个高层次的理解
- 对你所关注的重点领域,开通一个博客并且继续拓展该领域的知识面,让自己渐渐成为一名专家。
- 与不同的技术、编程语言、设计模式和结构等(甚至是它并没有在日常中给予你直接的帮助)打交道。你永远都不知道这些知识是否会在未来派上用场,但是对你绝对是有益无害。
- 根据你的目标受众来谈论“语言”。作为一名架构师,你将会与各种各样等级的人打交道,并且他们对技术的理解也会有所不同。所以要学会调整你的讲解方式,做到因人制宜,让他们能够理解。
- 阅读博客、观看/参加Twitter或G+、听播客、读杂志、参加用户小组会议和技术会议,并且在这些会议上踊跃发言。这些都会给你带来无穷无尽的知识和乐趣,建立自己的“品牌”和提供交流机会。
- 纪律是关键。永远做你自己最喜欢的工作,即使它听起来不那么有趣。每天安排时间学习一些新的东西,即使是15分钟也可,千万不要被其他事情占用了这段时间。
- 开启博客之旅。我发现,与阅读比起来,把东西写下来会让你有更深入的理解。
- 利用好“闲暇时间”,这段时间可以拿本杂志读读,或者去听听播客等。
- 了解各种可用的开发工具,可以使架构师的工作更好、更有效
- 看许多不同项目里的架构
- 学习各个项目的管理方法
- 学习一些评估技术,对业务可以提供有价值的评估
上面是作者总结出来的列表,虽然看起来有点枯燥无味,但在整个软件开发过程中是乐趣无穷的。如果你还有更好的建议,欢迎与我们分享。