1. 程式人生 > >從面試官的角度聊聊培訓班對程式設計師的幫助,同時給培訓班出身的程式設計師一些建議

從面試官的角度聊聊培訓班對程式設計師的幫助,同時給培訓班出身的程式設計師一些建議

    談到程式設計師(尤其是零專案經驗的程式設計師)找工作,培訓班是個不可迴避的討論熱點。雖然本人也做過兼職Java培訓老師,多少了解些培訓班的事,但在這問題上無意為任何培訓學校站臺。而且本人一直在做技術面試官,所謂兼聽則明。

    本文將從技術面試官的角度,再加上了解到的培訓班一些見聞,聊聊我對如下兩個方面的話題。第一,培訓班的作用有多大?該不該上培訓班?第二,針對低基礎的程式設計師,尤其是零基礎想轉行的程式設計師,給出些找到第一份相關工作的建議。

1 培訓班的價值在於節省時間

    我見到很多培訓班給出的培訓內容很符合實際企業需求,給出的專案案例包含的功能點也很值錢,確實能幫到一些零基礎對軟體行業兩眼一抹黑的人,能把他們帶入行,給出一些啟動知識,甚至還能幫忙推薦工作。

    比如要招工作經驗在1年以下的java程式設計師,一般中小公司的要求是能幹活,比如能跟著專案經理幹SSM框架的活,能照著別人的程式碼完成自己的任務,也能寫些不復雜的SQL,對專案經驗,有最好,沒有也沒關係。

    對於上述標準,一個二本學生其實用半年到一年,上點心,看視訊看資料然後照著除錯,可能也能達到要求,而培訓班能通過三個月,甚至更短的時間,讓學員達到這個水準,畢竟人家培訓班的教學方式經過了時間的檢驗,而且培訓班裡的老師和大學的老師相比,可能更熟悉社會上軟體公司裡的專案開發技能。

    不少人問過我,該不該上培訓班?這個其實不能一概而論。

    1 如果你自認為平時混混沌沌的,成天不是玩手機就是閒逛,那麼首先需要確立良好的學習習慣,比如多看書多看資料多執行程式碼。

    2 如果是在大二大三階段,還有時間來積累知識,也是可以建議自己多看視訊多寫程式碼,相關資料太多怎麼辦?自己慢慢探索,很多時候試錯很能鍛鍊自己的思考和學習能力。

    3 如果很不幸到了大四面臨找工作,但發現自己之前積累太少導致找工作很難,但目前想明白了,發心上進了,錢也夠,這個階段可以考慮些上培訓班,畢竟時間不等人,但自己依然要多看資料多執行程式碼。

    4 工作以後手頭有閒錢了,想錦上添花學個值錢技術(比如機器學習大資料等)然後跳槽漲工資,而自己學可能比較費時間,這可以報個培訓班,畢竟早一天學好早一天能換好工作多掙錢。

    總之,首先自己得上進,自己看資料學習自己通過執行程式碼積累知識,這個階段誰也代替不了,哪怕自己學剛開始很難,也會走彎路。其實,衡量下自學所需的時間代價和培訓班的學費。

2 很多情況下,不是不努力,而是不知道該怎麼努力

    在上文裡,我提到了自己看資料看視訊寫程式碼,其實做起來很難,比如不知道學哪些知識,或者剛開始階段程式碼環境除錯不通,或者不知道某些知識點該學到什麼程度。不少大學生可能也上心過,但在遇到上述困難後就放棄了,又如我面試過不少初級程式設計師,論態度絕對到位,但對一些基本問題無法回答到點子上。現在想想,除了態度端正外,方法也很重要,這裡就給出些零基礎和低基礎的程式設計師如何自學的建議。 

    第一,一定要多投入時間,量化一下,工作後大概每天用2個小時,早上半小時,上班路上半小時,晚上回家後1個小時,週末兩天加起來用4小時學習。如果還在校,就得每天至少用八小時。

    第二,就看培訓學校的培訓大綱,這些往往時他們用時間總結出來的比較貼近企業需求的要求點,比如java方面包含基礎知識,資料庫,框架知識,分散式技能等,先按學校裡課程表一樣,給自己列個學習計劃,比如xx日到xx日,學java集合,哪段時間學SSM,這樣做起來哪怕有延後,但大致能保證在某個時間節點前學完某個知識。

    第三,在列好學習計劃以後,按從簡到難的步驟,先買書學,再看視訊。比如學SSM框架,先買兩到三本書,照著書上的案例執行一下,有個大致的理解,如果在執行過程中,可以找些視訊看,案例無需複雜,能體現全棧即可,這步就搭建一個所謂的腳手架專案。在這個步驟中,業務無需複雜,因為以後工作的業務一定和這無關,每個點也無需深入,但求全棧走通。

    第四,有些培訓班的培訓課程上,會有些值錢的關鍵技術,比如redis,linux之類的,這些往往在第三步搭建腳手架專案時用不到,平時自學時也會忽視,但一定得了解這方面的技術。

   一般來說,通過上述步驟,主觀上努力,客觀上不斷看書看視訊除錯程式碼,一個零基礎的大學生,最多用半年,就能上手在軟體公司裡看比較基礎的活了。 

3 培訓班良莠不齊,如果要上該怎麼選

    在有些場景裡,供自己學習的時間來不及了,比如要著急找工作,或者著急換行業,這時候可能不得不找個培訓班,那麼該怎麼遴選?

    1  一定得有自己的主見,別輕信培訓班介紹老師的說辭,因為他們很多是接受過話術培訓的。

    2  培訓班有直營有加盟了,所謂加盟就是某公司把錢給總部,由總部給培訓材料,有時候甚至加盟的培訓學校會視訊上課,而不是老師直接過來上課。我無意評論直營和加盟的模式,但大家可以自己想一下。而且,最好找個名氣比較響的開辦時間比較長的培訓班。

    3 一定得到現場去一下,去的時候除了聽介紹外,最好再到各班級走走,看些班級裡的同學在上課時在幹嘛?是在認真聽課還是做其它事情?

    4  最好再試聽兩三位老師,有些老師是隻會照本宣科執行程式碼然後照著結果說,而比較好的老師應該會圍繞“技術如何在專案裡應用”這個主線,而且表達能力出眾,哪怕再複雜的技術也能讓學生輕易理解。如果培訓班的老師只會照著書本讀,執行案例後再說明,而無法給出自己多年專案經驗的積澱,那麼這種老師的能力就一般了。如果培訓班裡大多是這樣的老師,那還不如自己學。

4 從面試官角度說下培訓班學生不該有的幻想

    有不少初學者會認為培訓班是萬能的,尤其是有些不實的宣傳會讓學生加深這種想法,有這種想法後,學員或者期望過高,或者過度依賴,從而忽視自己的努力。哪怕你上了培訓班,你可以得到一定的收穫,但收穫不是無限的。

    1 對培訓班的“包就業”許諾,得謹慎地看待。 

    大家可以換位思考一下,如果你專案經理,你想招哪類人?培訓班確實能幫助程式設計師上手,但能幹活只是其中一個考量因素,其它還需要考量程式設計師的學歷,專業出身,相關技術的使用年限等。而且,公司有時也會遇到用人荒,確實很歡迎培訓班推薦人過去,但也不大可能因為和某些培訓班比較熟,就招個能力技術沒達標的程式設計師進來。

    2 對培訓班的包裝簡歷,大家自己斟酌。

    站在技術面試官的角度,如果候選人面試得當,我甚至無法甄別候選人在簡歷中的某些誇張描述。比如明明候選人在去年的公司裡做的是測試,但描述成Java開發,至於在簡歷中寫了其實沒用到的技能,更是無從考察。對於這種無法通過背景調查驗證的資訊,說句無奈的話,只要候選人有本事吹,別穿幫,我只能認可。 

    無奈並不意味著我認同,相反我會盡我職責甄別此類現象,如果有,則會不得不給候選人打上“不誠信”的標籤。不過我知道有些培訓機構甚至會自己開個皮包公司,讓些其實沒工作經驗的程式設計師補上相關經驗,這做虛假簡歷的做法就有些過了。而且我在上海,有勞動手冊和退工單等方式可以看之前工作的情況,這能甄別出此類虛假簡歷,在其它地方我就不知道了。但我想說,虛假簡歷哪怕在技術面試階段能過關,但背景調查就過不了,至於小公司不會做背調,這個就另當別論了。

    3 培訓班不是萬能的,進了培訓班不是進了保險箱,而且剛開始對公司和工資別抱有太大希望。

    不容置疑,培訓班確實能幫助程式設計師就業,而且我在上海,有各種規模的公司,培訓班靠技術積累和人脈積累,一些網站上的高就業率我也信(我相信並不意味著我為之背書),而且部分學員的工資會過平均水平。

    不過前提是,第一你進培訓班之前的背景就不錯,比如兩人在培訓班裡其實學差不多,但本科出身的人工資普遍會比大專要高,第二你在培訓班裡更不能得過且過,第三,尤其得積累實際動手的能力。不過話說回來,如果進培訓班前的起點比較低,那麼可能經過若干月後,確實能找到工作,但可能侷限於樓層公司或小公司,而且剛開始的起點工資未必高。

5 準備簡歷時切記,專案經驗優先,演算法題其次(低基礎程式設計師在找工作時的普遍問題)

    大多數培訓班會輔導就業,也會做模擬面試,有些培訓班的輔導就業老師可能不會提到,其實應聘時,面試官首要看的是專案經驗,而演算法智力題僅僅是考察候選人的基礎和思維能力。道理還是比較好理解的,總是想招個能立即幹活的,而不是需要經過一段時間上手學習和試錯的。

    大多數培訓班的就業老師也算經驗豐富了,指導後的簡歷和麵試說辭一般不會太差,如果候選人在培訓班裡確實認真學,找個小公司,甚至通過外派進一些大公司也是有可能的,我之前的博文裡也有不少相關經驗。這裡我就專門說下培訓班出身的候選人普遍存在的問題,以及對應的好的做法,如果你投了很多簡歷,但沒面試機會,那麼可以參考我之前的博文你的簡歷能幫你爭取到面試機會嗎 。

    1 簡歷在文字上費了很多工夫,但沒有展示自己的商業專案經驗,畢竟專案經驗是第一考察項,如果沒有,就把課程設計,畢業設計以及培訓班給的專案寫到簡歷中,這總比沒實踐經驗要好。

    2  回答僅僅停留在理論層面。比如有個問題。

    String a = "123456"; a.substring(0,3); System.out.println(a);  大多數候選人能說出結果應該還是123456,但僅此而已。在講完後,哪怕再多說一句,我在平時專案裡會時刻注意這點,那麼就能顯得你不是光會理論,而是會應用到開發中。如果能回答大多數問題時都能帶上一句,面試官就會感受到你的經驗是來自開發,並不是來自背題目。

    3 過度看重加分項,或者一個點講很透徹,但全棧流程層面說不清楚。比如有候選人會振振有詞地和我說在spring cloud裡引入redis快取的做法和好處,但spring從前端到後端再到資料庫的流程未必能理解,這就無法達到起碼的“能山寨程式碼”的要求。 

6 低基礎程式設計師在做第一份工作時的注意點

    其實零基礎或低基礎的程式設計師找到第一份工作不難,不過可能進小公司的概率大些。 而且由於應聘第一份工作時,更多靠的是面試技巧,本身的知識儲備未必紮實,而小公司對程式設計師的價效比要求會很高,所以不少培訓班出身的程式設計師可能未必能過試用期。但在第一份工作裡熬個一兩年,其實後面的發展就相對平坦了。

    剛進公司的時候,一定得多問,遇到問題得早點丟擲。很多工其實按個人能力,做起來會有困難,這時一定得厚著臉皮多問別人。如果某程式設計師悶聲開發三天,然後什麼都沒產出,等專案經理問了再提出自己問題,這類人一定過不了試用期。相反如果多問,可能剛開始的時候專案經理會認為你的能力比預期要差,但好歹能完成任務,通過不斷尋求幫助一定能很快提升,這樣過試用期的可能性就大很多。

    而且,在完成任務的同時,一定別僅限於程式碼層面,多去和測試或者產品需求方溝通,別坐等被分配任務,這樣專案經理就會認為不僅有能力寫程式碼,還有解決實際問題的能力。

    當程式設計師有實際專案經驗後,之前培訓班的因素可能就不怎麼突出,所以積極一點的話,在第一份工作裡,甚至可以準備向大公司靠攏,進大公司不難,在我的這篇博文裡,寧撞金鐘一下,不打破鼓三千,IT人要有志氣,要進就進大的好的公司,我就寫了進大公司的經驗,這同樣適用於培訓班出身的程式設計師。

7 總結,不該妄自菲薄,自己上進才是正道

     培訓班出身的程式設計師沒有原罪,相反從他們身上,我看到的是積極上進。而這部分程式設計師被拒的原因大部分是他們沒有實際專案經驗或者能力不達標,而一些參差不齊的培訓機構過多誇張簡歷和技能的做法更加深了市面上對培訓班的偏見。

    前文提到過,不是所有公司在招人時有資格提出高要求,不少公司甚至會面臨用人荒,所以培訓班出身的程式設計師絕不該妄自菲薄。自己本身就上進,外加培訓班的助力,這才是發展的正道。

    如果大家感覺本文有幫助,請推薦本文,也歡迎大家通過評論來交流。

版權說明:

    有不少網友轉載和想要轉載我的博文,本人感到十分榮幸,這也是本人不斷寫博文的動力。關於本文的版權有如下統一的說明,抱歉就不逐一回復了。

    1 本文可轉載,無需告知,轉載時請用連結的方式,給出原文出處,別簡單地通過文字方式給出,同時寫明原作者是hsm_computer。

    2 在轉載時,請原文轉載 ,謝絕洗稿。否則本人保留追究法律責任的權利。