现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

新手必看:怎么成为一个软件架构师(续)

2015-01-31 10:30 工业·编程 ⁄ 共 2312字 ⁄ 字号 暂无评论

一、树立明确的目标和人生价值观

要为自己树立正确的目标首先要对自己有个清楚的认识,能确定这个目标真的值得你为之奋斗终生,真的能让你平静和快乐。那什么时候你才对自己有很清晰的认识呢,我认为对绝大多数人来说,20岁以前都很难做到。我自己是大学后半段才慢慢认识清楚自己的兴趣和性格。认识清楚自己,究竟是不是应该或者说适合走技术这条路线。那么,技术人生会给你带来什么,同时又会失去什么呢?

相关阅读

    ----新手必看:怎么成为一个软件架构师

一个人生活是否快乐不在于他有多少钱,我甚至认为也不在于他为社会做了多少贡献,而是在于他能获得多少认同。这种认同来源于价值,我可以把这种价值分为2种,一种是实体价值,比如环卫工人打扫马路,保持城市道路整洁,就是实实在在的价值;还有一种是虚的价值,我可以称之为面子价值,比如你开个BMW,人家开BYD,你会觉得快乐,觉得被认同,这就是面子价值或者面子认同。正常人一定会同时需要2种价值,在当今社会,如果表面上看,面子价值的性价比明显是高于实体价值的,炒概念挣面子往往比踏实做事情更容易获得认同。

如果选择走真正的技术路线,就一定会失去或多或少的面子价值。为什么这样说呢,因为技术上不断提高和深入的源动力一定是基础工作,也就是很多所谓“专家”口中的低层次工作。我一直都不认同一个软件架构师可以完全不做编码工作,相反,他可能需要作比其他人更多的编码或等同于编码的工作,比如审核团队成员的编码、优化逻辑、重写注释等等。如果一个人不再从事这些基层工作,那他就会很快被技术的洪流远远甩在后面。一些人做了几年的技术工作后,就凭借“综合能力”迅速上位成为管理层,但实际上他们也失去了真正继续在技术上深入的机会。而这些“快立得”的管理者们往往还认为自己不做事情只靠参加讨论会议一样能跟随技术的发展,殊不知技术这东西,听来的和自己实实在在做过,理解和体会是完全2个层次的,语言上的交流一定是交流的最低层次。

走技术这条路,绝不是张无忌练九阳真经,几年就能天下无敌,常年累月孜孜不倦的慢慢积累是最后走向成功的先决条件。耐得住寂寞,能够经受社会的不断诱惑,而且是十数年甚至数十年。不要去羡慕那些食利者阶层,这种天天打牌按摩靠股票租金生活的社会寄生虫是不值得任何人认同的。其实我认为一个真正的成功者一定不会放弃对技术的追求和修炼。多看看那些人才的励志传记,得出的结论也基本都是相同的,没有十几年甚至几十年始终如一的艰苦奋斗是不可能获得真正的人生成功的。

中国现在城乡不平衡,农村劳动力大量涌入城市造成了很多社会问题(不说大家也都知道),其中就包括大量的中层管理的涌现,人多了自然需要人管是很自然的道理,但高层次的专业技术人才却相对少了。信息社会虽然在一个人真正成为高端技术人才的时候能提供不少助力,但在心灵上恐怕要面对更多的挑战和诱惑。如果中国真的迎来了刘易斯拐点,廉价劳动力不再“廉价”了,大大小小的企业主们恐怕才会真正认识到“科技是第一生产力”的道理。

二、对行业进行孜孜不倦的深入

计算机只是个工具,它必须依附于一个行业才能产生价值。也不能说互联网行业的IT技术就比图书馆行业的IT技术厉害,不同行业间没有可比性。但要成为一个软件架构专家,就必须对行业需求和发展动向有非常清楚的认识。我认为某种意义上说,没有软件方面的专家,只有互联网方面的专家、医疗方面的软件专家等等,我也不理解为啥现在那么多抛开需求去单纯谈软件的书,不管你把某个算法研究的多么透彻,某个设计模式玩得多么厉害,一个真正软件系统的性能和效率还是主要取决于基于需求的软件整体架构,而所谓的算法或者设计模式都是从实践中自然产生的。如果一个新手接触到这些东西而缺乏大量实践支撑,那他最多也只能死记硬背。相信大家有过这样的经历,某个问题苦思不得,经高人提点,又觉似曾相识,原来早就在某本算法书上看过。可是为啥联系不起来呢?所以说语言和文字的交流只能解决小部分问题,真正宝贵的是一个人的经历。

在确立好行业目标后不要轻易转换,隔行如隔山,如果在一家公司干个2-3年甚至1-2年就跳槽换行业(业内跳不算),明显是非常不划算得。短短几年根本不可能让你对行业有深入的认识,除非你认定这个行业不适合你,你有更加感兴趣的行业值得去终生奋斗。

但对行业的深入也会使人逐渐忘记计算机这个工具的重要性,这是个辩证的观点。行业的需求是根源,计算机是工具,缺一不可。实际上应该是使用计算机技术这个工具来对行业进行推动和引领,所以,也不能只关心行业而忽视对IT技术的关注。

三、一定要循序渐进

首先是不可以止步不前

一定要做那些对你有所提高的工作,尽量远离那些琐碎的、重复性的工作。一个好的程序员做一件事的目的是为了永远不做这件事。当在某项技术方面已经有了大量的工作实践和心得,已经觉得难以再有提高的时候,就是涉猎其他相关技术的时机了。实际的提高也是如此,先是一项技术的深入,遇到瓶颈后开始对另一项技术的深入,再遇到瓶颈又对第3、第4个技术开始深入,很快就会有一个方面性的层次的飞跃,然后继续开始对另一个方面的深入……。经常看些技术类的网站和书籍,交些志同道合的朋友进行交流也是不可缺少的环节。

其次是不可好高骛远

如果你是个喜欢打破砂锅问到底的人,做技术工作往往就会有这样的问题。搞应用层开发的碰见个问题恨不得把系统层甚至网络层的原理都弄清楚。这样当然是没有必要的,正确认识自己所处的阶段,弄清楚应该弄清的问题,对其他的问题则要采取放下的态度。要坚信自己到最后一定会把所有的技术都形成系统的。

其实说到底,软件架构师不是一日之功,只要目标明确,慢慢积累工作和实践,总会有水到渠成的一天。

作者:chui88

给我留言

留言无头像?