关于技术层面的4点研发经验
极客时间编辑部
讲述:初明明大小:4.59M时长:05:02
你好,欢迎收听极客视点。
对开发同学而言,技术是立身之本。不管是基本的动手能力还是问题分析能力,包括你的思维逻辑乃至对事物认知的能力,技术思维都会时刻影响你。最明显的影响就是当你面对无数个问题的钉子时,技术是不是你最顺手的那把锤子。
稳定性
稳定性是一个先有意识再有能力的事儿。张雪峰加入饿了么担任 CTO 之后,从他嘴里最常听到的一句话就是“研发要对生产环境有敬畏”。
我曾在新乡的客服中心看到有的客服同学突然崩溃,因为他们每天会接收到大量用户的来电责问,而就在那一刻,你才会清晰且直观地感受到:你在编辑器的每一行代码,你在服务器的每一次发布,都对现实世界中很多活生生的人有直接影响,你会突然意识到你的工作比你之前以为的要重要且有意义。
所谓研发要对生产环境有敬畏,就是你知道你的作品会对别人产生不好的影响,你会为不好的结果感到惭愧与内疚,这就产生了敬畏。应急处理有一个基本原则:“以业务影响最小为主,优先恢复为核心目的,不要纠结手段和根因。”
别把你的懊悔、决心、对稳定性的思考、各种奇妙的 idea 以及执行力体现在事故复盘会上,系统的安全生产和火灾一样,事前才有意义。
链路设计
大部分产研缺少全链路视角,只看到自己负责的点,但是对于一条线乃至整个面是看不到的,也没有机会去思考这些,而对于一些大项目和长链路系统而言,这是致命的。
我的建议是,对你所负责的系统,它关键的上下游、核心业务的链路一定要熟悉,包括数据、接口(调用、功能、逻辑)、各种异常的处理和特殊的设计。达成这一目的最简单的办法就是画图,一定要有把系统大图画出来的能力,能够根据大图随意放大和缩小。放大到将链路画到业务场景里,突出业务逻辑和上下游交互,缩小到某一次调用的处理逻辑大致是怎样,数据是怎么变化。
经常画图,不用纠结形式和标准,重要的是形成自己理解系统的框架、思维方式,需要的时候可以随时拿出来用。
技术债务
永远不要骗自己说,现在为了这个需求先挖一个坑,过一段时间再来填(重构 or 重做)。
技术债务和金融债务一样,它必然存在,隔三差五会爆发一下。随着时间的推移和业务的发展,你会发现架构越来越混乱,不同系统的领域边界越来越模糊,系统和需求与组织关系的映射越来越复杂,服务内编码风控越来越不一致,重复的轮子一个接一个地出现。
我们经常会听到这些声音:“太忙了没时间梳理那些问题”、“改那些问题需要上下游一起改,费时费力,推不动”、“现在还没出问题,而且正在整理了,别催”。其实,技术同学多少都有点代码洁癖,有很多问题不处理不是主观的原因,而是客观上因为精力、时间、ROI 等因素,往往要等问题真的爆发后,大家才能狠下心去处理那些问题 。
我以前处理技术债务的思路,是要有一个检查清单,我会定期复盘所有的系统,并且结合自己团队和其他团队的事故去全量扫雷。系统本身是一个平衡的产物,是时间、功能、风险、未来可能性等几个方向平衡的结果。所以技术债务对于研发同学的考验,不在于你怎么在日常工作中保证系统技术债为 0,而是你要评估清楚在有限的资源和时间下,哪些问题是刻不容缓的,哪些问题是可以往后放的。
警惕大项目
并不是所有人都有能力操盘大项目,也不是所有人都能够平衡好交付压力、上线质量、产品逻辑以及时间窗口,这是一个非常有挑战的工作,需要纯粹的技术能力之外的很多软性能力来辅助,比如沟通协作能力、向上要权要责的能力、平衡产品业务期望的能力、突发情况应急转变的能力等。越大的项目对于 Owner 的要求也越高,真能把大项目做好不怎么留大坑的人少之又少。
大项目从启动到立项所用的时间很多时候是远超项目实际的开发周期的,项目的顺利推进需要“妥协”,但项目的成功需要坚持。很多项目之所以失败,是在做的过程中方方面面不断妥协,最后做出来的东西已经远离了最开始想要的样子。
以上就是石佳宁关于技术层面的研发经验,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论