0%

经理?架构师?高工?

架构师

经理?架构师?高工?

新工作展开了一阵子,准确的说是一整个月了。这一个月的工作和生活也是可以总结总结的,算是重新出发,半截腰接手一个摊子,算不上烂,也好不到哪里去,该出的问题在出,不该出的问题暂时也防不住。

公司是新公司,人还是老人,业务也还是老业务,也算是熟门熟路,也闪回了很多回忆。

还是切入主题吧。

有一天下班和老婆聊天的时候,突然发现我在同一个时间同时承担了三个角色的工作,而在这三个角色之间切换并没有什么障碍,当然有时候思考某些问题的时候不同的身份和角色直接会互相掐架;
比如:架构师和工程师角色转换的时候掐架,这时候就由经理的角色来劝架……场景也是非常有趣,一个人在办公室跺着步子(天人交战中),最后自己给自己说一句,走走走,吃顿好的去,哈哈哈哈哈哈哈哈哈,这大概就是人格分裂的一种征兆吧。

这一整月下来,对于架构的理解自认为上升了一个新的层次,也得益于最近两年的所思所想,在这一刻集中迸发出来,挡都挡不住,^_^

首先,关于成本,不仅仅是财务成本,还有更多的关于开发过程中的成本,测试过程中的成本,部署过程的成本,人员填坑和挖坑的能力评估,这些都不仅仅是钱能解决的;一如小时候的习题,开水管蓄水的管子开着,下水的漏水管开着,不同的流速,何时能把水池中的水都放掉?其实永远放不掉,不过是我下水的能力超过的灌水的能力罢了;就像是不那么高级的工程师在工程里挖各种坑(拉各种屎),直到有一天自己受不了了,怕怕屁股走人,老子不陪你们玩了,换下一家工资涨一点,但继续往别人的系统里拉屎。这个时候不同的角色会有不同的反应和处理手段:

  • “高级”工程师
    • 频繁检查,时常做code review,纠正错误,维护代码,直至给领导打“小报告”
  • 架构师
    • 制定详尽的手段控制代码不至于太乱,即便是垃圾一样的代码,影响面更小,把损失控制在可控范围内,更考验架构师的设计理念如何通过系统的设计去实现、去控制
  • 经理
    • 制定专门针对此类问题的标准、制度,以更抽象的方式去约束,可以有正向的激励典型和负向的惩罚措施匹配使用

其次,关于软件架构的设计,不太像是一个工程化的产物,我现在更愿意将其定义为一个哲学化的社会实践活动。这里面有工程化的导向,有组织的形态的考量,有管理手段的达成:

  • 工程化的导向
    • 这里不用说太多,无非是如何多快好省的解决业务问题
    • 如何在现有条件下考虑非功能性需求,为可能看得到的未来打下基础,切勿冒进,过度设计,别在未来没到之前就被技术拖死了
  • 组织形态的考量
    • 包括绩效考核,各岗位之间的融合、协作
    • 如:前后端分离是如何分离,你中有我、我中有你、老死不相往来?接口的定义哪一方为主导?
    • 如:测试,集成测试,模块间的调用,是模块的负责人写用例,提供数据准备么?Mock测试,是调用方提供期望,由服务提供方提供实现么?
  • 管理手段的达成
    • 管理简单的说:防住不该犯的错,鼓励期望的主动、创新之类的倾向性;透过被管理者达成管理者的绩效,什么样的绩效是好的呢,不就是挤的是奶,吃的是草的大无畏么,不就是3.75(阿里巴巴的评价标准)的超出期望么
    • 人员能力永远都是参差不齐,人员性格永远百花齐放,但是人员的合适和不合适却是2/8原则,即有20%的同学一定是整个团队中拔尖的,另外80%的同学也许是还没开窍吧。
      • 从人口的比例来看,如果管理的动作可以充分提高80%的同学的效率(包括质量和速度),对于经理的绩效达成是有明显的作用的,而且这80%的同学多数时候仅仅是不得要领罢了,对于提高是相对容易的。
      • 而另外的20%的同学自己就能很好的找到提升自己的方法,放任自流即可、资源倾斜就好,从80分提高到90分相对容易,可是从90分网上每提高一份也许都要付出成倍的努力
      • 经理们,你们会怎么选呢?
    • 即,透过软件架构的方式帮助经理更易于管理团队,为每个人找到定位,且永远为每个人开放上升通道,这个时候仅需要贯彻,No BB,Show me your code.
    • 例如:定义好系统中每一次的接口调用,每一条必须收集的日志,定义好每个需要严格校验的入参,用工程抽象的方式做集中管控;同时为每一位开发人员在遵照规范执行提升工作效率(早下班),提升质量(少bug),切实感受到遵循规则的价值。

再次,我在软件领域见过太多的极端主义者,对自己足够狠,对其他人就更加的狠;比如:曾经一个老同事在为了提高效率,逼迫自己完全不用鼠标,这样就可以省去手移动到鼠标的过程……这大概是鼠标这玩意被发明出来被黑的最惨的一次吧。当然,我自己也在他的胁迫之下,尝试了一段时间,却是可以提高效率,但是对于我来说我是一个“懒人”,很多的时候我会逼迫自己去“偷懒”,用于尝试不同的情况下会有怎样不同的效果,也许有不同的思考也未可知。

最后,这一个月里干了不少的“坏事”和“错事”,当然都是在其他人眼中的;作为这三个角色的承载者,当对某人、某事得出结论的时候就要勇于去选择,用当前看似成本高、风险高的方式去处理,因为我深知问题不会随着时间的推移消失不见,只会视而不见;那不是我,至少不是现在的我,小团队的管理有小团队管理的方法,不需要团队的负责人做一个好人,这个时候就算是霸道点、独裁点,也没什么坏处,如何能兼顾当然就更好啦。

这一个月放掉了俩个人,选了一个能力更好的,差不多用两个人的薪水换一个人;直接杀入一线写代码、改代码,从细节入手,这个时候要了解一个人、一个系统要深入到毛细血管才能真正了解,否则很难全面。这时候又可以凡尔赛一下了,基本鄙人顶着38周岁的“高龄”,依然可以深入一线,依然可以效率高过25-6岁的小伙子,花了一点点时间更新了武器库的版本,且透过不同的手段更丰富了我的武器库。

总结来说解决技术问题未必要用技术手段。

最最后,职业生涯至今我一直以来对待工作的态度都是我热爱、我奋斗、我有所得,身边却一直有另一种声音在萦绕:你不过是有的选,很多人是没得选,有家庭的问题啦,出身的问题啦,各种各样的问题。

我必须承认,我运气特别好,得益于我的家庭教育,我母亲是我见过最勤劳的人(无论男女),我父亲算是中国第一代的程序员(55年生人,编程主要以汇编为主),在我很小的时候就接触到计算机,从小就捣鼓各种电子产品(以搞破坏为主)。可是我身边的朋友,邻居的小孩大多我和一样啊,但我们走的路却不同啊。我身边的同事也和我同样薪水啊,但我们选择不同啊。所以,我至始至终都认为我是因为热爱而选择了工作,这就是我愿意为之付出一切的事物啊,所以我从来不信什么出身,我只信我投入比别人多,我并不聪明,我不过是比其他人付出更多的努力,而且我很持久,这么多年持续努力,我不过是得到了我该得到的;也正是因为这样也会有人利用这一点,“欺负欺负我”,不过我热爱我的工作,我不觉得是欺负罢了。

回身一看居然写了这么多,也算是有些话不吐不快吧,各位看官辛苦了~~~

写于照母山家中

2021.05.01

坚持原创技术分享,您的支持将鼓励我继续创作!