5月25号回长沙参加的系统分析师的考试,考试成绩据说要7月份才会出来,不知道系统分析师的过线要求是如何,我上午场感觉还可以,数学基础相关的题目应该都很有把握,几个芯片相关的题目是靠猜的,下午的上半场一半一半的样子,数学、逻辑以及设计相关的题目比较有把握而硬考概念的题目没有底,写作场本来应该写开发流程相关的题目更贴切,但是因为题目里有硬考概念的没有把握,最后为了追求可能的更高分数,冒险选择了更适合发挥的系统需求分析相关的题目;
就我了解到的信息而言,软考相关的证书在国内的认可度非常有限。为什么想考呢?是近来感觉自己在专注于一个目标全力以赴做事上越来越难,想通过自己备考、参考、体验结果的过程锻炼一下自己,另外,我有一个万事万物所要求的能力最终都是做事能力的理论,基于这一点,通过考软考来锻炼自己也算是对自我能力的一种锤炼。
我是比较反感于知识都没学过,为了考试而考试的(报班的那种),虽然软考本身可能更多的就是一个应试的过程,可我的备考采取的是硬磕课本和往届考题的方式。我真正想考的是系统架构师,可上半年的高级级别的软考和我契合的只有系统分析师,所以就报考了;我系统分析师报名的时间很早,真正备考的时间差不多是从4月底开始,在广州出差来作息稳定那段开始,基本就是1、2、4晚上21点下班后去奶茶店看书到22:30左右,3,5,6晚上19点左右开始看书到22:30左右,7从下午一点多开始一直看书到晚上22:30左右。整个过程算比较艰苦,不过自我感觉还是有一定效果的;最开始制定的备考思路是,先花20天左右,扫读教材两边精读一遍,再花10天来准备刷题。最终落实下来,由于状态调整、项目加班增多的原因,最终大概投入了25天左右在看书,5天在做题准备上,原计划有一整天来练习写作,最终只是把往届的写作题过了一遍并没有实际动手。备考中我自我感觉一个比较有效的应考方法是考点梳理,在五一过后的样子,我试做了一遍2017的考题,另外把2015、2016的考题也全过了一遍,列出了每个考题的考点,再汇总3年的考点,找出哪些比较重要的必考点,哪些是不稳定出现的考点,再把这些考点根据重要性安排到每天的备考中(不过最终整个过程延期了)。这种复习方式从最终结果来看算是比较有效的,实际考试中,除开那些考点超出了我复习范围的少量题目,其他大部分我都能直接看出大概在考什么,虽然题目涉及的小知识点并没有全部记得很清楚,但如果我把一个月的考试周期延长到两三个月,或者能再有几周时间全力做这个事,相信结果应该会很好。另外一个备考的策略是考虑技术的时政性,比如2017年的题目中微服务相关的概念很多,之前有一年是企业信息化的题目很多,这些都是属于很难从教材里复习到的题目,我感觉他们有一个共同点是与当年的流行技术论点或方向有关,2019年我也做了相关准备,我准备的是5G相关的题目(考虑的是最近的贸易战以及之前很火的5G科普),结果没想到考试实际考的是芯片相关题(2个选择题以及一个大题),准备思路是对的,但是没打到点上。
关于考试过程。考试的时间是比较长而且整体强度其实挺大的,我在考完当天,下午5点多时感觉人极度虚弱(应该和我午饭吃太少,下午考试强度又太高有关)。建议之后参考类似的考试时,留意一下考试时长,如果下午分场或者时间比较长的,最好准备一点补充能量的东西(我这次吃了这个亏)。另外,还有一点要注意的是,类似考试,要记得带2B铅笔(其实准考证上有写,我没有细看,又太久没有参加过这类考试,结果带了一只自动铅笔)。
关于软考题目。上午场的选择题没有太多可说,必考点基本分析试卷就可以抓出来,另外,我之前说的时政相关点一般也是在这个部分体现。最后一大题(5小题)一般都是英文题,需求理论相关的。下午上半场的大题,有一点我之前不知道的是原来是选做题,规则是5道里面的第1道必做,然后其余4到选2道。从考点侧重来看,我感觉是兼顾了测试、开发、运维不同职业的人群参考。下半场的写作题同样,兼顾了需求、测试、开发、运维不同职业的人群参考,是5选1。考完下午我才知道,原来备考时应该有侧重的,系统分析师光教材就七八百页了(教材里很多内容只是点到即止),原来备考时并不需要把整本书都吃透(我心里苦啊 囧),比较好的策略应该是你选定一个职业方向,然后开发参与环境部分,侧重突击你选定职业方向的内容,其他职业方向的内容只要知道概念,有印象能应付选择题即可。(当然,这个只是我从这一场考试里得出来的感受,实际出题人是什么思路,需要去官网找关于考试的公开资料才可知)。
考完再吐槽一句,从备考、考题、参考人员来看,我其实隐隐也可知为什么软考的证书认可度不高(虽然我这些原因并不一定有效)。软考所考的基础知识部分(操作系统、数学基础)等知识,实际开发中很少有需要用到(现在各个层级的知识细分太多了,一个人很难能做到全方面的专精),软考所考的开发方法、项目管理只是部分,又比较偏向于纯理论。它们确实会在项目、公司中有所涉及,但是很少有公司是完全的照搬,从我接触到的大部分公司都是沿着理论的大方向,然后做针对于实际情况的各种改造或融合。另外,如果回归书中讲过的美国在软件开发这条路上历经的理论过程(70年代是粗野蛮体系,80年代引入了模型分析、开发方法等,90年代才真正的体系化落成;大概是这么一个意思,原句不是这么写的),差不多是历经了二三十年的积累,才真正在软件项目方法管理上迈开步子。国内差不多也刚到这个时间段,而且国内除开那些大厂,真正能有技术积累的又有多少呢,绝大部分公司其实还处于野蛮的初期,完全以当前单项目为目标在考虑;所以考试中涉及的很多理论,在很多人的实际工作中,可能很难真正由机会去实践。(我很认可理论和知识,但是我也同样知道理论和知识有时候的局限)。软考最后的写作考试,从这次来看基本都是要结合工作经验来写的。从这次的考题来看,写作是侧重于将把考题涉及的理论知识应用在自己项目经历中的过程。可恰如我刚刚所说的方法和现实有点不对等,大部分人其实没有实践机会,真正有完整契合经历的人估计很少吧(比如我有相对较丰富的项目经验,但是要我结合开发写作题里面写的开发方法论证我自己的经历,困难在于我没有记太清考题里具体的开发方法知识点,另一个问题就是项目经验里能又没有完全契合这种方法的)。再者,软考的高级证书,历来就有在校学生甚至于是年龄特别小的学生通过(我知道他们在理论方面一定特别强),这里暴露出来的一个问题其实是软考高级证书,对于真正经历的筛选力度应该是有限的(亦或说,有时候专向备考的效用太好)。
虽然吐槽了软考那么多,它的实际证书也可能没什么实质作用,不过我依旧还是挺开心参与这个考试过程。说了它那么多不考,那么它的好处有哪些呢?(虽然还不知道我拿不拿得到证~)。整个备考的过程就是它的效用之一,其次,软考备考让我把自己的关于计算机的知识体系也梳理了一遍,整体了解面更广阔而且体系也更为完善的。其次,它让我理想中的软件开发是什么样,结合现实,又可以了解现实的不足或者理想的不足。