做爲一個程序員很是重要的的能力就是解決問題的能力,固然除了解決問題以外,還有一個常常被疏忽的能力-發現問題的能力。程序員
一套有效的解決問題的能力很是重要,下面是一個解決問題的通用方法。框架
理解問題 必定要把問題的背景、關鍵點理解清楚,達到能跟任何人說清楚這個問題就足夠了。google
拆分問題 一般要解決的問題比較大,直接思考如何解決是很難的,那麼咱們能夠把問題拆分紅若干個小問題,而後針對小問題尋找解決方案。當小問題都解決了,大問題天然就解決了。程序
解決問題過程當中遇到困難 在解決過程當中若是遇到實在解決不了的困難能夠尋找一下同類型問題已有的解決方案,經過周圍人、論文、書、google等均可以。相信你須要解決的問題很是大機率別人都解決過。 還有有時候很是頭疼的時候休息一下、回退一下,換個思路去想。方法
過後總結 必定要把問題和解決問題的方案過程過後總結,融入到本身知識體系框架中。就算解決完了,也能夠去了解是否是有更好的方案、其餘解決問題方案和本身這個對比有啥優劣。技術
作技術的可能很是熱衷於解決問題,而且也擅長解決問題。每每忽略的就是發現問題的能力。若是能培養出發現問題的能力是否是比別的技術同窗會有競爭力?總結
多輸入、擴寬知識面、 不少時候創新源於已有的兩個不一樣領域的結合。當你瞭解的越廣,看事情思考角度就會越多,能看到的問題點也會越多。思考
多思考、養成自問爲何的習慣 不少平時習慣的了事情會就是這樣的,徹底沒有相關爲何會這樣,若是是那樣會怎麼樣? 想象力和思考很關鍵。解決方案
找痛點、發現不爽的地方 積極尋找周圍讓你不爽的地方,思考爲何會這樣,有什麼辦法能理解。工作
在擁有了解決問題的能力的同時擁有比別人更強的發現問題能力,工做中的競爭力就更強了,不可替代性也會更強。