写点什么

我很久没写代码了,但我是个好架构师

用户头像
四猿外
关注
发布于: 2021 年 04 月 20 日
我很久没写代码了,但我是个好架构师

这篇文章还是架构师大刘的故事。


故事之前先说个题外话,最近到了金三银四跳槽季,有不少读者问我一些简历、面试的问题,这些问题大部分在之前的一篇硬核文章里都写过,传送门在这里:


最全干货:从写简历,到面试、谈薪酬的那些技巧和防坑指南


非常全面的一篇程序员找工作的干货文章,基本涵盖了求职的整个流程,最难得的是除了经验,还有很多需要的坑。还没看过的读者,推荐看一下,肯定有帮助。


题外话结束,故事开始。


俗子胸襟谁识我?英雄末路当磨折。莽红尘何处觅知音?青衫湿!


作这首词的本是近代女英雄秋瑾。说的却是蔑视世俗、不畏挫折磨难的壮志雄心。此时,大刘却亦有戚戚然焉。


大刘是个架构师,随着工作的日益繁忙,已经逐渐离开了在一线写代码的工作。但是在离开一线的时候,也不免听到了一些不和谐的声音。


  • 什么架构师不写底层代码,不知道还有何用……

  • 什么架构师成天不写代码,以后肯定废了……


这些靡靡杂音不绝于耳,大刘难免就有了上面的情绪。


架构师无论从何角度来讲,本质就是一位技术专家。那些架构师们因为公司的发展和职责的扩充,有的离开了一线,有的尚未离开一线。但是,无论在不在一线,


都不影响一位技术专家的核心价值。


有某些理论说,技术专家吃技术饭的,技术是个手艺活,几天不练就手生。但是这套理论和实际不一样的是,这套“手艺活理论”,并没有考虑现实里的公司对架构师本人的核心价值定位。


之所以这样说,是因为“手艺活理论”,只定义了技术问题就是手艺活能解决的问题,认为技术问题都是靠写代码搞定的。这就跟产品经理告诉你“这个需求很简单”一样可笑。


架构师不写代码不会成为公司吃干饭的——要说明这个,首先得先说明下架构师的核心价值在哪里。


有些人糊里糊涂过日子,分不出来啥叫核心价值啥叫附属价值。刚入行,拿着还算可以的薪资,以为这就是他们一辈子的状态。素不知这其实就是个温柔乡,慢慢把人套牢,然后到了中年,一切轰然崩塌,那时候,后悔也晚了。


价值这东西,放在现在打工人身上,就是你能给公司带来多少利润。就拿技术举例,你给公司开发出个新产品,公司盈利了,你就体现了你的价值。


更进一步,如果你给公司弄出了新的产品,公司预估时间为一个月,你半个月搞定了,给公司了个小 suprise,你不仅体现了你应有的价值,你还买一送一,给了公司一些小小的快乐,那么就创造出了更多的价值。


以你给公司创造出了更大价值为前提,咱们看个公式:


你实际创造的价值 = 你本来就应该给公司挣的钱 + 你优秀的能力让公司意外赚(省)的钱


从这个公式你就可以看出来了,价值这事儿得分成两个,一个是公司需要你为公司挣钱的价值,一个是你自己能力可能比同行优秀,多搞出来的价值。


第一部分就是核心价值。那个你比同行优秀或者公司让你搞产品,你不仅搞了产品,你还把地板给扫干净了的价值是一些附带的,是附属价值。


OK,知道这事儿了,咱们就得嘀咕嘀咕架构师这事儿了。大刘郁闷在哪里?本来架构师开不开发代码,这事儿不是判断架构师够不够格的标准。


但是呢,有些人可能从小土里刨食儿惯了,出来搞些码农的事情,觉得不敲代码了,就不配搞技术。手里拿着在 2.14 还亲密接触的键盘,在互联网上苟且的发表着一些阴阳怪气的意见,这就很让人不待见了,也很容易误导后来的年轻人。


公司为什么需要架构师?鲁迅先生说过


公司里本来没有架构师,系统复杂了,也就有了架构师。


架构师这岗位不是地里长出来的,是有需求创造出来的。


看到了吧,架构师的核心价值出来了:专门用来搞定公司复杂的系统的。当然,资本家的事儿能叫剥削吗?那叫帮你成长。为了帮助架构师的成长,所以架构师的责任链条又拉长了:


从搞定一个复杂系统 -> 搞定所有的复杂系统 -> 搞定所有系统 -> 所有技术你都做主了吧


于是,架构师也是拥有自己的血泪成长史的。


好了,话题扯远了,说回来。


公司需要搞出复杂的系统产品来运营,需要复杂的技术链条来运维,需要复杂的工具来加快产品开发速度……这些事儿,其实都是架构师要关心的。


在这些里面,编码就是其中一小部分工作,架构师忙不过来了,自然要放弃编码,去考虑别的问题。


架构师编码编的好,那是他高级程序员做的到位,但是这是所有技术工作中的很小的一部分。


假如大刘编码做好了,上线无 Bug 了,但是精力没顾上整体技术架构,也没顾上整体的系统分析,比如


  • 业务数据需要高可用还是高一致?

  • 在线运营的系统运行了很久了,是不是要搞代码重构了?


因为大刘深入了编码细节,疏忽了更重要的,出现了判断问题,那大刘的核心价值就被损害了。就算他写代码写的全程丝滑,但整体系统却没搞的到位,对公司来说就是损失,这个架构师就不合格。


现在一些新入行的年轻人,一边编写着代码,一边被人灌输架构师必须写代码,不写代码,他就是伪架构师,这是完全的以偏概全。架构师其实挺难当的,上面说过,随着你干的活变化,很可能架构师一下子就把公司的技术活全捞来负责了。


很多有技术追求的人,他们很想当架构师,但是又不知道该怎么学习。根据大刘自己的经验,你得先培养自己的三种能力:


1. 快速分析问题的能力


因为架构师有一个很重要的工作,就是负责解决公司的系统问题,很多系统的问题其实解决不难,但是定位非常困难,所以,定位问题能力就需要有意识的训练。定位问题的能力需要能快速梳理整体流程,然后准确的找到流程中断的地方,那个地方很可能就是问题点。当然,多见识各种系统问题也是必须的。


2. 快速学习的能力


架构师其实负责的工作很杂,几乎任何技术工作,你都能扯上架构师。架构师就是技术工作的主负责人的各种备胎。但是,架构师也是人,他也不是万事通。为了能完成这些备胎工作,架构师就得能够快速学习,对一些新鲜领域能快速技术调研给出结论,对一些不熟悉的技术领域能快速的深入学习然后找到瓶颈并解决。而且,平时也得多关注技术领域,持久化,快速化的不断学习。


3. 快速资源调配的能力


快速资源调配的能力则是因为很可能运维、开发、测试他们面临了一些技术问题,需要这些人一起配合搞清楚。比如网络问题,很可能运维、开发、测试都是互相埋怨甩锅,这时候,就需要架构师们快速确定问题,调配人员,看如何把存在的技术问题给干掉。


看到了吧,上面哪个都不是干写代码可以搞定的事情,所以,架构师这事儿,真的不能光看什么写代码。


架构师嘛,不写代码不寒碜。

发布于: 2021 年 04 月 20 日阅读数: 38
用户头像

四猿外

关注

从小就怕写作 2020.05.05 加入

百人技术团队管理者、15年以上老程序猿,以前极其不擅长写作,最近决定对着弱点迎难而上,通过写作分享经验、干货,一定会对你有帮助。

评论

发布
暂无评论
我很久没写代码了,但我是个好架构师