架构师吧 关注:14,942贴子:811,336

架构师速成-一个10多年架构师的总结

只看楼主收藏回复

其实好多人都想能够速成,比如21天精通xx,3天学会xx,xx一周快速入门,相比这些架构师速成有些慢了,需要3年。当然这是有原因的,架构师是一个实战性很强的职业,有点像骑自行车。如果仅仅是学习骑自行车的套路,可能10分钟就学会了。但是让你马上去骑,肯定要摔跤。架构师也是一样,如果仅仅掌握所需知识,可能1年就够了,但是要能实战,恐怕就比较困难了。再举个例子就是大名鼎鼎的赵括同学,他掌握了所需一切行军打仗的知识,但是没有实战过,所以几十万大军跟他一起game over。
说的专业点,知识分为技能型和理论型,技能型需要掌握之后反复练习,而理论型记住就ok了。纸上谈兵也就是技能型的知识当成理论型知识典型案例。要是我这篇文章赵王能看到,历史就改写了。
既然说到知识分类,有一点非常需要强调的,中国的教育体制导致很多人偏重理论型知识,这是十分错误的。其实应该大力学习和掌握技能型知识。另外理论型分为理解型和字典型,理解型尽量掌握,字典型大部分情况下只需要知道什么情况下会用到,能查到即可。举个例子:新华字典是不需要记住的,你知道有不会的字去查字典就可以了。这个所有人都认为是对的,但是在程序员身上经常会反常,比如有些类的用法或者具体字段的含义,就有公司要求必须一字不差的记住。其实大可不必,现在的编辑器提示功能已经足够强大,有一字不差记住的时间不如学点有用的。
扯远了,回到主题,架构师速成时间长是因为必须有实战的场景,如果没有实战的机会,那是否能成为真正的架构师仍需打一个折扣。


IP属地:浙江1楼2015-06-22 07:32回复
    本人资深苦逼it架构师,在it架构苦海中苦修10余年。进过华为,干过阿里。多次创业,屡战屡败,至今尚未成功。
    爱coding,爱总结,爱说教,爱老婆,爱儿女,爱dota。
    总结10余年苦逼经验,倾囊而授,助你架构速成,创业速成,顺便扒开伤口搏你一笑。
    坚信每个人都是自己世界的神,欢迎来我的世界,你的一生即将改变!


    IP属地:浙江4楼2015-06-22 07:43
    收起回复
      继续,楼主加油,我来顶贴学习。


      IP属地:广东6楼2015-06-27 17:24
      回复
        架构师速成3-开发者境界
        修炼的境界自下而上分为:
        筑基、开光、融合、心动、金丹、元婴、出窍、分神、合体、洞虚、大乘、渡劫
        其实开发者也可以按照修炼的境界进行划分:
        入门、对象、模式、框架、架构
        1.入门 初学者就是为了把功能实现,不考虑其他,此时根本不考虑可读或者可修改性。
        2.对象 以面向对象方式进行编码,把代码分开写到不同的对象中,能够进行跨对象的交互。
        3.模式 关键点可以使用设计模式进行设计,但有时会滥用设计模式
        4.框架 某一语言内部进行高度封装,使常用的功能开发步骤极度简化,提升开发效率,并极大降低对开发人员的要求。例如使用spring mvc进行封装,对错误、事务、日志等进行统一处理,或者更进一步对前后端交互进行封装。
        5.架构 针对不同场景,进行跨语言、跨系统、跨容器进行设计及高度封装,使系统高可用,并能支持高流量,高并发。


        IP属地:浙江7楼2015-07-04 17:48
        回复
          贴吧好冷清!


          IP属地:浙江8楼2015-07-04 17:48
          收起回复
            架构师速成4.2-幼儿园要学会如何学习
            《如何高效学习》,这本书的作者是scotthyoung,最知名是的1年内自学完成4年麻省理工学院计算机科学的33门课程,同时也写了一个学习方法的Blog,他使用费曼技巧来加强理解和学习。
            费曼技巧很简单:
            拿张白纸;
            在白纸顶部写上你想理解的某想法或某过程;
            用你自己的话解释它,就像你在教给别人这个想法。
            最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点。但你最终会到达一个临界点,无法再解释清楚。那里正是你需要填补的知识缺口。为了填补这个缺口,你可以查课本、问老师、或到互联网搜寻答案。通常来说,一旦你精准地定义了你的不解或误解,找到确切的答案则相对而言更轻松。
            另一种说法:
            第一步 – 选择一个你想要理解的概念
            选择一个你想要理解的概念, 然后拿出一张白纸, 把这个概念写在白纸的最上边.
            第二步 – 设想一种场景,你正要向别人传授这个概念
            在白纸上写下你对这个概念的解释, 就好像你正在教导一位新接触这个概念的学生一样. 当你这样做的时候, 你会更清楚地意识到关于这个概念你理解了多少, 以及是否还存在理解不清的地方.
            第三步 – 如果你感觉卡壳了, 就回顾一下学习资料
            无论何时你感觉卡壳了, 都要回到原始的学习资料并重新学习让你感到卡壳的那部分, 直到你领会得足够顺畅, 顺畅到可以在纸上解释这个部分为止.
            第四步 – 为了让你的讲解通俗易懂,简化语言表达
            最终的目的, 是用你自己的语言, 而不是学习资料中的语言来解释概念. 如果你的解释很冗长或者令人迷惑, 那就说明你对概念的理解可能并没有你自己想象得那么顺畅 — 你要努力简化语言表达, 或者与已有的知识建立一种类比关系, 以便更好地理解它。
            我看了这本书的中文版,觉得还是比较有道理的。发现还有一个很重要的概念,就是通过联想不断的建立你掌握知识的关联,这个跟思维导图的逻辑有些想通。举个例子,程序相关的吧:
            缓存 其实是一个攻防战,用户是进攻方,架构师防守方,第1层阵地就是用户的浏览器端,第2层是cdn,第3层是nginx等web容器静态缓存,等等 这是讲解。
            当然缓存还会跟其他的知识进行关联 http协议、db除了缓存还可以进行分布式等等。你发现整个大领域的知识都是相关的,你不停的关联,你的知识体系就会越牢固。
            如果这个学习法,我早些学到,哇哈哈!


            IP属地:浙江13楼2015-07-07 17:26
            回复
              一字不落的看完,认真的思考~~~~期待着楼主后续


              IP属地:上海14楼2015-07-18 12:57
              回复
                写得太赞了,支持楼主,多谢!


                15楼2015-07-18 21:02
                回复
                  有人赞了,我就继续,还以为没有人看!


                  IP属地:浙江16楼2015-07-19 08:44
                  收起回复
                    我该学什么语言
                    该学什么语言好呢?很多人都很纠结,其实我建议学习java,为什么呢?文档多,上手容易,教程也多。
                    当然一开始最好学这样的语言,但随着你知识的增长,我的建议是能学多少学多少,但是有几个是必须的,如下:
                    前端html,js,css
                    sql
                    至少会一门脚本语言,python,ruby等等
                    shell
                    至少会一门后端语言,类似java,scala是个不错的选择
                    语言学的越多越好,你可以总结各个的优缺点,另外最后你发现语言都是想通的,学一门新语言很容易。
                    当然上面的语言是为了你做架构师准备的,如果你说我想做硬件底层code,那是学c吧。


                    IP属地:浙江17楼2015-07-19 08:50
                    收起回复
                      软技能和硬技能
                      在投职和面试的过程中,雇主通常会查看求职者的两种技能:硬技能与软技能。
                      硬技能就是能够通过培训或可以容易量化的技能。硬技能包括下面这些:
                      熟练的外语能力
                      文凭或证书
                      打字速度
                      计算机程序编写能力
                      而软技能,则是较难量化的主观性技能,例如:
                      团队合作
                      沟通
                      时间管理
                      而且绝多数的日常软性技能都是可以跨领域迁移,硬技能有时候随着工作的变迁,就失去了价值。我也极为推崇软技能的练习和培养。首先一个人应该最先具备的软技能如下:
                      学习能力
                      思考能力
                      沟通能力
                      管理能力
                      学习能力是第一应该掌握的,你学习能力比别人强,那就凡事快人一步了。学习能力再细分为:
                      阅读技巧,就是如何又快又好的读一本书,这个非常重要,尤其是目前各种书籍泛滥的情况下,速读就是一大利器。
                      记忆力 记忆力是可以锻炼的,记得有一期最强大脑,有一位患老年痴呆的老人,通过锻炼不但恢复而且能记下一整本书。大家可以去搜搜。
                      学习方法 推荐前面提到的学习方法
                      思考能力,这个算第2吧,因为你学习速度上去了,再学习这个更快一些:
                      思维导图
                      创造性思维
                      批评性思维
                      冥想
                      自省
                      心智管理
                      沟通能力,这个也非常重要,人是群体性动物,如果缺少沟通能力,寸步难行。
                      语言
                      演讲
                      说服力
                      管理能力,这是自我管理与管理他人的能力的集合,你成功的必备要素:
                      时间管理:最大限度的利用时间,不拖延不浪费,努力提升团队效率
                      知识管理:能在最短的时间内建立一个新知识的整体框架,并能确保在团队内的知识协作和共享
                      财务管理:你不理财,财不理你。
                      团队管理:三人为众,众志成城。如果你有一只铁军,没有什么做不成的。
                      人脉管理:人都是靠别人的帮助才取得成功的,人脉是你发展的最大助力。
                      有时间先把你的软技能练好吧,你会发现没有什么能难得倒你


                      IP属地:浙江22楼2015-07-21 22:10
                      回复
                        架构师速成5-小学
                        很高兴你很快的进入了小学,小学的东西会让你更加的耀眼。
                        阶段: 小学
                        学时:2-3个月
                        升学标准
                        能自己制定目标及计划,get thing done。
                        可以轻松制作一个让你身旁人惊叹的ppt
                        能做一个简单的网站(或者客户端软件),数据能保存到数据库。
                        实践经验干货来了。
                        先说ppt吧,这个上一期已经讲了,如果你ppt做到出神入化,基本不需要做架构这么苦逼的事情了。因为你很容易成为老板的心腹,军师,走上人生正道。作为一个苦逼的小学程序员,很羡慕吧。那就再努力学一下,不用多久,你就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。想想还有点小激动呢,嘿嘿!
                        《别告诉我你懂PPT》思维导图读书笔记
                        《说服力:工作型PPT该这样做》思维导图读书笔记
                        《说服力:工作型PPT应该这么做》PPT制作七步法
                        《写给大家看的PPT设计书》思维导图读书笔记
                        《PPT,要你好看》读书笔记思维导图
                        《乔布斯的魔力演讲》思维导图读书笔记
                        Robin Williams《写给大家看的设计书》思维导图读书笔记
                        《PPT演示之道》思维导图
                        再说gtd,这个是你人生的利器,掌握了他,基本就会比同龄人花更少的时间,赚更多的钱,升更快的职,玩更多的




                        -,Dota。想歪了的,先站一旁反省一下。
                        用比较通俗的说法说一下,人生就像一次旅行,说走就走。有人坐飞机(x二代),有人坐豪车(还是x二代),在这看我文章的人,肯定不是什么二代,所以只能靠自己的双脚。小A和小C都想靠自己的双脚来一次说走就走的旅行,小A真的说走就走了,啥都不带就走了。小C不着急,先找来地图,确定要去北京(为啥是北京啊!),然后查了一下大约多少公里,每天走多少公里,需要带什么东西。准备完毕,小C也出发了。那问题来了,挖掘机哪家强?谁先到北京?
                        有人这时候就要开始抬杠了,争论了,辩论了,我只想说别扯蛋。有闲功夫扯蛋的,都不适合做架构师。
                        gtd就是目标+规划+执行。怎么掌握呢?
                        <小强升职记>看10遍。跟你身旁最亲的人讲2遍。
                        推荐一个工具,绝对没有收钱的推荐。doit.im,免费的,每天都用,坚持1个月。
                        找你的前辈帮你提出目标的建议。
                        坚持执行你的计划,坚持!
                        怎么做一个网站或客户端呢?
                        我就以网站为例讲解一下,因为网站更难,客户端更简单一些。
                        快速掌握语言 html,css,javascript的基础知识,这些因为已经有了之前的基础,花费时间应该不多,具体方式参考java学习。不要求做到精通,仅要求掌握。
                        快速掌握mysql的安装,使用,掌握sql语句。具体方式参考java学习。
                        掌握一个web容器,如tomcat,jetty,学会如何启动,关闭,部署。
                        综合起来进行web开发
                        找一本做web网站的书或视频(针对你会的语言找),速度过一遍,
                        下载demo跑起来。
                        修改前端,看看改了之后的效果。
                        改后端代码,打印一些日志。
                        再看配置文件(xml,properties,ini)之类的,搞明白每个部分的作用。
                        找一个从前到后例子,自己实现一遍。至少实现5个类似的功能。
                        自己从头到尾创建项目进行开发,直到跑起来为止。
                        简单吧,请抓紧时间完成你的学业。


                        IP属地:浙江23楼2015-07-22 12:20
                        回复
                          没了?


                          IP属地:湖北24楼2015-07-22 23:58
                          回复
                            楼主~牛~


                            IP属地:北京来自Android客户端25楼2015-07-25 10:01
                            回复