一、
上學的時候,老師一遍一遍的告訴同學們:“有問題要多問,有個成語叫“不恥下問”。回到家里爸媽也告誡我們:“要多問老師問題,老師最喜歡問問題的孩子了。
”離開了學校以后,家里長輩也常說:“嘴巴長在你嘴上,要多問”,不是有句話嘛,叫“路在嘴邊”。
關于這些大道理出自何處,到底有沒有道理。暫且不去討論。關鍵是,我們真的領悟到問問題的本質了嗎? 還是為了問問題,而問問題。
現在時代變了,有些問題老一套的方法并不一定正確,就算正確也不一定是高效的方法。就算是高效的方法,我們用了以后,也許很快就忘了。
二、
最近我在學習JavaScript編程語言課程,老師為了大家學習,建立了微信群。群里面大家的討論也是相當的熱烈。
新手學編程,自然會遇到很多問題,大大小小,千奇百怪。老師也自然是鼓勵提問,不管問題有多LOW,都沒問題,只管提問。
因為群里小白學生眾多,大家在基本操作上很容易遇到共性的問題,老師為了統一解答這些問題,將基本的一些后臺,代碼操作知識,給寫成了一個一個的文檔,文檔的內容非常的詳盡,且通俗易懂。老師把它放在公共平臺上,讓大家去閱讀,去理解。
可是就這樣,還是有人在群里提問那些基本的操作問題。大家一看就知道這位同學,沒有去看文檔,或者沒有仔細看文檔。
碰到這樣的情況,老師也是無奈,但是又不能不理會,只能再一次解答。可是過了幾天后,這位同學又將操作方法給忘記了,又來問老師。老師也是一臉無奈,直接把文檔的鏈接拋給他。
隨著課程的加深,大家都在討論新、更復雜的問題時。還是會有一小戳人來提問老師文檔里已經總結過的基礎問題,這時,群里面直接就給忽視掉了......
這類同學而且不止一個,總是在這些基礎的問題上反復詢問,到最后,做測驗,他們的成長也是最慢的。
還有一類同學,他們很少,或者基本上不會去提問那些基本的操作問題。他們不但不提問這些基礎的問題,反而去主動去解答小白們的問題,都成了老師的助手了。這類同學就跟我們上學時的“學霸”一樣一樣的。
難道是他們太聰明了,沒有遇到基本的問題?
No,大家都是一個起跑線過來的,都是從來沒有接觸過編程的人,怎么可能不遇到基本的問題呢。后來才了解到,學霸也一樣會遇到基礎的問題。甚至有一些很low的問題,學霸也會遇到,比如字母大小寫搞錯了,標點符號寫中文的了,甚至文件不保存,直接就點擊運行,結果運行結果顯示“出錯了”,這些又基礎,又low的問題,學霸也會遇到。
但是“學霸”跟那些,動不動就喜歡“拋問題”的同學最大的區別就是:“學霸知道如何查資料,如何思考,如何排查出問題,最終找到答案”。因為他們有主動學習,且主動思考,所以他們的進步也是最快的。
學霸們遇到的問題以后,首先會去老師的文檔里去找解決方法,老師的文檔里找不到的,他們回去網上搜,查資料。然后在一步一步調試自己的代碼。
最后,還是搞不定的,再去問老師。因為他們向老師提問了“高質量”的問題,曾不止一次的被老師當眾表揚。
三、
那些老是喜歡一遇到問題,就隨手拋到群里的同學,貌似看上去“不恥下問”,實質上與“伸手黨”,沒有任何區別。
為什么大家到后來直接忽視這類“不恥下問”的同學呢?
首先,程序員這類群體,大部分都是性格比較耿直,直來直去。再個,“伸手黨” 的提問,在別人看來是在浪費自己的時間,或者感覺到了自己的時間不被尊重,所以,直接就忽視掉了。
“學霸” 們的問題,之所以收到老師贊揚,因為他們的問題,是經過自己反復查找資料,且思考了許久,他們再提問時,不但給出了問題,還給出了問題出現的背景,且給出了自己思考的一些結果,雖然這些結果可能是不對的,但是,對于老師來說,這已經是難能可貴了。
“學霸”提出的問題,老師基本上都是要琢磨一會,然后才給出方法。看上去學霸是在問老師問題,實質上實在同老師探討問題。
四、
如何才能像“學霸”一樣提出高質量的問題,快速提高自己的成長呢?
根據,對學霸的觀察:
第一,高質量的問題一定是自己先前查找過的,并思考過,且沒有找到答案的。
現在的搜索引擎那么發達,國外的就不說了,國內的網絡搜索就很發達,90%的基本問題其實都是可以通過網絡搜到。
比如,你碰到一個不會讀的單詞,你一上來就去問身邊的人:“哎,這個咋讀?”
這個時候,別人處于禮貌,一般會馬上告訴你答案。
如果,你又碰到了第二個,第三個單詞,又去問。別人有可能就會極不耐煩的告訴你:“臥靠,你不會買本字典啊。”
就算別人嘴上回答了你,但是心里面也是會很反感。因為,你的問題太傻瓜,他會認為你你浪費了他的時間,不尊重他。
對于大多數人來說,都是喜歡回答別人提問的。只不過這個回答僅限于回答聰明的問題。沒有人喜歡回答一個即傻瓜,又愚蠢的問題。
其實大多數問題,在網上,我們都能找到答案,且不止一個人回答。
有些問題,雖然網上給不了直接答案,比如“數學題”,數學題的答案,就非常嚴謹,且唯一。要么是“1”,要么是“2”。
通過網上搜索查資料,不可能直接得到準確答案,除非所有題干條件都一模一樣,雖然得不到答案,但是我們一定能找到相關的解題思路。
有了思路,我們再根據自己問題的實際情況,去分析,自然水到渠成。
二、提問問題時,一定要說清楚問題的背景,以及你已經為此做出了哪些努力。
在學習JavaScript編程課時,有很多同學在寫完代碼后,運行代碼結果時,會顯示 :“”not found,或者error。”
于是,很多人就會向群里老師,同學請教,提問的時候僅僅就把結果的截圖給拋了出來
這個時候,熱心的老師,或者“學霸”就會提醒同學,“這位同學,不要那么摳門,學大方一點”。
意思就是說:“截圖的時候,把整個代碼流程盡可能的多截出來,這樣才便于別人分析原因,你直接拋一個 error結果,鬼知道咋回事啊。”
在向別人提問時,我們要把問題出現的背景,詳細的說出來,因為不同的背景下,問題出錯的原因也是不一樣的,同樣的,因為背景不同,答案也會不一致。
在別人幫我們分析問題時,要及時跟對方溝通,我們為解決問題付出了哪些努力,比如查了多少資料,自己思考的結果告訴對方。
這樣做,便于別人提高解決問題的效率,同時也會感覺自己受到了尊重。而不是像回答單詞讀音一樣,感覺自己浪費了時間。
學會提問問題,從本質上講,就是要培養我們主動學習的習慣。而主動學習,著重體現在自己主動的去解決一個又一個問題,這也是快速提升自己的一個終極大招。
在提升自己技能的道路上,我們還會遇到很多問題,愿我們都能快速成長,拒絕做一枚“伸手黨”。