如何鍛鍊獨當一面的能力

5141.png

    《5分鐘從學生到程序員》第14課。

    我們先來統一一下獨當一面的概念,這裏講的獨當一面是指在項目範圍內,不是指在公司範圍內。在公司內獨當一面,那是研發總監、產品總監、運營總監這一幫人,他們可以獨立負責公司的某個業務板塊,是企業正常運營的基石。工程師的獨當一面,是在項目中,能獨立承擔一塊業務或一個模塊,是項目正常進行的基石。

    這裏講的獨當一面,是講獨立負責模塊,不是講怎麼當研發總監,如果對剛入行的程序員講怎麼當研發總監,我一定是瘋了。

    程序員的獨當一面,主要是兩個方面的能力:

    1)負責模塊的能力;

    2)獨立解決問題的能力;

1. 負責模塊的能力

    這個能力我們在前面講的比較多,就是增加對產品的理解能力和分析能力,拿到一個模塊之後,懂得把它分解成一個個功能,懂得模塊化思維,懂得代碼模塊化等。模塊化能力把前面章節分享的內容,在工作中多實踐,基本上很快就能掌握。

    這節課我們主要講第二個能力,獨立解決問題的能力。

2. 獨立解決問題的能力

    前面課程,我一直在講,有問題就問,這個是成長最快的方法。到中級工程師,有問題還是可以問,但不是什麼問題都問,除非搞不定的事。所以你要鍛鍊解決問題的能力,有一套解決問題的方法。這個能力練久了,就能獨立解決問題了。

3. 什麼是獨立解決問題的能力

    它包括三個方面:解決問題的能力,解決問題的意願,不解決不罷休的韌性。

    1)解決問題的能力

    並不是每個人都有解決問題的能力,比如中級工程師,遇到框架的問題就搞不定,因爲框架問題是高級工程師及以上次第解決的。比如高級工程師,遇到項目的問題就搞不定,因爲項目問題是主管工程師以上次第才能解決的。

5143.jpg

    我用一個通俗的例子,你就大概知道每個次第的程序員的能力範圍了。現在做的項目就是蓋大樓。

    初級程序員:可以給一間房間砌牆、鋪地阪、給牆壁上水泥等;

    中級程序員:能搞定一層,懂得把一層樓格成一套套房,一間間房,懂得處理內外牆,懂得處理樓層之間的銜接;

    高級程序員:能搞定從地基到樓頂所有的工作;

    主管程序員:除了能搞定樓體之外,還能搞定大樓的景觀工程、地下車庫等完整的建築項目;

    項目經理:項目經理除了把大樓搞定,還能搞定前期的選地、找建築隊、採購物料,還要能搞定後期的裝修、招商、及日常的維護。

    我爲什麼用建大廈的例子來說明呢?我們做軟件項目,不就是建代碼的大廈嗎?我們用對等的實物來比較,就很清楚自己的位置在哪裏。

    前面講框架問題,就是從地基到樓頂的工作,中級工程師搞不定;項目問題,就是搞景觀工程,或者採購物料,高級工程師搞不定。

5144.jpg


    前面羅裏吧嗦的講這麼多,就是幫大家認清自己的位置,能解決的問題是什麼。不然跟你講說要獨當一面,好了,你什麼問題都要自己搞定,那就把你搞死了。很多雞湯,比如“只要你努力,就能成功”、“只要你足夠強大,全世界都會給你讓路!”,只要你次第不對,再怎麼努力也搞不定,所以不要被這種毒雞湯害了。

    我們在公司,能看到很多成功的案例,和很多失敗的案例。我們去分析成功的案例,就會發現他們在做自己能力層次的事,或者比能力層次稍微高一點的,也就是墊墊腳就夠的着的;而那些失敗的案例,會發現他們都是心比天高,每天很努力,很忙的人,也就是“人有多大膽,地有多大產”的案例。


    綜上,解決問題的能力,是解決本次第的問題和比能力層次稍微高一點的問題的能力。這點非常非常重要,一定要記的。

2)解決問題的意願

    並不是每個人都有解決問題的意願,我們經常會看見,在公司裏有些人都在推責任,把問題推給別人。你仔細的去看,這種人都是工作好多年,大家都覺得他能搞定這種問題,讓他來解決最合適,但是他就是不願意。

    所以這種人,經常工作十來年,還在高級工程師上混,就是沒有解決問題的意願,也就沒有成長的機會。

    我講的課,都是主動承擔責任,若要如何,全憑自己,我們講的都是有意識的成長。如果無意識會怎麼樣?我前面也講過,初級工程師,對別人能幫就幫,責任範圍不斷擴大,不知不覺就成長爲中級工程師;中級工程師,做好本職的工作,操心項目,到處解決問題,到處給意見,無意識的成長到高級工程師。高級工程師中總有人被莫名其妙的推到主管工程師,這些都是有意願解決問題的結果。

5142.jpg


    3)不解決不罷休的韌性

    我們經常會聽到:“我盡力了,這個問題我就是搞不定。”,這種就是沒有不解決不罷休的韌性。

    真正的能力是能貫徹到底,解決問題的能力。所以遇到問題不要怕,能搞定一定搞定,如果不是自己能力範圍內的問題,尋求更高層次的人的支持,最終把問題處理掉。這個也是不解決不罷休的韌勁,因爲問題最終因你而解決。

4. 總結

    這節課帶大家認識不同次第的程序員的責任範圍和能力範圍,知道哪類問題是自己可以解決的,哪類問題是需要尋求幫助的。並和大家分享什麼是獨立解決問題的能力,它包括三個方面,有解決問題的能力,有解決問題的意願和有解決問題的韌勁。當你有這三方面的能力之後,在本次第上鍛鍊解決問題能力,形成一套自己的方法論,以後你就可以用這套方法論在職業拼殺,打造自己的職業生涯。


    這個系列14節課,到這裏全部分享完畢,希望你看了這個課程,能找到好工作,在工作中能適應崗位要求,鍛鍊解bug、開發功能的能力,以及鍛鍊獨立解決問題的能力,增加對產品、代碼框架、開發方法的理解,在崗位上快速成長。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章