手機(jī)響了,是一個實施工程師打過來的,說現(xiàn)場的數(shù)據(jù)采集不上來,問怎么解決。我問軟件的版本,儀器的型號,操作系統(tǒng)的信息,具體的問題描述。我告訴他可能是什么原因,給了一個解決辦法,讓他嘗試一下。他試了一下后,說還是不行,又問怎么辦,于是我又給他一個辦法,他又去嘗試了,反饋回來說還是不行,又問我怎么辦。我然后我又給他提供方案,繼續(xù)解決……終于解決了。
這種場景不是一次兩次了,也不是一個人兩個人用這樣的方式解決問題了。實際上,問題并不復(fù)雜,有些甚至很簡單,簡單到只需要把重啟一下軟件就可解決的地步。但是,很多人依然不知道怎樣解決問題。類似的情況還包括開發(fā)人員在編程遇到bug的時候,無法獨立搞定,也一直問同事該怎么解決。
我們部門有個架構(gòu)師,他一直從事的是c++語言的開發(fā)工作,幾乎c++任何方面的疑難問題他都能很快解決。項目上需要使用移動應(yīng)用、大數(shù)據(jù)技術(shù)、java、js、python等不同開發(fā)語言開發(fā)時,他也能從頭很快學(xué)起,為大家指明方向,搭建框架,遇到新問題,總能找到解決辦法將問題解決,保證了項目的進(jìn)度和質(zhì)量。
我時常想為什么出現(xiàn)這種現(xiàn)象?工程師最重要的能力是什么?我認(rèn)為是解決問題的能力。能夠獨立、快速、有效的解決問題,是起碼是一個優(yōu)秀工程師必須具備的能力之一。具備解決問題的能力的人自然擁有了一項自己的核心競爭力。他人解決不了的問題,你能解決;他人擺不平的事情,你能擺平;他人搞不定的麻煩,你能搞定。遇到加薪升職的事情,哪個老板不得想著你?想起一句話,越想越有道理:“搞定就是穩(wěn)定,擺平就是水平”。
如何培養(yǎng)解決問題的能力呢?這個話題可能有些大,我想到以下幾點:
1、首先要有責(zé)任心,把心態(tài)擺正,把這個問題當(dāng)成自己要獨立處理的問題,不要總覺得有靠山、有退路。我清楚得記得有個實施工程師,在現(xiàn)場給同事打電話,說設(shè)備的數(shù)據(jù)采集不上來。后來同事問了一下,原因是采集數(shù)據(jù)的軟件沒有安裝。這真是讓人哭笑不得。就像一個人買了輛汽車,給銷售打電話說汽車怎么踩油門也不動,原因是汽車沒有插入鑰匙發(fā)動起來一樣。稍微有一點知識,用腦筋想一想,就不用出現(xiàn)這種低級的笑話。如果總覺得這個事情即使你不做,也會有人做,來幫你做,那么,就容易出現(xiàn)懶惰現(xiàn)象,往床上一躺,打個電話,讓他人解決,自己在那里睡覺。這種狀態(tài)是不可能有任何解決問題的能力培養(yǎng)出來的。只有把事情當(dāng)成自己的事情,自己要面對和解決的問題,才能踏下心來想怎么解決這個問題,才有可能自己獨立解決這個問題,才有可能通過解決這個問題,積累類似的解決問題的經(jīng)驗和教訓(xùn)。否則,永遠(yuǎn)處于0的狀態(tài),不會有任何進(jìn)步。
2、需要儲備一定的知識和技能。這是前提。老板也不會安排一個廚師去給客人理發(fā)。所有安排給你的任務(wù),大概率是在你從事的相關(guān)技能領(lǐng)域內(nèi),至少能沾點邊。一個工程師總得有一點是自己擅長的,熟悉的。這個技能或者特長,需要一定時間的積累,例如上大學(xué)所學(xué)的專業(yè)或者參加某個知識培訓(xùn)班而掌握的。學(xué)到了知識,掌握了技能,就具備了解決這個領(lǐng)域內(nèi)的問題的基本前提。有了這個前提,一個工程師才有能力解決某個具體問題。如果你還不具備這個前提,可以現(xiàn)在就開始學(xué)習(xí)了。
3、深耕你的技能。具備了一定的技能,是能夠解決一些常見的問題了,但是想要解決更多更復(fù)雜的問題,則需要更高深的專業(yè)技能。這就是高手和牛人的要求了,想成為高手,必不可少的要花費更多的時間和精力去提升技能?!耙蝗f小時理論”闡述了一個人要想成為某方面的專家,就需要一萬個小時的積累。這或許沒有什么捷徑可以走,但要掌握好解決問題的技能,總會有一些好的方法,能夠加速掌握技能的時間。就像學(xué)生時代有的同學(xué)掌握了適合自己的學(xué)習(xí)方法,就達(dá)到了事半功倍的效果。好的方法是需要自己多思考多揣摩多實踐,慢慢總結(jié)出來的一個套路,這就需要平時多學(xué)多練。總之,你得先付出,并且在付出努力的過程中,不斷總結(jié)提煉,才能把你的技能練得爐火純青。
4、形成解決問題的思維和方法。具備了深厚的技術(shù)技能,由于一個人的精力有限,也往往是某一方面的。當(dāng)問題的發(fā)生超出了一個人所熟知的技術(shù)領(lǐng)域時,就需要具備一定的解決問題的思維和方法,才能進(jìn)一步解決問題。例如一個實施工程師如果只是對所實施的軟件了如指掌,而對現(xiàn)場的計算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫等一無所知的話,他還是解決不了最終的問題。所以,他需要一個全局性的視野,與問題相關(guān)的方方面面,他都要有所了解,才能綜合分析出問題的根源所在,進(jìn)而找到解決問題的方法。解決問題的思維包括解決問題的步驟,第一步做什么,第二步做什么,問題之間的關(guān)聯(lián),如果第一步怎么樣了,那么第二步應(yīng)該做什么。具備了解決問題的思維和方法,即使缺少相應(yīng)的某一方面的技能,也能通過學(xué)習(xí)使其具備一定的臨時性的技能,從而推進(jìn)解決問題的進(jìn)度。在解決問題時,注意最好多想一步,敢于突破自己的極限,要相信自己的潛力。
5、善于總結(jié),形成知識庫。解決完一個問題后,要注意進(jìn)行總結(jié),最好記錄下來。拿編程來說,經(jīng)常遇到這樣的情況,遇到一個bug,花了一定的時間和精力解決了,很高興。過了十天半個月,可能又遇到了同樣的bug,這時只是記得解決過這個bug,但具體怎么解決的,忘記了,還需要重新查找資料,又花費了不少時間來解決它。雖然最終還是解決了,但還是浪費了不少時間。如果在解決問題過后,及時記錄下解決的方法和步驟,再次遇到同樣的問題時,就能很快將其解決掉,這么一來,省下的時間都是自己的。這有點像學(xué)生時代的“錯題本”,有時一道題做錯了,下次遇到的時候,還可能犯錯。因為這正是一個學(xué)生掌握不好的地方,知識薄弱的地方。有了“錯題本”,針對錯誤的題目加深印象,學(xué)習(xí)時多關(guān)注一些,再遇到類似的題目時,就變成了熟悉的知識了,也就不容易錯了。隨著解決的問題越來越多,自己形成的知識庫越來越龐大,工程師的能力自然越來越強(qiáng)。
如何增強(qiáng)解決問題的能力,還有很多途徑和方法,條條大路通羅馬,只要認(rèn)真對待問題,相信那句話:世上無難事,只怕有心人。
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68574
發(fā)布評論請先 登錄
相關(guān)推薦
評論