提升做事效率,在计算机研究上,提升研究解决问题的思路,提升解决问题的方法。时间始终是有限的,需要将做事效率提升,才能在更段时间有更多产出,以及更多收获。
读书也是一样,对于技术知识性图书,要抓住根本,抓住脉络去读。不要一下子迷茫在各种各样书里面,却获取不到知识。读技术书籍效率提升,合理使用目录,要区分按需读书和泛读之间区别,需要解决某问题时需要精读,需要大略了解领域可以泛读。
个别技术人根本不读书,那基本能在工作中获得进步就很少了,只能是根据以往知识进行不断输出,不断进行重复工作,而进步甚少,时间长了还会不断退步,这种是不可取的。
对于技术书籍要怎么读,也是一个复杂问题。比如java领域有netty、Spring、Tomcat、java数据结构、微服务、java虚拟机、java并发编程、java性能优化,还有各种疯狂java讲义、15天精通等各种各样书籍,这些书籍包含各个领域,如果没有选择去学习会迷失在其中。
要识别当前紧要问题是什么,需要技术是什么,有的放矢的去学习相关技术。比如最近要用微服务,就要将微服务整个原理和使用好好了解一下,再有就是将大部分微服务架构设计好好了解一下。这样能在工作中快速使用起来,在使用过程中在不断加深认知。
对于领域技术知识要不断学习,才能提升做事方法,不然提升不了做事方法。会产生一种只是用重复方式做重复的事,而人的能力没有提升。这样造成时间浪费。
要了解软件工程,越是复杂系统,越需要有严格流程,需要有严格测试,包含自动化以及人工测试,需要有严格压力测试,需要有比较全流程以及人员配套措施。才是能将研发任务完成的基础,复杂系统不单单是研发人员能力强就够了,当然研发人员能力肯定是需要的。
技术调研效率提升,需要提升对于技术脉络把握,能够提升达到调研目的,如果掉进调研问题漫无目的搜寻,会导致迷失,以及进度慢、或者根本达不到调研目的收获很小。
认识业务问题,识别业务本质问题,识别问题复杂性,识别本质复杂性,计算机本质复杂在于多个问题交织在一起,问题既包含业务问题复杂性,也包含技术的,形成复杂问题,这是计算机软件系统本质。
比如我们要做一个分布式存储系统,需要掌握存储知识包含cpu缓存、内存、磁盘等存储知识,还要理解高性能网络框架,还要理解多线程编程,要掌握锁知识,前边更多是单机相关内容,还要掌握分布式相关领域内容比如CAP、分布式锁、共识问题、分布式事务等等问题,并且这些问题还是交织在一起将问题复杂性成指数型提升,从而形成一个难实现系统。
对于软件研发,需要不断掌握其核心脉络,才能不断取得进步,完全不学习或者迷茫的去学习都是不太可取的,希望对大家有启发。
原文 https://mp.weixin.qq.com/s/pkYGMqtNfbWOkbT03jig4Q