第一章,天官赐福
自古皇权不下县,参考明清官职,参考电视剧大明1566+康熙王朝+雍正王朝,结合真实历史,给观众老爷们抬抬身价。以下所涉官职。官员的品级随着朝代和时代和所处区域都有一些变动。而且不论从哪边论,古代和现代的官职品级没法一一对应。叠个甲,看看就好,不要过分考证,且特意强调一下,企业不存在官僚主义,但存在上下职级。
以百人团队举例,服务于一个产品应用或者网页,十五到二十人为一组。有部门经理职一人,组长职若干,组内核心成员若干,组内普通成员若干,一共四个级别,但是下面要涉及到是五类人。
业务业务开发人员,知县,七品;
核心开发人员,知州,五品;
架构师,同知(这个大家不熟悉,下面会有介绍),五品;
组长,知府,四品;
部门经理,巡抚,二品(为啥脑子里先蹦出来的是郑必昌何茂才)。
为什么要这么类比?
1,不懂互联网的人快速入戏,清晰的理解职业升迁路径,如果用典史,主簿,巡检之类的关系,读者会有更多的理解成本。
2,古代的人由于交通和信息的闭塞,生活相对简单,个人意识相对薄弱,与游戏里的NPC( 非玩家角色)更类似。
3,避免跟现在的县市关系挂钩,引来不必要的麻烦。我没法用科处厅部这样的举例,基于上述的逻辑关系,方便为后面的类比做好铺垫。
4,最后想着幽默一下程序员,毕竟清末之前很多知县都是进士出身,中进士的难度远大于现在的清北博士。
把业务开发人员比作知县,这里说的知县是淳安知县海瑞,或者,可不是九品芝麻官里的包龙星。
知县的职责比较多,我们主要关注经济这一条主线,知县管理县内的资源,对县内资源进行调优和治理,争取用现有在资源有限的条件下,获取更大的赋税收益。 县内人口几万到几十万不等。老百姓要从事农事生产赋税,服徭役。
每行代码,是一个老百姓,有青年,老人,小孩,有男人,有女人。男人从事体力重点的耕种,女人从事纺织,手工等。仔细看,甚至有道路,河流,酒肆,茶馆,集市,青楼,这种公共区域。
函数,是一个村,组织几个老百姓去做一件事或者几件事,比如今天去修河堤,明天去开荒地。 “土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。”摘自《桃花源记》
类,是一个镇子,镇子要输出某些对外的徭役(边境障碍、驰道建设、江河治理),例如把镇上的道路和河流按照派发的的规定进行疏通管理,以及对其他镇子物与物的买卖(写Go和JS的同行们可以类比成结构体和原型对象)。
知县的为官任期(一个迭代周期,或者一个版本周期),要管理若干类,有十几个,或者几十个,知县任期完成可能继续留任,也偶尔要调任到其他县,做好父母官,瓦舍井然有序,还要整顿吏治,防止贪墨内存,保证这些类的有效输出。每隔一段时间要通过考核,考核的标准有钱粮税收和人口教育,治安民风等,例如小明知县考核的业绩如下。
定量指标:任期内的赋税增加了百分之16%,人口增加了3%,秀才比去年多录取了8人。
定性指标:民风淳朴,路不拾遗,百姓吃得饱穿得暖,安居乐业。
这不就是近几年流行的OKR吗?历史是一个环,循环往复,大换套小环。程序员不用担心最近的低迷周期,会有好转的。写给我自己,也写给你们。
知州,统辖带领几个知县做一些更大点的项目,要专门的负责管理某些业务模块,模块内变动的时候,需要与会参与讨论。也要带着新任的知县进行经验的传递。互联网行业从硅谷学来一个词叫mentor。虽然会有偏颇,大致能讲清二者的关系。
同知,主要专门负责协助知府或知州处理地方政务,具体职责包括分掌地方盐、粮、捕盗、江防、海疆、河工、水利以及清理军籍、抚绥民夷等事务,是不是有点画面感了?这不就是基建嘛。制定好规则,并且监督考察规则的执行。这些职责都制定好了。那老百姓的日常生产生活就有据可依。不会出乱子。即使出了问题,也能快速得到纠正。
知府,“知府乃吏治之本,若尽得其人,天下何患不治?”,知府能把手伸到每一个县,宣传国家的政令,按期对知县的政绩进行考察,要跟其他的知府进行联系,通过自己下辖的知县的的政绩向上管理,接受上一级的监管,也要接受朝廷的监管。
巡抚,封疆大吏,天子任命,基本上不会把对县一级存在直接管辖,主要是安抚地方,考察属吏,提督军务。在互联网公司内,团队管理,项目管理,需求管理,跨部门管理等。是不是也基本对得上?
我的职位是同知,之前也做过几年知府,创业的时候也做过宰辅。十几年的工作,也从知县到知州一路走过来,然后辗转到各个地方任职同知(跳槽好几次)。做得多了就会想,想的多了就会慢慢沉淀,沉淀下来,如何做到极致,达到极致的路怎么走。
再换个透彻点的词叫改革。自古改革者为自身的政绩也好,诚心为国事也罢。不破不立,如富国强兵的商鞅,熙宁变法的王安石,万历新政的张居正,王安石算是结果稍微好点。为什么要有一个架构体系呢,为啥不是顺其自然,随机应变,或者叫顺应人性思维?
举个糖炒栗子,有个张三,王五,李二分别是官盐衙门,漕运衙门,仓储衙门的衙役。张三得了个差事,把五百斤盐从杭州运到苏州,运输需要王五的官船,盐运到苏州之后需要存放在李二的官仓。以前正常的流程应该怎么做呢?找王五拿到官船运盐过去,到了苏州,找李二把盐存放在官仓。
情况1,风水轮流转,今年王五和李二换衙门了。张三不知道,找到王五,王五说我不开船了。那怎么办,我的盐都堆在你衙门的门口了,没法及时交差,苏州的老百姓都等着这些盐过日子呢,差事办砸了。
情况2,王五借着岳丈的势力升迁了,成了张三的领导。想把漕运这一块自己承包给第三方,从中赚差价,并且还是张三去负责搞,张三一脸懵啊,没见过这么玩的,现场求救。
情况3,皇帝老儿学什么不好,非要学几百年后的陋习,搞什么绩效和降本增效,把官盐和漕运合为一个盐运衙门,要淘汰掉一部分衙役,但是要维持之前的所有衙门对外功能,并且要增加盐运的效率,盐运衙门不仅要运盐,战时能运兵,秋后能运粮,大官们的奏折是一个赛一个的好看,可苦了下面的底层办事人员。隔天赵四去买盐去东门市场,哎,今天东门市场怎么店铺都拆了,赵四傻眼了,回家跟儿子说”玉田呀!今天爹跟你在心里从里往外得沟通一下”
在互联网上班的人是不是觉得这栗子吃的糯不糯?三年以上的开发,应该有画面感了,三年以内的开发应该知道怎么做了,不懂开发的可以想象一下我们每天做的都是这样有趣的事。除了搬运盐,走衙门的固定流程,想着如何存储,最重要还要想着应对流程的变化。什么叫架构设计呢?就是未雨绸缪的想好三种情况以及更多可能发生的情况,用更小的代价,完成转变。因为转变的力量来自于外部。
第二章,道亦有道
每一行有一行的道道,三百六十行,都有专属自己的的道道,有一定的封闭性,排他性。现在职场存在各种规则,明面上的职场规则,地下的潜规则,学习这些规则,跟上学一样简单,甚至更简单,有人可能会反驳,上学也不简单啊,这个我后面会讲。实际工作中使用的无非就是那些道道。不过有些道道我想知道又不想知道,比如刘谦的魔术。各种行业的职业考试,即考一些方法论的东西,又考一些实操的东西,说白了,就是检查你懂不懂行,上不上道。
我猜你脑子里蹦出来的第一句道上的黑话是 “天王盖地虎!”
写代码的难度体现在哪里呢?一个有经验的开发。理清楚来龙去脉,前因后果,剩下的就是易如反掌。跟盖房子一样,拿的也是不同尺寸砖瓦,水泥,瓦刀。敲敲打打,缝缝补补,瓦匠的沟通效率和执行效率很高,每个人看的清自己的任务对整个房屋建设的进度的贡献。自己添加的每一层水泥砖石,每一方砂石木料,不用任何返工,只要不出现刮风下雨等不可抗因素,没有一丝内耗,每一分钟都是促进这个项目的顺利进展。
以你打开任意一个手机应用举例,页面上的东西,是开发人员捏好一个的泥人和锅碗瓢盆,然后放进一个屋子里,然后静态的东西就做好了。比如你点了一个小人,根据业务的实际需求,把泥人装扮上各色的衣服,准备好各种表情。你点了某个锅碗瓢盆,会有各种菜放进里面进行烹饪。烹饪好了之后,会自动通知小人来吃饭。
到底如何捏泥人怎么做各种锅碗瓢盆呢?其实是有模子的(北方有做月饼的模子,南方有做各种米糕的模子)。而用于用于烹制的各种食材通过网络获取,所以绝大多数应用都依赖联网使用,应了“巧妇难为无米之炊”。不能等柴火准备好了,锅也刷干净了,才发现没有米下锅,代码开发跟现实生活一样,都是遵循工具至上,效率优先,有了金刚钻才能拦瓷器活。所以现在AI GPT火了,工具更多了,效率提高了,其实也不用担心AI会取代人的工作,人创造工具,还怕被工具反噬吗?人有无限的想象力。
听完之后,同行会骂我你说的那么简单,要不我的代码你来写,我的OKR你给我完成。不在互联网行业的人会想,我干我也行啊。这不就是过家家嘛。不着急,由浅入深,开发其实有时候需要一些知识储备,随机应变,改革创新。换一个场景。张三生病了,没有西医的各种手段之前,望闻问切。抓药煎药服药一系列流程走完之后,复诊。小病还好,但是如果遇到肿瘤,骨头或肌腱断裂,血管淤堵。想尽快解决,就得求救于现代西医。我尊重中医,但是西医更直接迅速。
我大学里学的是金融学+通信工程,毕业后找的写代码的工作。上学期间对生理和医学还是有浓厚的兴趣。上大学读了两个学位的同时,学习了国内外大量的医学的知识,从表皮,真皮,到脂肪,到血管,神经,肌肉,骨骼,胸腹腔器官。从腺体到内分泌到淋巴到大脑的神经质分布。从细菌到病毒到感染到死亡。知识储备肯定不少,随着代码越写越多,慢慢觉察到人体与架构设计也有很多联系。
现代西医,在检查病人体征,发现病症,会先利用各种仪器检查X光,B超,核磁扫描疑似病症区域,检查血液尿液等,找到可能问题之后,通过自己的经验,针对性治疗,如果不确定病症,或者可能涉及到多种病症,需要找多科室的来会诊。确定解决方案之后,进行手术,先划开皮肤,避开大血管和神经,切开肌肉,分开神经,可能移除掉组织器官上的某个异常凸起,移除部分一些不好的组织。或者骨头或者植入一些螺丝,打进几根钉子。再梳理好血管和神经,把肌肉缝合,把血管缝合,最后把皮肤进行缝合。步骤描述清楚了,断开的血管会重新打通愈合,分开肌肉会重新建立连接,虽然很缓慢,但生病了,生活就得慢下来。
听着手术过程也很简单,为何外科手术费用如此高昂?一位大医院的外科医生的经验丰富,经过了很多场手术,收集到更多的病症信息。经过沉淀,总结成自己的经验。脑外科干不了瓦匠的活,瓦匠干不了脑外科的活,隔行如隔山。经验是值钱的,熟能生巧,也是确保一个人在一个行业内的地位。
如果把外科手术和瓦匠的知识经验进行信息化解释和总结,原理是不是都一样呢?任何人和任何组织都不会对整个世界有全面的认知,将来也不会有,更何况人脑的记忆力是有限的,处理能力也是有限的。对非熟悉的领域都存在认知的不足片面。世界正是由各种片面和不足推进历史进程的,所以有了一战、二战、冷战。
信息传递的越来越快,越来越密集。然后有了各种分流的网站或者应用,购物促销的,财经新闻的,数码资讯的,餐饮外卖的。各种信息会有规律的汇集。人类在解决问题的过程中学会了各种方式方法,如果没有错误的信息引导加之人性的贪婪就不会爆发一战二战,如果没有飞进电子管的那只蛾子,就不会有bug。信息是如何转化成经验的?大家都知道经验是值钱的。一个外科手术10年的医生肯定更受欢迎,但是为啥一个35岁的程序员被公司淘汰呢?
第三章,求导 y=f(x)与积分∫f(x)dx=f(x)+c
很多人都有个理想,年轻的时候多赚钱,等年级大了,到农村盖个房子,不为生计发愁,种种菜,养养花,钓钓鱼。想躺的时候可以躺,想卷的时候可以卷,任性洒脱,缩放自如。这不就是我们想要的吗?从大局到细节,我们都能掌握。针对本章节提出的问题,慢慢的开始找到那个点了,全局的掌控。
如果一个播放器没有可以拖拽的进度条,是不是觉得难受?如果一辆车没有仪表,是不是觉得难受?如果你是个时间管理大师,想要撩的美女或者帅哥总能轻易逃脱你布下的陷阱诱惑,是不是更难受?对事情进度的掌控,局部区域的感知是不是一个人权利的范围?程序员想要的掌控力在哪里?你想做这个全能的神吗?
注意看眼前的男人叫小帅,这个女人叫小美,这个男人叫丧彪,这个女人叫翠花。大家经常刷到这种七八分钟分钟解析一步电影的短视频。有的电影例如诺兰的电影,短时间讲清是比较有挑战的,甚至完整看完电影之后也有很多要琢磨的地方。
去掉了电影的细节,只保留电影的故事梗概,留下故事发展的唯一脉络,让故事的时间线得到压缩,在数学角度上看,是不是一种求导?
有时候我们只想了解一下梗概,有时候我们又想补充和了解那个时间线上的历史细节,得到更细节的解析和诠释。,在数学角度上看,是不是就是一种积分?
那人体和公司的逻辑,是否也可以用函数来表示?中间的关系我没想好用什么符号,有些还有依赖依附等关系,想了想使用*或者+,可能*更能体现其强关联性,既然没想好符号,那我就不好用标准的导数来求了。
S[Human] = ∑ f[blood] f[nerve] f[muscle] f[bone] f[body fluid] f[viscus] f[skin] f[eye] f[...]
S[App] = ∑ f[biz] f[UI] f[db] f[network] f[UX] f[algorithm] f[...]
人体求导,先求导得到骨头,再求导是血液和神经,再求导就是一堆无机盐。
产品求导,先求导得到页面下面的本地逻辑和网络请求,再求导得到模块关系,再求导就是一个main函数。
整体人类群体就像一个多元函数,对人类的这个函数进行求导,人类的情感会被剥掉,对历史进行影响小的人会消失,把时间拉长。以100年,求导一次,剩下的也无几了。普通打工人对100年的人类价值的影响能留下多少?马斯克能留下多少?马云能留下多少?虽然很无情,但是事实就是多少年之后,历史的导数只会保留对社会有重大影响的人。再卷积着新的历史因子进行循环。
本地迭代的某个需求,会涉及到若干个类,而这些类不单是为当前业务迭代服务的。再看这个业务历程图,是不是就是你要迭代的类,在你这个业务迭代维度上的求导?听懂掌声!我换个通俗点的讲法。如果一朵花反射了红色光而吸收了其余波长可见光,我们就会看到红色的花;其他颜色的花也是同理。花朵对自然光波长的选择,是不是也类似于在单个色彩维度的求导?
看到这里兄弟姐妹们应该都累了,大家谈过几次恋爱?恋爱分为两个阶段,单说男生追女生的的过程吧。男生说,放心吧,跟了我之后,我一定对你好,送一个iPhone,女生说,你现在不送我iPhone,怎么证明你对我好,我怎么跟你?相互有个拉扯的过程。牵扯很多前证后证,看似入参(cān),其实是出参(cān)。
对方的心思,在程序员的眼里就是黑盒,如果女生的心思的不变,且可以一直试错。不停的给予不同的输入,对比输出,推理举证,穷举反证,通过对方的的反应大致是能猜到黑盒的基本底逻辑。
假设有个盒子,里面不知道有什么。你给盒子输入一张A4纸,输出是一个千纸鹤,在输入一张纸,依然是一只纸船,那大概这个盒子是用来折纸的。假设有个盒子,输入进去的草,输出是的奶,大概里面装的一头牛。因果关系,应该是人最容易理解的关系了。有前后依赖顺序。但实际中,各种结果是由很多各种方面因素加权得来的。是个复杂的数学公式,而不是简单的四则运算。
追求成功之后,基本上把对方的的心思都摸透了,进行一下求导,得出女生对男生的三个维度的要求__,___,__。男生对女生的三个维度的要求__,__,__。你们自己填,反正不是我我说的。