软技能

如何定义一个现代后端工程师?

  1. 在领域内精湛的技术造诣和丰富的经验

  2. 技术上的远见和整合能力

  3. 广泛的技术知识,不做基础组件,不代表可以不精通它

  4. 熟练的编程技巧和细节把控,要写的一手好代码

  5. 熟悉信息的表示方法,了解主流的和常见的国际标准

即具备技术整合能力,也通晓技术细节,从而实现技术驱动业务。

作为一个后端开发,如何去提高自己的驾驭复杂业务逻辑的能力、设计能力和抽象能力?如果接手一个稳定性不够好的系统,如何收敛复杂度,逐步提高稳定性?

驾驭首先要做到通晓。了解所有业务逻辑的来龙去脉,知道一些典型系统设计方案以及其针对的问题,还有优劣比较。接触过一些实际的系统。在此之上,才有可能把合适的设计套用到当前的业务逻辑上,把现有的业务逻辑抽象成一个已经存在(部分)解决方案,或更经典的方式。

接手一个稳定性不好的系统,如果没有足够的时间从头设计、完全重构。那么至少要知道影响稳定性的几个关键要素,然后根据重要性、紧急性和解决问题需要的资源(时间、技能集、人等)进行优先级排序,逐个击破。对于所有的改善型动作,确保有适合的评测和监控,这样能够知道不同的措施效果到底是怎么样的。

如何接手一陀比较烂的业务代码?

最后更新于