天天看點

17.跟金根回顧靈活個人:技術研究之道

  這本書是我幾年前看的,具體的忘記了,下面隻說一些還記得的相關内容,可能和書中不一樣,對原著感興趣的可以去看原書:

理論越是适用于簡單、抽象的問題,越具有價值,KISS(KeppitSimple,Stupid)原則正是我們像外行一樣思考的基本原則。

當自己都覺得不簡單時,就需要考慮加深自己的了解,并考慮如何更抽象簡化一下

在解決問題時,能準确地限定問題的關鍵點,将會非常有效。

錘煉構想的方法就是跟他人交流,在交流中進行驗證。交流方式有很多種,直接和身邊人溝通、上技術論壇交流、使用别人的軟體看别人如何做的等

解決問題的兩大必要條件:首先要有好的思路,如果方向不對,再怎麼努力也無法到達目的地;同時,紮實的基礎、毅力、效率也是非常重要的,否則就隻能是空中樓閣、紙上談兵。我在這裡說的方向,不是說你的想法思路必須進行嚴格的驗證,而是指研究人員在做研究之前至少需要明确目标,并對自己的研究結果有信心。

解決問題的階段:

描繪問題:仔細、反複地思考問題是怎麼産生的(多問幾個why),從什麼地方入手最容易得出答案(試用第三方成熟軟體是一個我認為非常好的途徑)。

廣泛收集材料,打好解決問題的基礎。對問題進行歸類,對于與問題本質無關的可以暫時不考慮。

培養解決問題的基本能力:從簡單入手,逐漸提高自己解決問題的能力,由淺入深,長時期的關注會讓問題越來越簡單。

增強解決問題的能力:多做嘗試,多找些問題來試,慢慢深入問題,逐漸提高解決問題的能力,要像纏繞細銅絲一樣,一圈一圈慢慢纏繞,才能形成銅線圈。提高能力的過程,是不能中斷的,一旦停止,已經積累起來的能力就會土崩瓦解。

獨創不是靈光閃現出來的,而應該是經過長時間的思考最終得出的結果。我們不能指望剛進行研究就出結果,而應該以持續的努力去做研究。

知覺、思考、行動都源于“經過了解的記憶”,如果我們把他人長時間研究得出的成果總結記憶下來,不僅高效便捷,也能為自身的思考打下堅實的基礎。

培養思考能力是養成“像外行一樣思考”的必經之路,記憶與反複學習是“像專家一樣實踐”的力量源泉。

不能把研究工作當作一件很嚴肅的事情,應該把它當作一件有趣的事情去做。這裡說的有趣,是指精神上的放松,但内心仍然要認真對待。這點其實很重要,我也深有體會,因為隻有你覺得有趣,你才會容易堅持,否則苦的是你自己。

表達自己的想法、說服别人實踐、國際化時代的講演、會話、寫作能力,這部分内容後面我會單獨介紹。

  外行不關注實作的難度,關注的是目的和要求,像外行一樣思考,不僅是創新的一種途徑,也是保證現有工作更有價值的一個保障,是以當技術人員面對需求人員提出的很多問題時,不要立馬去反對别人,而應該以贊賞的眼光去看别人。 而專家目标遠大,做事嚴謹,技術人員都要力争專家,對具體實作嚴謹,最終能不能作是一回事,但是對待外行的意見應該是贊賞的,而不是對立的。

  在很多情況下将自己定位在一個更高的層次上去看問題,要把自己的視野拓寬,做事時要回歸應有的定位。  

  在2006年時研究過一陣子平台,第一期任務主要是做報表,自認為這個工作做得還是自己很滿意的。在2007年時也給大家分享了一下我的研究方法,感覺這些方法正好和本篇blog主題吻合,是以在這裡就把他粘出來和大家分享一下。如果上面小節像外行一樣思考,像專家一樣實踐是了解作者的見解,那下面的就全是我個人的心得。

為什麼要學習(why):學曆代表過去,經驗代表現在,學習能力代表未來

學什麼(what):學以緻用

怎麼學(How):高胖高(先深度再廣度,再深度,依次螺旋)。隻要認定what是好的,可以通過主動、被動、強迫三種方式去學習。

選擇研究重點:先從架構角度  分離關注點,分人或者疊代進行研究重點

重點研究選擇:對決定後的選擇  進行重點研究,從案例、産品、模型、應用等多個角度去考慮這些重點

驗證明踐選擇:考慮如實作和應用這些重點

業務驅動技術、技術帶動業務

合理使用現有資源,不要重複發明輪子 

借鑒專業軟體公司産品,開發适合公司的産品。

在對新技術進行實踐過程中,最好采用疊代的方法,快速看到能運作的程式可以更好的進行産品管理并增加自己的信心

适當的文檔工作能夠幫助理清思路

      1. 領域分析

         a)  領域定義

              i. 目标和風險承擔者分析。此活動的工作量依賴于項目的大小和上下文。

              ii.領域範圍界定和上下文分析

                   1.應用領域和現有系統的分析

                   2.領域特征的确定

                   3.與其他領域關系的确定

         b) 領域模組化

              i. 關鍵概念的确定

              ii. 關鍵概念的特征模組化(共同點、可變性、特征依賴和特征互動)

       2. 領域設計

         a) 整個實作架構的确認和規範

         b) 領域特定語言的确認和規範

         c) 配置知識的規範

       3.  領域實作(DSL、産生器和實作元件的實作)

       4.  領域測試

 本文轉自 陳本峰 51CTO部落格,原文連結:http://blog.51cto.com/zhoujg/940607,如需轉載請自行聯系原作者