一个程序员到系统架构师的成长之路
一个程序员到系统架构师的成长之路
1、 引子
程序员是一个比较年轻的职业,说他年轻,是因为这个职业的兴起还没多长时间。有很多程序员做这一行也是出于这个目的吧,也许看上的不是这个职业,而是他身后的东西,比如:待遇、别人羡慕的眼光、甚至可以拿他干点什么其他事情……不管目的何在,大家要做好这个职业,就一定要有自己的职业规划。
很多才进入这个行业的人,都是很盲目的,程序员要学的东西太多,就光是编程就分为不同层次、不同方向、不同语言。在加上很多外在的需要学习的东西。那么如何制定一个属于自己的目标呢?下面我们来看看程序员的职业规划。
软件工程师—高级软件工程师—技术经理—项目经理—系统架构师—项目总监。这只是一个大致的发展主线,根据每个人的能力和所处环境不同,会有所改变,但是大致也是这条主线。接下来,我会依次告诉大家,要达到相应的阶段,需要掌握哪些技能。
2、 首先你要是一名合格的程序员
怎么样才算得上是合格的程序员呢?当然,能够参与项目开发,这是最基本的前提。至少你得开发过2个以上的项目,具有独立开发项目的能力。其次你需要掌握你这个语言方向的至少3个框架,并且能够熟练运用。在掌握框架的同时你已经在为后面的职业规划做铺垫了。
那么这个阶段需要多长时间呢?其实细细算下来,以上的项目经验至少半年时间,加上框架的学习时间,按照一个框架学习两周时间,实践一个周时间,熟练运用一个周,一个框架差不多一个月时间。那么这就去了整整9个月时间。
9个月才刚刚起步,如果你走好了你的第一步,那么你后面的路走起来相对不会那么艰难。不要认为这个时间会比较长,当然,这个时间只是一个概念,具体还是更具人的不同而加减的。
3、 你应当有很强的学习能力及学习兴趣
俗话说干一行,爱一行。既然你干了这个职业,那么你就必须要热爱这份职业,兴趣才是学习最好的老师。
前面的9个月时间,相信你已经度过了一个非常艰难而痛苦的时期,那么接下来,你就需要培养你的超强的学习能力。作为一个合格的程序员,你只需要做到会写就可以了,而作为一个优秀的程序员,你不光要会写,还要锻炼出在短时间内学习新技术的能力。
都说程序员是多面手,事实也是这样的,你不仅需要掌握自己行业的东西,还要能够了解其他行业的流程以及模式,更好的是能够给他们提出优化意见。
程序是什么东西?程序就是帮助人们减少工作量的东西,如果你写出的程序不但不能减少工作量,反而加大了人们的工作量,那你根本算不上是个程序员,或者打字员更适合你。
所以作为一名优秀的程序员,你必须学会思考。
4、 你要学会分析比较
OK,掌握了前面两项技能,接下来,我谈谈第三步,我们要向着架构师进军了。什么是架构师?
架构师要做的事情就是Choise(选择)。我们开发这个系统,我们是否需要用框架?需要用到那些框架?那些技术我们可以应用在当前的系统上……当然除了选择,架构师还需要做的事情就是搭建系统底层。
那么我们看看,作为一个架构师,我们需要掌握什么呢?
首先,刚刚已经说了,架构师要做的就是选择。所以第一步就是要掌握足够多的知识,至于这个足够多到底是多少,我也不清楚,自己去体会下。这些知识包括框架、开发模式、开发语言……。那么接下来就是需要选择,选择前,我们是需要分析的,既然你已经掌握了这些知识,那么我们就要学会做比较,把拥有可比性的东西放在一起,选出最优的一项或者两项解决方案,并把这些所有的解决方案组合起来。要做到这一点并不容易,你必须要了解各种选择的优势和劣势,以及扩展性等等。
5、 沟通能力是必不可少的
话说,不想当将军的士兵不是好士兵。这句话说得一点也没错,不过要想做将军,你必须要学会沟通,沟通才是管理的基础。作为一名士兵,你单兵作战能力再强,未必你的队伍就能获胜。
那么学会如何沟通,这也是为后面的管理做好了一切准备。
6、 千万不要让自己无后
是的,你现在已经是一名非常优秀,并且拥有一定地位,一定能力的IT界人才了,可是光是你一个人,你是无法维持下去的。所以,一定记得培养你的继承人,不要让自己无后哦~!