做者:hsm_computer·前端
談到程序員(尤爲是零項目經驗的程序員)找工做,培訓班是個不可迴避的討論熱點。雖然本人也作過兼職Java培訓老師,多少了解些培訓班的事,但在這問題上無心爲任何培訓學校站臺。並且本人一直在作技術面試官,所謂兼聽則明。java
本文將從技術面試官的角度,再加上了解到的培訓班一些見聞,聊聊我對以下兩個方面的話題。第一,培訓班的做用有多大?該不應上培訓班?第二,針對低基礎的程序員,尤爲是零基礎想轉行的程序員,給出些找到第一份相關工做的建議。linux
我見到不少培訓班給出的培訓內容很符合實際企業需求,給出的項目案例包含的功能點也很值錢,確實能幫到一些零基礎對軟件行業兩眼一抹黑的人,能把他們帶入行,給出一些啓動知識,甚至還能幫忙推薦工做。程序員
好比要招工做經驗在1年如下的java程序員,通常中小公司的要求是能幹活,好比能跟着項目經理幹SSM框架的活,能照着別人的代碼完成本身的任務,也能寫些不復雜的SQL,對項目經驗,有最好,沒有也不要緊。面試
對於上述標準,一個二本學生其實用半年到一年,上點心,看視頻看資料而後照着調試,可能也能達到要求,而培訓班能經過三個月,甚至更短的時間,讓學員達到這個水準,畢竟人家培訓班的教學方式通過了時間的檢驗,並且培訓班裏的老師和大學的老師相比,可能更熟悉社會上軟件公司裏的項目開發技能。redis
很多人問過我,該不應上培訓班?這個其實不能一律而論。算法
1 若是你自認爲平時混混沌沌的,整天不是玩手機就是閒逛,那麼首先須要確立良好的學習習慣,好比多看書多看資料多運行代碼。spring
2 若是是在大二大三階段,還有時間來積累知識,也是能夠建議本身多看視頻多寫代碼,相關資料太多怎麼辦?本身慢慢探索,不少時候試錯很能鍛鍊本身的思考和學習能力。數據庫
3 若是很不幸到了大四面臨找工做,但發現本身以前積累太少致使找工做很難,但目前想明白了,發心上進了,錢也夠,這個階段能夠考慮些上培訓班,畢竟時間不等人,但本身依然要多看資料多運行代碼。後端
4 工做之後手頭有閒錢了,想錦上添花學個值錢技術(好比機器學習大數據等)而後跳槽漲工資,而本身學可能比較費時間,這能夠報個培訓班,畢竟早一天學好早一天能換好工做多掙錢。
總之,首先本身得上進,本身看資料學習本身經過運行代碼積累知識,這個階段誰也代替不了,哪怕本身學剛開始很難,也會走彎路。其實,衡量下自學所需的時間代價和培訓班的學費。
在上文裏,我提到了本身看資料看視頻寫代碼,其實作起來很難,好比不知道學哪些知識,或者剛開始階段代碼環境調試不通,或者不知道某些知識點該學到什麼程度。很多大學生可能也上心過,但在遇到上述困難後就放棄了,又如我面試過很多初級程序員,論態度絕對到位,但對一些基本問題沒法回答到點子上。如今想一想,除了態度端正外,方法也很重要,這裏就給出些零基礎和低基礎的程序員如何自學的建議。
第一,必定要多投入時間,量化一下,工做後大概天天用2個小時,早上半小時,上班路上半小時,晚上回家後1個小時,週末兩天加起來用4小時學習。若是還在校,就得天天至少用八小時。
第二,就看培訓學校的培訓大綱,這些每每時他們用時間總結出來的比較貼近企業需求的要求點,好比java方面包含基礎知識,數據庫,框架知識,分佈式技能等,先按學校裏課程表同樣,給本身列個學習計劃,好比xx日到xx日,學java集合,哪段時間學SSM,這樣作起來哪怕有延後,但大體能保證在某個時間節點前學完某個知識。
第三,在列好學習計劃之後,按從簡到難的步驟,先買書學,再看視頻。好比學SSM框架,先買兩到三本書,照着書上的案例運行一下,有個大體的理解,若是在運行過程當中,能夠找些視頻看,案例無需複雜,能體現全棧便可,這步就搭建一個所謂的腳手架項目。在這個步驟中,業務無需複雜,由於之後工做的業務必定和這無關,每一個點也無需深刻,但求全棧走通。
第四,有些培訓班的培訓課程上,會有些值錢的關鍵技術,好比redis,linux之類的,這些每每在第三步搭建腳手架項目時用不到,平時自學時也會忽視,但必定得了解這方面的技術。
通常來講,經過上述步驟,主觀上努力,客觀上不斷看書看視頻調試代碼,一個零基礎的大學生,最多用半年,就能上手在軟件公司裏看比較基礎的活了。
在有些場景裏,供本身學習的時間來不及了,好比要着急找工做,或者着急換行業,這時候可能不得不找個培訓班,那麼該怎麼遴選?
1 必定得有本身的主見,別輕信培訓班介紹老師的說辭,由於他們不少是接受過話術培訓的。
2 培訓班有直營有加盟了,所謂加盟就是某公司把錢給總部,由總部給培訓材料,有時候甚至加盟的培訓學校會視頻上課,而不是老師直接過來上課。我無心評論直營和加盟的模式,但你們能夠本身想一下。並且,最好找個名氣比較響的開辦時間比較長的培訓班。
3 必定獲得現場去一下,去的時候除了聽介紹外,最好再到各班級走走,看些班級裏的同窗在上課時在幹嗎?是在認真聽課仍是作其它事情?
4 最好再試聽兩三位老師,有些老師是隻會照本宣科運行代碼而後照着結果說,而比較好的老師應該會圍繞「技術如何在項目裏應用」這個主線,並且表達能力出衆,哪怕再複雜的技術也能讓學生輕易理解。若是培訓班的老師只會照着書本讀,運行案例後再說明,而沒法給出本身多年項目經驗的積澱,那麼這種老師的能力就通常了。若是培訓班裏大可能是這樣的老師,那還不如本身學。
有很多初學者會認爲培訓班是萬能的,尤爲是有些不實的宣傳會讓學生加深這種想法,有這種想法後,學員或者指望太高,或者過分依賴,從而忽視本身的努力。哪怕你上了培訓班,你能夠獲得必定的收穫,但收穫不是無限的。
1 對培訓班的「包就業」許諾,得謹慎地看待。
你們能夠換位思考一下,若是你項目經理,你想招哪類人?培訓班確實能幫助程序員上手,但能幹活只是其中一個考量因素,其它還須要考量程序員的學歷,專業出身,相關技術的使用年限等。並且,公司有時也會遇到用人荒,確實很歡迎培訓班推薦人過去,但也不大可能由於和某些培訓班比較熟,就招個能力技術沒達標的程序員進來。
2 對培訓班的包裝簡歷,你們本身斟酌。
站在技術面試官的角度,若是候選人面試得當,我甚至沒法甄別候選人在簡歷中的某些誇張描述。好比明明候選人在去年的公司裏作的是測試,但描述成Java開發,至於在簡歷中寫了其實沒用到的技能,更是無從考察。對於這種沒法經過背景調查驗證的信息,說句無奈的話,只要候選人有本事吹,別穿幫,我只能承認。
無奈並不意味着我認同,相反我會盡我職責甄別此類現象,若是有,則會不得不給候選人打上「不誠信」的標籤。不過我知道有些培訓機構甚至會本身開個皮包公司,讓些其實沒工做經驗的程序員補上相關經驗,這作虛假簡歷的作法就有些過了。並且我在上海,有勞動手冊和退工單等方式能夠看以前工做的狀況,這能甄別出此類虛假簡歷,在其它地方我就不知道了。但我想說,虛假簡歷哪怕在技術面試階段能過關,但背景調查就過不了,至於小公司不會作背調,這個就另當別論了。
3 培訓班不是萬能的,進了培訓班不是進了保險箱,並且剛開始對公司和工資別抱有太大但願。
無可置疑,培訓班確實能幫助程序員就業,並且我在上海,有各類規模的公司,培訓班靠技術積累和人脈積累,一些網站上的高就業率我也信(我相信並不意味着我爲之背書),並且部分學員的工資會過平均水平。
不過前提是,第一你進培訓班以前的背景就不錯,好比兩人在培訓班裏其實學差很少,但本科出身的人工資廣泛會比大專要高,第二你在培訓班裏更不能得過且過,第三,尤爲得積累實際動手的能力。不過話說回來,若是進培訓班前的起點比較低,那麼可能通過若干月後,確實能找到工做,但可能侷限於樓層公司或小公司,並且剛開始的起點工資未必高。
大多數培訓班會輔導就業,也會作模擬面試,有些培訓班的輔導就業老師可能不會提到,其實應聘時,面試官首要看的是項目經驗,而算法智力題僅僅是考察候選人的基礎和思惟能力。道理仍是比較好理解的,老是想招個能當即幹活的,而不是須要通過一段時間上手學習和試錯的。
大多數培訓班的就業老師也算經驗豐富了,指導後的簡歷和麪試說辭通常不會太差,若是候選人在培訓班裏確實認真學,找個小公司,甚至經過外派進一些大公司也是有可能的,我以前的博文裏也有很多相關經驗。這裏我就專門說下培訓班出身的候選人廣泛存在的問題,以及對應的好的作法,若是你投了不少簡歷,但沒面試機會,那麼能夠參考我以前的博文你的簡歷能幫你爭取到面試機會嗎 。
1 簡歷在文字上費了不少工夫,但沒有展現本身的商業項目經驗,畢竟項目經驗是第一考察項,若是沒有,就把課程設計,畢業設計以及培訓班給的項目寫到簡歷中,這總比沒實踐經驗要好。
2 回答僅僅停留在理論層面。好比有個問題。
String a = "123456"; a.substring(0,3); System.out.println(a); 大多數候選人能說出結果應該仍是123456,但僅此而已。在講完後,哪怕再多說一句,我在平時項目裏會時刻注意這點,那麼就能顯得你不是光會理論,而是會應用到開發中。若是能回答大多數問題時都能帶上一句,面試官就會感覺到你的經驗是來自開發,並非來自背題目。
3 過分看重加分項,或者一個點講很透徹,但全棧流程層面說不清楚。好比有候選人會振振有詞地和我說在spring cloud裏引入redis緩存的作法和好處,但spring從前端到後端再到數據庫的流程未必能理解,這就沒法達到起碼的「能山寨代碼」的要求。
其實零基礎或低基礎的程序員找到第一份工做不難,不過可能進小公司的機率大些。並且因爲應聘第一份工做時,更多靠的是面試技巧,自己的知識儲備未必紮實,而小公司對程序員的性價比要求會很高,因此很多培訓班出身的程序員可能未必能過試用期。但在第一份工做裏熬個一兩年,其實後面的發展就相對平坦了。
剛進公司的時候,必定得多問,遇到問題得早點拋出。不少任務其實按我的能力,作起來會有困難,這時必定得厚着臉皮多問別人。若是某程序員悶聲開發三天,而後什麼都沒產出,等項目經理問了再提出本身問題,這類人必定過不了試用期。相反若是多問,可能剛開始的時候項目經理會認爲你的能力比預期要差,但好歹能完成任務,經過不斷尋求幫助必定能很快提高,這樣過試用期的可能性就大不少。
並且,在完成任務的同時,必定別僅限於代碼層面,多去和測試或者產品需求方溝通,別坐等被分配任務,這樣項目經理就會認爲不只有能力寫代碼,還有解決實際問題的能力。
當程序員有實際項目經驗後,以前培訓班的因素可能就不怎麼突出,因此積極一點的話,在第一份工做裏,甚至能夠準備向大公司靠攏,進大公司不難,在個人這篇博文裏,寧撞金鐘一下,不打破鼓三千,IT人要有志氣,要進就進大的好的公司,我就寫了進大公司的經驗,這一樣適用於培訓班出身的程序員。
培訓班出身的程序員沒有原罪,相反從他們身上,我看到的是積極上進。而這部分程序員被拒的緣由大部分是他們沒有實際項目經驗或者能力不達標,而一些良莠不齊的培訓機構過多誇張簡歷和技能的作法更加深了市面上對培訓班的偏見。
前文提到過,不是全部公司在招人時有資格提出高要求,很多公司甚至會面臨用人荒,因此培訓班出身的程序員毫不該妄自菲薄。本身自己就上進,外加培訓班的助力,這纔是發展的正道。
公衆號