程序員(尤其是零項目經驗的程序員)找工作


程序員(尤其是零項目經驗的程序員)找工作

    談到程序員(尤其是零項目經驗的程序員)找工作,培訓班是個不可回避的討論熱點。雖然本人也做過兼職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 在轉載時,請原文轉載 ,謝絕洗稿。否則本人保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM