软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,下面是带来的架构师心得,欢迎大家参考。
架构师心得篇一:去年八月底的一天,有同事在撺掇大家考系统架构师,也过来问我要不要考试。我到他们那拿了参考书翻了翻,觉得这些选择题倒也不是很难,复习复习应该也可以考过,问了一下考试时间,是11月9号。这么算下来也有两个月多一点时间,算起来也还可以。再一问报名费,才200元不到。于是毫不犹豫就报名了。
结果报完名以后才知道这考试居然还分上下午卷,下午卷不但有主观问答题,还有考论文的。顿时觉得有点头大,但是想想写文章我也不差,写个论文可能也能应付得来吧。最关键是考试费超低啊,这年头200块钱能干啥?
报完名后两三天内就付款,同时买了推荐的书籍。说实话,我以前的做事风格是没有这么利索的,属于中度拖延症的范畴。但是最近这一两年,痛定思痛以后有了不少改观,这件事情也是侧面印证了我的改变。
拿到书以后,仔细翻了翻,虽然考的东西都不是很深入,但是考的面真是很广。这大概是“一英里宽,一英尺深”的理念的体现。不过我觉得这样的设置也算合理,毕竟这是架构师考试,作为架构师,应该对系统的方方面面都有所了解。因为在我看来,架构师的重要职责是做好选择题,做好选择题的前提是你有广阔的知识面。上午的题都是选择题,应该问题不大。麻烦的地方在于下午的论述题和论文。尤其是论述题,感觉完全没有思路。不是因为对相关的知识完全不了解,而是对答题的思路和角度完全不适应。比如对于ORM和Web2.0这些我自认为挺了解的问题,我试着回答了一下居然和答案相差十万八千里。
不过既然报了名了,而且既然下了决心要考了,那就好好准备吧。我不想这么轻易就放弃。其实这一点,也是我正在改变的一点。像拖延一样,做事决心和恒心不够强也是我之前的缺点,这两年也是慢慢在改。改变的结果也是在这次考试中得到了印证,很开心。因为从复习的条件来讲,我其实也是很差的。家里有小孩,在九月中旬之前还好,有岳母帮忙带。九月中旬之后老人家回去了,家里只有我们两个,白天上班,晚上带小孩。老婆的公司最近也忙了,时不时还要加个班。学上加霜的是,不知道怎么回事,三十多年从没过敏问题的我,居然得了过敏性荨麻疹。每天晚上发作起来的时候身上皮肤一大片一大片地起红肿斑块,痒得根本看不了书。去医院开了抗过敏药,这种药的副作用是嗜睡,也没法复习。后来把吃药的时间放在白天,同时也有些适应这个药了,才慢慢好些了。
时间一点点过去,心理的踏实感始终不是很强。尤其是论述题,即使到考试前,我觉得上午卷和论文应该问题都不大了,但是论述题还是没把握。
考试那天,也算是运气好。下午的论述题出得还比较简单,论文题目也有一题相对简单的。考完后感觉还行。但是由于大头都是主观性的题目,所以对于通过考试没有十分的把握。这考试出成绩还特别慢,一开始还在想啥时候可以查成绩,后来时间久了也不太想了。
结果今天在微信群里面老大说成绩可以查了,而他挂了。我们老大也是技术上比较牛的人,我想他都挂了,我估计也悬,于是不由得紧张起来。怀着忐忑的心去查了一下,发现成绩是48/47/48.隐约中记得45分就是通过的,这么讲难道是过了。于是开始怀疑分数线是不是45分了,到网上一搜,也有好多人有同样的心理,不过分数线应该是不会乱变的。这个时候才感觉到一阵阵兴奋袭来。感觉两个月辛苦的准备终于有了回报。我看到网上有人考试轻轻松松过的,我自认为没有这么牛,我还是花了不少时间准备的,当然我的底子也是不错的。所以,我感受到的开心也是胜于他们的,这也公平吧。
和我同参加考试的一些人都没通过,有一个很可惜,几乎每门都只差几分。大概是运气差点吧。运气也是很重要的。不过怎么样,这次考试通过了,我实现了当时的目标。今年可以考个别的新的考试了。
架构师心得篇二:上周五到周日,由InfoQ中文站主办的全球架构师峰会在深圳万科国际会议中心隆重召开,我也从大连跑到深圳去领略了一次会议的盛况。
这次会议最有意思的莫过于参会的人员了,因为大多数都是公司中的中高级技术人员,所以女士非常稀少,差不多八九百的参会人员里面,女士的人数应该不超过30人吧(指会场中的参会人员),这就直接导致各位男士们的穿着比较随意,大T恤、大短裤、拖鞋的打扮随处可见,大家都以自己为“IT民工”而感到自豪,。
会议中的演讲还是非常有料的,我也收获不少。比方说土豆网的吴岷讲述的CDN相关技术,切合实际,而且都是在实践过程中摸索出来的经验,听起来非常过瘾。搜狗的茹立云讲述的深层网络搜索,让我了解到原来搜索方面还有这么多深层次的内容,还可以有很多的进展。乌云的剑心讲述的安全方面的知识也让我受益匪浅,里面的一句话“不以数据为中心的安全都是不负责任的”,非常实在,我们不应该单纯地为了安全而安全,安全的目的是为了能够保护重要、敏感的数据,否则就没有意义。还有几位外籍讲师的内容也非常版,像Simon Brown讲得两个主题,分别叙述了敏捷与架构之间的关系,以及架构中所需要注意的安全性概念,深入浅出,实用性也比较强。还有广宇同学讲的HTML在东软UniSDP中的应用,也让很多人眼前一亮。
演讲非常精彩,更重要的是在会议的过程中又认识了不少新朋友,相谈甚欢。像神交已久但素未谋面的安全专家殷钧钧,淘宝技术大学的校长子柳,还有虎扑网的技术经理洪涛等等,每位朋友的思想都非常活跃,与他们的交流非常开心。
架构师心得篇三:从毕业开始到现在技术已经做了4年了。4年时间,从一个创业MIS型公司的小小程序员混到了现在的互联网企业的技术型PM(其实个人觉得自己应该被称为高级工程师,或者厚着脸皮的话称为“架构师”也行)。中间的道路虽然也是磕磕绊绊,当庆幸的是还总算是爬过来了。
其实要说有什么大的经验也算不上,只能说跌爬滚打了4年时间,再怎么不长记性,忘乎所以,长了伤疤忘了疼,但是疤痕总归要留下一点?!只能说把这些曾经的伤疤拿出来和大家分享一下,怎么样让以后的同志们尽量少去碰石头或者投海。以前有人撞过了,投过了,以后能绕道就绕道吧!
其实做技术呢,不能光去从技术角度看到技术,他牵涉到方方面面(这个不是说大话,我不是“叫兽(教授)”,更不是“装假(专家)”,没必要托大)。如果你光从技术角度去提升你的技术,你将会很快就碰到瓶颈,并且碰到瓶颈后没有什么好的办法去克服。那么我们在提升自己的技术之前要做些什么?怎么提升自己的自身的技术呢?
第一:你先要认识你自己。作为程序员,其实我们90%或者更多都是很自负的。不要不承认,我也是程序员。我深深的了解自己所属的人群。你是不是经常有下面的现象发生:你看别人的代码都是垃圾,看自己的代码都很完美?你是不是觉得别人写的代码或者做的解决方案都不是最优的,只有你自己的代码或者解决方案是最优的?你是不是会觉得你的代码肯定没有bug,别人的代码肯定存在bug?……。太多了。如果这些现象在你身上发生,那么第一件事情就是:请你把它改掉吧?!程序员应该是谦虚的,上进的,否则在这个技术更新比换gf都快的时代,你不太能跟上步伐。
第二:你是不是经常和人家争执?你是不是每个问题都争执?你是不是听不见去别人的任何意见?……。这点也请你改掉它。作为技术人员这个是特有的,我以前也是为了一个问题会和别人争得面红耳赤,情绪激动。最后往往是不欢而散。想想到头来对你有什么好处呢?技术和学术还是有区别的,技术不需要争论,技术需要的是真实,现实。当你们存在争论的时候最好的方式是去做一个demo,又能锻炼自己,又能说明问题。一箭双雕,何乐而不为呢?
第三:不要有信仰之争。现在很多程序员,包括经常听到已经工作了十几年的技术人员往往也在说java比net好,或者是net比java好;window比linux好,linux比window好。这些派别,门户,俨然已经成为了一种信仰。但是不应该有对立啊!大家都是经过高中教育的,都是学过唯物辩证法的。一个东西肯定存在好的一面也肯定存在不好的一面。何况是两个东西比较呢?每个人的信仰可以不一样,但是信仰是用来去尊重的。不是用来争的。你可以有你的信仰,但是你也不能去污蔑别人的信仰啊?!Anders Hejlsberg和James Gosling尚且可以心平气和的坐下来谈谈,我们为什么就不能呢?再说了,我们又不是非得要靠net或者java吃饭的。我们就不能把net的优点和java的优点都拿过来用吗?
第四:别眼高手低。不管是应届毕业生或者是老手,千万要记住一条。你就算再有水平,也要在别人见到你的水平后再去要求别人。不要上去给你做什么都感觉简单,都觉得大材小用,都觉得浪费你的聪明才智。然后往往紧跟出现的就是工作一团糟。美其名曰:这种东西老子不屑做。咳……。这个怎么说呢?你都觉得简单了,为什么不把它做做好呢?碰到这种问题,我只能说你最好还是换位思考一下吧?!
第五:请关心开源社区。开源社区的优点就不多说了。如果你是一位net开发人员,我衷心的劝你一句:请关心一下开源社区吧!我也是net程序员,我也深深的了解net程序员的优缺点。但是请你们不要排斥开源,也不要一味的使用MS的产品。有的时候开源的东东能给你另外的一种解决方案,能让你看到另外的一片天地。你也不要觉得开源非常的高深,如果有机会,你也尽可能的加入其中。不为别的,如果你加入了开源组织,再提交了代码的话,你的简历是不是就加分了?你去面试的时候说我是“某某开源软件”的开发人员,你是不是觉得自己巨牛无比?我想面试官也会另眼相看,你觉得他好意思再给出一个拿不出手的薪水吗?
第六:解决问题的时候,认清本质。最近我们组要开发一个MongoDB的客户端。因为开源的MongoDB客户端功能不完善,没有达到我们的需求,我就让我们组的一个同事开发。我知道他的水平,所以我故意不太和他讲具体怎么做,我也不是经常去问他做的怎么样了。完全靠他自己。我知道这个东西到最后肯定失控(没办法,交学费嘛)。上个星期五见分晓了:确实不行了。那么问题在哪里呢?就是该同志认不清他要做这个软件的本质在哪里?我只要达到什么功能就可以了!结果太多的功能都被复杂化设计,问题引出了新的问题,代码越来越多,越来越臃肿,伴随的现象也是越来越不着边际。使用了99%的时间去实现1%可能会遇到的问题,并且这个1%的问题并不是“2012”。这个软件就算是做出来,还是可控的吗?是不是又是一个焦油坑-----首先你的软件质量不能保证了;其次,你很难扩展;第三:你花费了太多无谓的工时……。
第七:多看书,多看网站(不是小网站),多练习。我提升自己的经验是多看书和网站。在书上你经常能学到一整套新的技术;网站上的文章能给你一些架构上的思考。因为技术是学出来了,你可以通过书本突击;架构是改出来的,不是设计出来的。所以网站上的文章那种短小精悍的模式正好符合,所以需要提高技术就去看书,需要学习架构方面的知识就去看相关网站上的文章。至于练习,我觉得这个各取所需吧!反正我是不太做练习的,我看一边代码基本上就理解了,但是我几个同事是边看书边写代码才能理解代码的,这些其实也是个人的习惯吧!
第八:学习提升主要靠自己。现在很多的人都觉得我来公司是来学习的;我在这个公司学不到什么东西。大家醒醒吧!公司不是学校,公司的本质是盈利,学校的本质才是教书育人。所以如果你想在公司里面学习东西,那么只有靠自己。别指望公司给你有多大的提升空间。除非公司万不得已,否则很少公司会正统的培训,培养员工。所以学习还是要靠自己,如果你只想着凭项目开发中学到的知识来支撑你整个职业生涯,别的时间可以用来娱乐,打游戏,玩,泡吧等等,那么我觉得你还是现在就转行吧!因为你可能过不了多久时间就要真的去考虑转行这个事情了。所以还不如现在就转行。俗话说;早死早超生嘛!
第九:懂得推销自己。让别人没认识你的时候就让人家知道你。这个是我最近一年才得到的经验。以前我老是觉得进公司的时候可以拿低工资,然后等自己的水平展现后再要求公司提高待遇。但是这条路被很多人证明是不现实的。你进公司的工资往往就决定了你在公司的种种。而且你的要求公司一般也是不太会答应。公司有严格的薪水制度,他也要面临一碗水端平的环境,所以这条被证明成功极少。那么你是否能改变一下你的做法呢?让你在没进公司的时候就让人家知道你的水平,这样你是不是就能得偿所愿了?!