1、首先,苦恼来自于追求完美。
程序员总是将做事的方式向追求完美的方向调整,然而现实是产品目标更加重要。
2、其次,苦恼来自由他人来设定目标、供给资源和提供信息。
这其中既有责任与权威不匹配的问题,也有信息不对称的问题。对于程序员而言,他所承担的责任总是大于他所拥有的权威,然而这都是暂时的,在现实情况中,实际的权威来自于每次任务的完成。对于架构师而言,供给的资源由项目管理人员或者技术总监来决定,需求信息都是由产品经理来提供,也就是资源不对称和信息不对称。
对于系统编程人员而言,对其他人的依赖是一件非常痛苦的事情,微服务架构尤其如此。
3、概念设计是有趣的,但寻找琐碎的bug却是一项重复性的活动。
调试和查错往往都是线性收敛的,但对复杂业务,尤其业务流程跨越10个以上的微服务时,调试和查错会非常耗时。结果就是寻找最后一个错误比第一个错误将花费更多的时间。
4、当投入了大量的辛苦的劳动,产品终于完成了,却发现已经落伍了。