架构思考读书笔记 一

不停变化的技术

软件技术从诞生到现在仅有几十年历史,还在高速发展的阶段,每月每周甚至每天都有所谓颠覆性的新技术诞生,为了保持自身的竞争力,我们这些技术狗该如何应对?

需要认清以下几点:

  • 新技术层出不穷,但是保持顽强生命力的九牛一毛,没必要不停追逐;

  • 新技术是否可以推广,需要看它是否解决了现有技术的普遍问题,是否是通用的解决方案,以及性价比是否合理;

  • 技术的合理发展路线是在不断迭代中向前演进,站在巨人的肩膀上创新,如果有一项技术宣城全新的并且具有颠覆性,一定要慎重对待;

  • 对工作,结合当前遇到的问题,寻找有效的通用解决技术,永远不要为了上新技术而更新;

  • 对个人,对新技术保持敏感,过滤掉大量干扰,业余时间投资具有竞争力的新技术,完善自身技术体系;

从过去学习

传统行业的失败案例,会在业界迅速传播,并学习,而且固化到具体的执行条例;但在软件行业,还远远未达到这个程度,人们只乐意传播那些所谓的热点和成功的明星,却很少坐下来一起分析总结那些失败的软件,从而吸取其中的教训;

  • 定期进行总结,不管是自己的项目,还是接触的其它项目;

  • 找出问题发生的原因,分析应对或规避的策略;

  • 将经验进行固话,形成软件框架、库或设计、开发行为准则,并进行推广;

其实新旧技术的对比也可以参考这个方式,如果一项新技术出来,宣城要代替某一项已有技术,你需要仔细分析以下几点:

  • 已有技术的缺点,以及新技术是否很好的解决了这些问题;

  • 已有技术的长处,新技术是否继承或加强;

  • 新技术是否存在我们已经总结出来的那些问题(反模式);

  • 新技术是否存在新问题;

对待别人犯的错误

正确对待别人犯下的错误,需要仔细思考这些错误我自己是否也会犯,并且这些错误也可以固化到准则中,避免后来人犯同样的错误;

要制造氛围,大家都乐于分享错误并总结,只有这样的团队才能不断进步;

不要进行预言

软件技术的发展无人可以预测,不要轻易断言明年会怎么样,重要的是做好当下;

  • 结合当前情况,在架构设计时留有适量余地,为现在而设计,而不是为将来而设计;

  • 设计时考虑成本,不做无谓的浪费(比如小系统上负载均衡、容灾等);

已有技术的价值

人们总乐于追逐新技术而抛弃老技术,事情没有绝对,一个老COBOL工程师的月薪可能定十个Java程序员;

以下几点:

  • 过时技术,掌握的人极少,但可能存在大量遗留系统需要维护,供需关系决定这些人的待遇可能更好;

  • 当下流行技术,用的人多,工作选择范围大,但也意味着竞争激烈,供大于求,求职者话语权不足;

  • 下一代技术,学习成本高,工作范围小,但可能是下一个风口;

  • 未来技术,留给未来,偶尔关注即可;

个人建议:

  • 已经掌握的技术不要丢,说不定还会有新启发,可能会有惊喜;

  • 当前正在工作中使用的技术,是个人竞争力的主要载体,多花时间,深入研究,技术是为需求服务的;

  • 新技术保持跟踪,针对目前工作改进的一两项新技术进行预研;

知之为知之

  • 你知道自己知道的: 保持谦虚,没什么大不了的;

  • 你知道自己不知道的:保持上进,选择性的学习;

  • 你不知道自己不知道的:保持谦虚,主动,多和别人交流,不断扩大自己的知识面;

实践

  1. 选择一项曾经吹过牛逼,但是最终消失的技术。思考以下几个问题:
  • 它为什么会失败?

  • 它缺少什么特质?

  • 它应该怎么做,才会改变这个结果?

  1. 选择一项曾经吹过牛逼,但最终变成现实的技术。思考以下几个问题:
  • 它是怎么做到的?

  • 如果它怎么做,会造成失败的结果?

  1. 基于现有的技术趋势,你认为明年哪想技术值得投资?为什么?

  2. 基于现有的技术趋势,你认为明年哪想技术不值得投资?为什么?

架构思考读书笔记 一
架构思考读书笔记 二
架构思考读书笔记 三
架构思考读书笔记 四
架构思考读书笔记 五
架构思考读书笔记 六

你可能感兴趣的:(架构思考读书笔记 一)