一、解决真实问题很重要
先给你讲个故事。多年前刚参加工作时,刚转正不久就被派到客户现场解决一个紧急问题,对于一个刚入职场的新人小白来说,内心其实是非常惊慌无措的。
刚开始还算顺利,前辈同事们已经大致定位到了问题原因,也做了一些补救措施,貌似已经没有问题了。但不久后的一天凌晨,在同步数据的过程中,系统突然就失灵了,重启之后,问题仍然出现。此时,部分数据丢失,而且客户开始越来越没有耐心。
而后,另一位架构师来一起开始排查问题。合作时,发现他熟练地通过各种 Linux 命令在线上环境查看性能指标,dump 出日志文件,查看源码,然后分析原因,定位问题,制订解决方案。其中,还特别针对丢失的数据如何进行正确地恢复做了非常详细的操作说明,作为一个新手小白,按照这个操作手册就能完成数据的恢复。那是第一次深刻感受到解决真实问题的重要性。
二、应该重视程序设计的基本功
这些年在生产环境中遇到的事故越多,越能深切体会一句话:代码质量既是设计出来的,也是迭代优化出来的。换句话说,无论是前期的产品需求分析、架构设计,还是后期的详细代码设计与编码,都离不开良好的设计。
程序设计是每个程序员的基本功。但是,大多数人都只是对新技术充满热情,却很少有人愿意沉下心来,花几个月甚至一两年的时间来重温基础知识,修炼基本功。在面对所谓“新技术”的浪潮下,他们一直看不透背后隐藏的朴实规律,只是东一榔头西一棒槌地在原地踏步。
工作近十年间,遇见过