提升認知,提高研發效率
提升做事效率,在計算機研究上,提升研究解決問題的思路,提升解決問題的方法。時間始終是有限的,需要將做事效率提升,才能在更段時間有更多產出,以及更多收穫。
讀書也是一樣,對於技術知識性圖書,要抓住根本,抓住脈絡去讀。不要一下子迷茫在各種各樣書裡面,卻獲取不到知識。讀技術書籍效率提升,合理使用目錄,要區分按需讀書和泛讀之間區別,需要解決某問題時需要精讀,需要大略瞭解領域可以泛讀。
個別技術人根本不讀書,那基本能在工作中獲得進步就很少了,只能是根據以往知識進行不斷輸出,不斷進行重複工作,而進步甚少,時間長了還會不斷退步,這種是不可取的。
對於技術書籍要怎麼讀,也是一個複雜問題。比如java領域有netty、Spring、Tomcat、java資料結構、微服務、java虛擬機器、java併發程式設計、java效能優化,還有各種瘋狂java講義、15天精通等各種各樣書籍,這些書籍包含各個領域,如果沒有選擇去學習會迷失在其中。
要識別當前緊要問題是什麼,需要技術是什麼,有的放矢的去學習相關技術。比如最近要用微服務,就要將微服務整個原理和使用好好了解一下,再有就是將大部分微服務架構設計好好了解一下。這樣能在工作中快速使用起來,在使用過程中在不斷加深認知。
對於領域技術知識要不斷學習,才能提升做事方法,不然提升不了做事方法。會產生一種只是用重複方式做重複的事,而人的能力沒有提升。這樣造成時間浪費。
要了解軟體工程,越是複雜系統,越需要有嚴格流程,需要有嚴格測試,包含自動化以及人工測試,需要有嚴格壓力測試,需要有比較全流程以及人員配套措施。才是能將研發任務完成的基礎,複雜系統不單單是研發人員能力強就夠了,當然研發人員能力肯定是需要的。
技術調研效率提升,需要提升對於技術脈絡把握,能夠提升達到調研目的,如果掉進調研問題漫無目的搜尋,會導致迷失,以及進度慢、或者根本達不到調研目的收穫很小。
認識業務問題,識別業務本質問題,識別問題複雜性,識別本質複雜性,計算機本質複雜在於多個問題交織在一起,問題既包含業務問題複雜性,也包含技術的,形成複雜問題,這是計算機軟體系統本質。
比如我們要做一個分散式儲存系統,需要掌握儲存知識包含cpu快取、記憶體、磁碟等儲存知識,還要理解高效能網路框架,還要理解多執行緒程式設計,要掌握鎖知識,前邊更多是單機相關內容,還要掌握分散式相關領域內容比如CAP、分散式鎖、共識問題、分散式事務等等問題,並且這些問題還是交織在一起將問題複雜性成指數型提升,從而形成一個難實現系統。
對於軟體研發,需要不斷掌握其核心脈絡,才能不斷取得進步,完全不學習或者迷茫的去學習都是不太可取的,希望對大家有啟發。