如何成为一名软件架构师

Daniel Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技术。有着多年的软件开发经验。

他经常会被一些有潜力和有前途的程序员问到:“我要怎么做才能成为一名架构师?”说实话,这已经是老生常谈的话题了,答案当然是视情况而定。不过他也根据自己的经验,给大家一些建议,并且提供一些资料,助你快速走上架构师这条道路。

1.jpg

下面是Daniel Mohl所提出的列表,供大家参考:

首先,你必须不断地寻求改善和提升自己。而提升自己的最好方法是阅读,下面有几本书,对我的软件架构技能的提升很大。推荐给大家:

除了阅读,还有没有其他需要注意的、或者在平时需要关注的东西呢?

  • 每隔一两年学习一门新语言,F#是个不错的选择。

  • 选择一个重点领域,但是尽可能对许多技术有个高层次的理解

  • 对你所关注的重点领域,开通一个博客并且继续拓展该领域的知识面,让自己渐渐成为一名专家。

  • 与不同的技术、编程语言、设计模式和结构等(甚至是它并没有在日常中给予你直接的帮助)打交道。你永远都不知道这些知识是否会在未来派上用场,但是对你绝对是有益无害。

  • 根据你的目标受众来谈论“语言”。作为一名架构师,你将会与各种各样等级的人打交道,并且他们对技术的理解也会有所不同。所以要学会调整你的讲解方式,做到因人制宜,让他们能够理解。

  • 阅读博客、观看/参加Twitter或G+、听播客、读杂志、参加用户小组会议和技术会议,并且在这些会议上踊跃发言。这些都会给你带来无穷无尽的知识和乐趣,建立自己的“品牌”和提供交流机会。

  • 纪律是关键。永远做你自己最喜欢的工作,即使它听起来不那么有趣。每天安排时间学习一些新的东西,即使是15分钟也可,千万不要被其他事情占用了这段时间。

  • 开启博客之旅。我发现,与阅读比起来,把东西写下来会让你有更深入的理解。

  • 利用好“闲暇时间”,这段时间可以拿本杂志读读,或者去听听播客等。

  • 了解各种可用的开发工具,可以使架构师的工作更好、更有效

  • 看许多不同项目里的架构

  • 学习各个项目的管理方法

  • 学习一些评估技术,对业务可以提供有价值的评估

上面是作者总结出来的列表,虽然看起来有点枯燥无味,但在整个软件开发过程中是乐趣无穷的。如果你还有更好的建议,欢迎与我们分享。

转自:http://blog.csdn.net/hguisu/article/details/8549353

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2655

(0)
s19930811s19930811
上一篇 2016-03-22 10:45
下一篇 2016-03-22 10:47

相关推荐

  • 马哥教育网络班N22期+第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1tune2fs -o acl /dev/sdb1(2) 挂载至/data/mydata目录,要求挂载时禁止…

    Linux干货 2016-11-14
  • 管理systemd

    管理systemd init(系统的第一个进程): CentOS 5: SysV initCentOS 6: UpstartCentOS 7: Systemd Systemd:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 Systemd新特性: 系统引导时实现服务并行启动 按需启动守护进程 系统状态快照 自动化的…

    Linux干货 2016-09-22
  • 编译安装httpd

    编译安装httpd   1 去官网下载源码包                                      为避免非法软件,一定要去官网下载http…

    2017-04-24
  • 系统基础之权限管理作业题

    1.问题:  在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@wen-7 testdir]# mkdir -p /data/…

    Linux干货 2016-08-04
  • Linux学习

    计算机的组成及功能 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部件组成。运算器:进行算术和逻辑运算。控制器:负责协调和指挥整个计算机的工作存储器:存储程序、数据和文档。输入设备:用于将各种数据输入计算机中。输出设备:用于将计算机中的数据输出到相应设备上。   计算机软件总体分为系统软件和应用软件两大类:系统软件是各类操作系统,如wi…

    Linux干货 2017-12-03
  • while循环中的一个常见问题

    在楼主刚刚学习接触while循环的时候,发现了一个问题,在while循环内部对变量赋值、定义变量、数组定义等等环境,在循环外面失效。 一个简单的测试脚本如下: 执行结果证明,$new_var的结果是空值。在google上查了查,才发现问题出在管道上。 先看看下面的内容。 while循环的写法有好几种,它的语法结构为: while test_cmd_list;…

    2017-08-26