欢迎大家进入《成为架构师》系列文章,这是一篇一年后重写的序言。
01 缘起
在2022年初的时候,我某平台发表过一篇《为什么一个网站需要那么多技术人员?》,其中讲述的是一个网站或者app背后为何需要成百上千乃至上万的技术工程师。
一些同学给我留言说看了这些内容有收获,希望我可以多做一些这样的分享。此外,在这篇文章诞生的过程中,我自己也有一种兴奋感,因为整个产出的过程也是自我整理的一个过程。那种把脑海中一堆零碎的内容拼成一幅画的感觉实在是太爽了。
基于上面的这两点,我感受到有一种强大的动力驱使我把这些年学习和工作的内容都整理并分享出来。其一,可以帮助一些较新的从业人员少走一些弯路。其二,也是对我这些年工作的一个整理,看看我自己到底成长了多少。
所以,就诞生了这个系列文章,我把它命名为《成为架构师》。
02 历程
回到最初我说的“这是一篇一年后重写的序言”,为什么这么说呢?
因为现在你看到的这篇序言,是我在把整个系列文章写完后再重新写的,最初的那版序言已经被我扔进了回收箱。因为整个系列文章最后输出的内容和整体逻辑已经和我最初想的大有不同,所以我需要重新来给你介绍。
没错,我已经把整个系列文章都写完了。最初的时候,我计划一共22篇文章,但最后完结时,一共写了52篇(含序言)。最初我计划在4个月的时间写完所有的内容,但最后经历了整整一年的时间。
这个过程远远比我预想的要“折腾”得多。其实写文章本身并不会花费特别多的时间,更多的是对分享内容的逻辑组织、对分享内容的进一步学习纠偏。一边组织内容、一边纠偏内容、一边补充内容,文章就越写越多了。
但这是一个极有价值的过程。回头来看,这个系列文章诞生的过程除了是分享的过程,更是我自己学习精进的过程。
很多知道我在写系列文章的朋友问我,为什么不一边写一边发。其实,这确实是一个更流行的方式。但也许就和我的性格有关吧,我更希望一个阶段一个阶段做事,这样会更专注一些。这也算是我的任性吧。
03 内容
先介绍一下我自己。我从毕业至今十一年,一直在互联网大厂工作。转过几次岗,也跳槽过,所以做过平台也做过业务,一直在一线编码,感受最前沿的炮火。热衷于用代码说话,相信程序员是一群可以改变世界的人。
我自己的职业生涯经历过迷茫、停滞、走弯路的情况。我也带过很多新同学,知道年轻同学面临的困境和无助,他们其实最需要的就是一个正确的方向。这也是我想要写这个系列文章的最大初衷,帮助一些同学(尤其是刚刚从业的、奋战在一线的同学)解决现实问题,少走弯路,快速成长为架构师。
如果要说这个系列文章有什么特点的话,那就是“完整的成长路径”。
相比很多类似的系列文章、课程及书籍,这个系列文章的内容是体系的、层层递进的、难度适中的。很多地方为了不陷入细节,会点到即止。所以这个系列文章本身除了能给到你必要的内容,同时也埋了很多可以继续发散的点供你自己选择。
《成为架构师》这个系列会从四个阶段分别展开:学生时代、职场新人、成为工程师、成为架构师。
【学生时代】
讲述大学期间需要做好的准备,包括技术,非技术,心理准备,面试,择业等等内容。
此部分的话题不会太多,同时也不会有太多技术细节,更多是建立知识框架,划分优先级,帮助大家在有限的学生生涯过程中快速积累做好准备。
同时结合多年面试经验以及应届生毕业辅导经验,告诉大家怎样是一个面向未来优秀的毕业生。
【职场新人】
讲述毕业进入公司,尤其是大厂,应该如何快速脱掉学生的外壳,快速变得专业。
相信很多同学都有进入工作时的手足无措,其中大部分都能适应过来,但是你是用半年、一年还是三年的时间差别就很大了。很多同学在这个阶段被迅速的拉开了差距,甚至也有很多同学过了很多年,依然显得像新人一样,不进则退。
这个部分就是帮助大家找到正确的方法快速上手工作、快速变得专业、快速能够独当一面。无论是技术方面还是非技术方面,作为一个职场人,有很多地方需要注意。
【成为工程师】
讲述如何成为一名优秀的工程师。优秀工程师是通往架构师的必经之路。
一个优秀的工程师是团队非常宝贵的财富,他要能够hold住重要的系统,做重要的系统设计及推进落地。技术上对系统的易用性,扩展性,稳定性,性能,安全等等都要能够把控,还要能够应对线上故障,能够协同上下游团队同学。
工程师在工作过程中的思考、积累、经验及技术感的培养,恰恰是成长为架构师必须的条件。就像没有打过仗的将军只会纸上谈兵一样,工程师阶段就是打仗的阶段。
此部分会有较多的展开,其中大部分都会涉及到重点的话题和技术细节,希望能在勾勒出一个优秀工程师的能力图谱外,切实的帮助到大家日常的工作,成为一名“骁勇善战的良将”。
【成为架构师】
工程师和架构师没有非常权威的定义,是典型的一千个人一千个哈姆雷特。而系列文章中,把工程师更多定义在“对一个系统负责”。而把对“多个系统负责”的相关内容放到了“架构师”板块。
对于“多个系统”来说,这些系统如何协作是重点。其中包括系统间的通信、服务的注册和发现、负载均衡的原理、数据一致性等等。
我们也会介绍多种架构风格以及他们的利与弊。从中除了细节内容外,我们还可以看到一些“架构观”、“方法论”及“典型问题的解题思路”。
此外,我们也会介绍一些你可能在大厂里接触不到的概念和技术,帮助你“与时俱进”。
相比成为工程师来说,这个段落希望可以帮助你在“骁勇善战的良将”基础上,成长为“运筹帷幄的将军”。
04 系列文章大纲
下面就是整个系列文章的大纲,每周我会更新1到2篇。其中的内容可能会有细小的变化和穿插,但大致上不会有变化。之所以列在这里,也是希望能够给你一个全局预览,看看这些内容是否是你感兴趣的,是否值得你做一个收藏和关注
《成为架构师》大纲
05 期待
希望这个系列文章可以帮助到你的工作、帮助你更了解一些东西、帮助到你养成自己的技术思维。如果这个系列文章中有那么一两个点能够帮助和启发到你,这将是我莫大的荣幸。
当然,也正是因为这个系列文章均出自于我个人的经验和学习总结(也感谢一些同学会帮我先做一把review),不免有一些错漏之处,敬请海涵。同时也希望你可以告诉我,帮助我纠偏。此外,如果你有什么问题想要和我讨论,也欢迎给我留言。期待和你的共同成长。
最后,这个头条号的名字叫CodingBetterLife。可以理解为“好好coding,好好工作,让自己的生活变得更好”,也可以理解为“编写你的美好生活”。所以这个头条号不仅仅是技术分享,也会有一些我的生活感悟。我相信我们程序员的世界,从来都不仅仅只有code。而且你会发现,只有更好地生活,才能更好地code,code得更好。
加油吧,未来的架构师们!
原创不易,未经允许不可转载,违者必究。