火龙果软件工程,软件架构设计( 二 )


你做的每一件事情,都能表现出漂亮的成果,全局光照,计算机视觉 。或者很容易赚到很多的钱,自动驾驶或者区块链ico,就算做游戏外挂,其收入也大得超乎你的想象 。而架构师不是,架构师拼的只有经验,正确的方法和项目数量 。《C程序设计新思维》里面有一句话:“只有天才的程序员没有天才的构架师 。” 在构架师的世界里不存在天才,只存在重构 。
一定要有正确的方法(敏捷开发),然后就是无数个项目和时间的铺垫 。然而对一个架构师应该明确,我们的职责是内部质量而不是外部质量,我们要把软件做的强壮且易易扩展 。但你会发现,对于外行麻瓜来说,这根本不吸引人,麻瓜老板经常说一句话:你功能做不出来我们公司就破产了,别他妈的再花时间重构了 。至于为什么架构师很少内部原因是:架构师太无趣了,相对于图形学光照算法,你却强调测试驱动重构持续集成 。
【火龙果软件工程,软件架构设计】研发工程师会得到大量的外部激励,所有人都去赞扬他们的成果 。而构架师需要从自身产生激励的能量,比如对代码的洁癖,重构在不改变功能的情况下不断优化代码质量,一个分层,一个正确的依赖关系,甚至一个精简美丽的命名,都需要由衷地感到兴奋和刺激 。否则很难熬下来 。外部原因是:浮躁的社会容不下一个架构师成长的时间和空间 。
一个框架师需要大量的项目经验,超级长的编码时间 。坚持正确的方法和一个融洽配合的团队 。国外的架构师都是大胡子,而国内程序员到30岁,老婆就催着要去做管理岗位了 。和研发工作拼智商不同,架构师就拼的是经验,没大胡子没五六十岁很难成为xx之父这个级别 。行业原因是:架构师容不下架构师 。架构是艺术不是科学,没有一个统一的标准,每个成型的架构师心里都有一套属于自己的程序结构和原则,你可以看到十个图形学程序员基于一个算法合作,但你很难看到两个架构师做一个项目不打架的 。
架构师需要有自己的团队来验证自己的观点和共同进步,但就如同食肉动物永远是食草动物的十分之一,行业也没那么多团队给架构师来糟蹋 。经历过很多项目洗礼,并有自己的想法和能力的架构师,必然是稀有动物 。但看起来无聊的架构师有什么用呢?他是辅助英雄,给整个团队加各种属性光环:降低代码中的混乱(熵),让团队中初级的程序员做出高级的代码,提高单位时间效率避免加班,让团队更容易进入未知领域,大幅度降低企业成本 。
软考是考中级软件设计还是高级软件架构师合适?

火龙果软件工程,软件架构设计


我是直接考的的高级,当时公司还有激励政策,中级虽然比较容易点,但是总要花时间去准备,还不如直接考个高级,价值更大 。说说我的一些考试经验:1.选择题涉及的知识点比较宽泛,但穷举出来也不是太困难,比如进程同步,数据库原理,嵌入式系统,知识产权等等,即使平常看的少,临考前做做题,补补相关知识也是不难过的 。2.案例分析主要是嵌入式系统和应用软件设计相关,这个多看一些经典企业应用系统设计和当前流行的架构设计,归纳下其中解决的问题和解决方式的优劣,掌握一些技术名词,选择自己最熟悉的问题回答,难度稍高,不过考前努努力也是问题不大 。
3.论文最大的问题是要在有限的时间写2000字,最好写自己工作相关的,比较容易构思 。字一定要写够,然后字体能写多好看就写多好看,文章结构要清晰,论点要明确,阅卷的人也可能只是看个大概 。比如写到当前存在的问题,12345罗列解释清楚,后边也对应的12345写明白解决方案 。字数不好凑,可以把一句话用多种方式表达出来 。

推荐阅读