架构师训练营第一周总结
去年年底为了成体系的学习算法,报名了极客大学的算法训练营,虽然我之前很清楚数据结构和算法的重要性,但是书本知识非常枯燥无法坚持。在算法训练营学到的系统性的知识让我在后来的工作中受益匪浅,最近还通过实现DAG发现了之前产品隐藏的bug。另一方面,我现在LeetCode也积累150道的题目了,
从训练营学到的系统知识和题目的积累让我现在遇到中等的题目也很自信。有了算法训练营的收获看到架构师训练营我是很兴奋的,报名后期待了很久终于开营了。
说实话第一周我是有点懵的,智慧老师刚提出悟这个想法让我非常焦虑甚至怀疑这个训练营是否会有收获,因为我自知悟性不是很高,之前不论是生活中还是工作中几乎没有悟的感觉。但是我对于老师提出的部分想法我还是印象深刻的。
最让我印象深刻的是架构师是一个角色而不是一个职位这句话,我们在工作中往往因为自己的岗位限制了自己的边界,一个普通的工程师不会主动去承担架构师的工作,这样在架构方面很难有提升。但是我们为什么不主动承担架构师的责任呢?就像老师说的,你承担了这个角色你就是架构师,即便同事不认可你的架构方案提出质疑,也是承认了你架构师的角色,你也会因此而积累一些经验。
我一直有个疑惑,架构师工作内容是什么,因为我有限的工作经验里碰到的一些架构师几乎不写代码,甚至连ppt都很少写,只提供一些技术的选型和解决一些问题,现在看来他们并不算合格的架构师,但当时我对架构师的工作内容就很模糊,老师帮我解答了这个问题:写代码,文档,ppt都是非常重要的。写代码是基本功,文档和ppt是为了更清楚的表达自己设计的架构,让相关方(可以是很多,老板,工程师,业务方等等)都能清楚明白你的设计。
关于ppt和文档,我之前写文档的时候总按自己的思路想当然去写,根本不会考虑这个文档是给谁看的,看的人会不会看得懂,而老师的思路是首先要明确看文档的人是谁,老板不会关注架构细节,工程师却需要更多细节这样实施的时候才不会抓瞎,有针对的的文档编写会让不同的关注者做到满意。
还有就是具体知识的学习了,架构是软件整体结构和组件的抽象描述,架构包括架构元素和架构元素之间的关系,其中关系又包括动态(简单消息,同步/异步消息)和静态(关联,依赖,继承,实现,组合,聚合)等等。还有4+1架构视图,老师重复了几次单一的视图无法完整的表达架构,我理解就像三视图一样,多角度才能画出真正的架构。我是通信专业毕业的,没有系统学过画uml。以前画图都是大概画一下时序图,部署图,现在才知道原来uml也分动态的序列图,状态图和活动图,静态的有用例图,部署图,组件图,包图,类图,而且画之前会想这图有谁要看,要画到什么程度。
写到这里,我觉得老师说的悟可能是不断的积累从量变导致的质变,不只是知识,经验和技能的增长,
还有思维方式,沟通方式的转变。
刚毕业的时候觉得自己很特别也爱定大目标,五年成为架构师,现在看来当年是有些幼稚了。我只定了目标,却没给目标制定合理计划。从去年报名算法训练营开始我尝试改变,希望通过自己的努力和智慧老师的帮助,能帮我距离目标更进一步。
评论