大家一定有體會,在乙個新專案開始時和客戶交流或和team裡討論新需求、新設計文件時,討論的組織者會說如果有問題大家一定要提出來。可是開會的時候總是問題並沒有那麼多,但是一下來開始設計或編碼的時候,覺得好像很多東西都不清楚,問題一下子就全出來了,我們怎麼解決這種困惑。換句話說,如果能有效解決這種問題,自己的能力就會提高一大步。
一般在討論之前,有乙個準備過程,每個人都會拿到自己對應的文件,分析自己這一塊存在的問題。從編碼人員開始,考慮的總是如何去實現,所有提的問題都應當為這個目的服務。那麼要確保編碼的時候沒有問題,之前要怎樣做呢?自然是在編碼之前腦袋裡已經編過一次了。這個時候寫**還早,程式的流程走通就需要其他工具來輔助了,visio也好,word也好,uml工具也好,只要順手的兵器拿來用就行了。這也是我的乙個深切體會,從乙個新手到乙個經驗豐富的人,中間一定要有工具來輔助。人類現在的能力越來越強,從石器時代就明白乙個道理,製造工具並利用工具,使能力無限延伸。
首先將流程圖畫好,scope畫清楚,這時候就開始嘗試將內部邏輯走通了。先按照正常流程走一遍,所有的問題都記錄下來,再考慮一些異常的情況,再記錄碰到的問題。如果有些詳細的東西不夠清楚,盡早請教比你清楚的人,並徵求他們的意見,很多情況下提不出問題是因為自己對這個不了解。內部邏輯走通後,再考慮外部和自己模組打交道的模組進出引數的問題,和他們討論好方案,並有郵件記錄最後的結果。當自己認為這裡的問題都理清楚了,那將scope再擴大一點,其實也是嘗試把自己的能力擴大點,多有整體觀會給工作上帶來很大的好處。
這時候所有scope的人一起討論時,就會有一些重要的問題問了。但乙個人的思維是有侷限性的,也許你想都沒想過的問題,在討論時有人提出來,那就仔細聽,仔細想對策了,如果想不到,問組織者怎麼解決。經過幾次這樣的訓練後,就會知道公司的產品關注些什麼,哪些問題才需要仔細的解決。也要學會問一些經典的問題,比如產品的瓶頸在**,效能如何等等,如同面試的時候經典問題:你為什麼離開上一家公司。
等到這一步熟練後,慢慢將自己的角色和scope放大,從編碼角度,從設計角度,從質量角度,從安全角度,從市場角度等等多考慮。如果哪一天從每乙個角度都能提出很專業的問題,就說明在這個角度的積累深度。我們以前的讀書環境並不提倡一天到晚問問題,但工作裡不提問題就是和自己過不去,有些問題可能對專業人士來說是很淺顯的,但不知道一定要問到知道為止。也許哪一天和最高端的老大開會的時候,你問問題的全面性以及邏輯的嚴密性引起了他的興趣,那恭喜你,機會來了。
程式設計師如何提高自己?
前段時間,不知在哪個 上看到大概是諸如 程式設計師如何提高自己?感觸頗深。在此處,貼出來以告誡自己,要努力做到下述內容中的若干點,尤其是1 總帶一本書,不失為一件又雅又益的事情,俗話說的好 滴水可以穿石 每天看幾頁書,沒準,我也能成為master。1 總帶一本書 無論你花一年或者一周去讀一本書,這都...
程式設計師如何提問整理
國外的程式設計師提的問題或報的bug都非常有規律,每個問題或bug都有非常清晰的標題,正文是環境描述,已經採取了什麼措施 結果,相關日誌,core dump,等等,一般讀完郵件就能非常清楚的了解對方想要表達的意圖和希望你能提供的幫助,而且你也知道該做什麼,如何回覆等等。提問前 1 自己分析問題,查閱...
怎樣應聘程式設計師
找工作也快兩月了,感受頗多,最近看了一篇 怎樣花兩年時間去面試乙個人 的部落格,很有感觸,將自己的想法寫出來。從這一圈的經驗,通過現在網際網路公司招聘的漏洞,總結出一些可以在兩月的時間內得到一家頂級網際網路公司的offer的經驗。簡單來說,成功100分的話,得分組成比例可以如下 1 50分的演算法和...