普通程序员通向架构师的最佳路径?

互联网的蓬勃发展,让无数的「屌丝」程序员在一晚上之间,仿佛都变成了「香饽饽」。可是,没有几个作开发的同窗真的想作一生「码农」,不少同窗都但愿当上CTO,最终迎娶「白富美」,今后过上幸福美满的生活。前端

诚然,CTO 的路不是那么好走的,而其中最重要的先决条件就是你要先成为一名优秀的架构师,那么普通程序员如何才能成为架构师呢?让咱们听听移动开发精英群里,这些国内顶级的大牛怎么说!本文系 OneAPM 市场部王鹏整理。程序员

普通程序员通向架构师的最佳路径? 三生社群副总裁,ThinkPHP核心开发者罗飞总结:编程

程序员可能的发展路线是什么?后端

先说说这张图,它几乎表示出了一个程序员可能走的全部职业路线。 当咱们刚开始仍是个初级开发的时候只能把本身变成高级,开发者才能有更多的选择。你能够选择管理线、专家线或者小老板线。(图有四个象限,x轴表明金钱, y轴表明时间。)设计模式

咱们学习知识的路线是: 技术->技术+管理->技术+管理+商业。可是随着阶段不同,咱们学习的知识也有不一样,刚开始咱们只作开发,只须要学习技术知识就好了,后面咱们作到了管理职位,不只要懂技术还要学习管理知识,而后咱们想要成为CTO\CEO或小老板,必须得学习一些商业知识才行。安全

想成为架构师,你须要经历3个阶段的磨练!性能优化

从技术上来说,要成为高级工程师或架构师,我认为可能须要经历3个阶段: 实现->借鉴->优化。服务器

第一个阶段: 实现架构

在这阶段咱们只在意功能的实现,不会考虑性能优化,咱们会以为一些功能不会作,一些功能本身没作,咱们只要实现了功能,就以为颇有成就感。在这个阶段中,咱们要多去作事,没作过的就去作。要注意培养本身的全面能力,前端、后端、服务器等要去接触。其实,这个阶段就比如人类的居住环境,原始人的时候只考虑实现遮风避雨就好了,不考虑住得舒不舒服,因此找个山洞住就能够了。运维

第二个阶段:借鉴

当咱们以为基本全部功能本身都能实现的时候,咱们会遇到本身的第一个瓶颈,这时候不要自满,要发现那只是本身的第一个瓶颈而已。其实,咱们每一个人本身的提高空间还很大,这时候建议你们多借鉴别人的东西,看一些开源程序的代码,其实读别人的程序能学到不少东西。或许有人认为别人能实现的本身也能实现,不屑于看别人的东西,但这显然阻碍了本身进步的空间!

美国一位大师Matt Zandstra说过这样一句话:“咱们正在努力开发的功能,或许已经被其余程序员实现过无数次,咱们怎么不借鉴他们的,而是把重心放在本身特有的业务逻辑上呢?”这个阶段我仍是拿人类居住环境来作比喻:人类在必定阶段后, 好像能借鉴鸟搭鸟窝的形式,本身能“搭建”茅草屋了。

第三个阶段:优化

当咱们功能都能实现了,也借鉴了许多别人的东西时候,借鉴阶段也是有瓶颈的,当咱们看了一两年开源代码后, 再看新的程序,已经看不出新的编程思想了,感受编程思想都是之前看过的。这个时候,咱们的重心会想着怎么优化咱们的代码:

咱们会考虑代码的可读性、安全性、可扩展性。这时候建议你们能够看一些设计模式、编程思想、安全方面的书。 我说的这三个阶段可能属于从初级程序员到高级程序员的阶段,离真正的架构师可能还有点距离,由于真正很牛的架构师还会理解公司业务需求,能知道什么阶段用什么技术!这是很是重要的。

经典语录分享:

唐巧:个人观点是,程序员可以成长为架构师,不只要靠本身的努力,很大程度上也依赖于机遇。淘宝的系统经历过10次重写,每次都面临新的挑战,这些参与其中的每一个人都获得了亲自的锻炼和成长,这也是他们遇上了好时候:电子商务和淘宝的快速发展。

在这波人过了以后,如今的新人若是想在电商系统上有所深刻的成长,再想成为架构师就很难了,由于他们没法深刻理解这些设计原理,为何这样设计可以避免各类“坑”?

固然,移动开发领域正经历快速变革和发展的时期,这几年作移动开发的人,能够看到这个系统的演进过程,他们极可能成为移动开发专家。他们也有机会去设计一些很是基础的、有挑战的系统,来解决如今移动开发中遇到的问题。总的来讲,就是找准趋势,顺势而为,才可能在技术上接触到挑战和机会,单纯的努力可能不必定有效果。

冯军:我以为架构师不在于掌握多少前沿的技术语言和牛逼的技术,而是在于对业务和技术发展的理解,能站在公司的角度,明确在不一样的阶段用不一样的技术架构,可以快速支持业务的发展,保障平台的稳健。

并且,架构师的技术栈会多元化,由于架构师不只仅要作好技术(技术不只仅是包含于开发层面,还有前端构建,运维,测试等领域),还要理解业务,不懂业务的架构师不是一名好架构师。固然,架构也不是设计出来的,而是伴随着项目的发展一步步不断演进出来的。**

薛伟:程序员在基于本位模块开发上,应该多想一想支撑业务及总体需求,多考虑支撑业务问题的实际解决,以及突破所辖模块及端的协做兄弟的换位技术思考。只要多实践,多务实解决切实问题,就能天然发展成为架构师,全部技术架构思惟其实都是相通的。

Sama:这个世界上最重要的是人,咱们索要学习的也都是人创造的。因此跟随大师和领会大师的意图也很是重要,试想一下你有关注过大师的社交号或者社区吗?大师的做品有没有详细研究过?有没有天天坚持用谷歌查看如今世界上任何与架构有关的文章?有没有遇到问题去学习背后的原理?若是你作到了,就说明你已经在架构师的路上了!

还有一点就是工具集,架构师的工具集都是精心对比研究过的,由于在架构师眼里效率是至上的。正如「王牌特工」里师傅带给徒弟的特工「武器库」同样!

富丽饼干:没有完美的架构,只有最适合需求的架构!架构师更要理解需求,理解产品方向和产品经理的思惟,一味追求技术上完美的架构,最后很容易作成空中楼阁,百度腾讯都很强调架构师对产品的理解和产品经理的沟通能力。

陈驰远:在技术方面,我以为架构师首先得了解本身作的业务,业务上有规划,能找到现阶段最适合解决业务上问题的方案,而且对以后的发展有概念和对策。同时,保持对业界技术的关注,知道如何使用新技术解放生产力。永远只有最合适业务的架构!

此外,借力也很关键,架构师得有必定的人脉,遇到本身不擅长的问题,能找到擅长问题的牛人,向他们学习,能够少走不少弯路!

伍星:架构师的成长离不开平台的发展。小平台很难造就优秀架构师,架构师都是在瓶颈和崩溃中成长的!

李帅:基础扎实,多思考,多实践!并且每一个人的状况都不太同样,须要因人而异,但最根本的就是对编程的热爱以及对美的思考!(貌似已经提高到哲学的范畴了!)

牛逼的人都是自学成才的,别期望有人能把你教成大牛!(送给全部阅读本文的程序员同窗)

相关文章
相关标签/搜索