【分享】學長的安利來了~~O(∩_∩)O


前言:應棟哥要求,學長把演講稿稍微整理下發布出來,這可以算是一篇安利文,也可以說是一篇經歷文吧。作為一個確確實實從軟工里收獲到挺多東西的過來人,學長希望可以通過學長的經歷來讓你們對軟工更加期待。


安利

學長是棟哥開設的軟工實踐這種新的教學模式下的第一屆學生。也許到現在,你們對這門課程只感覺到累,熬夜到快崩潰了,學長可以跟你們說,熬下去,過不了多久你們都會有自己的收獲體會的。

學長們當初也是這樣子熬過來的,也在這門課程里收獲到很多東西,尤其在實習和找工作過程中,這門課程提供了很大的幫助,可以這么說,學長收到的 offer 都是靠用軟工的經歷來說服面試官的。

所以,學長是覺得棟哥的這種教學方式是一種很好的方式,學長那屆是第一屆,有些方式也還在探索中,學長也希望這種教學方式可以不斷完善下去。所以作為第一屆的學生,今天就過來跟大家聊一聊。

換句話說,其實,學長今天過來也就是給你們安利下棟哥的軟工實踐這門課程的,雖然你們現在已經在棟哥的班上了,但還有下一屆的學生,下下屆的學生,學長希望可以帶個好頭,讓更多同學知道棟哥這門課程的好處,吸引更多的學生,讓棟哥這門課程越辦越好。

既然是過來安利的,就先跟你們說說這門課程有哪些好處,然后再說說學長的一些軟工經歷,以及找工作和實習中的一些體會吧,你們應該會對這方面比較感興趣點,畢竟下學期開始也會陸續有一些公司開始春招了,不管你們是要考研還是就業的,下學期也都需要開始着手做准備了。

首先是好處,你們選課前應該也都有看到棟哥這門課程的介紹了,棟哥跟你們說,上完后有機會到福州最好的自主餐廳吃一頓,學長可以跟你們說,吃兩頓也是夠的,而且是最好的。

另外,你們還有機會可以得到 BAT 這種大公司的關注,學長那屆大概是在春招的那段時間,騰訊的 hr 直接找棟哥要學長們的簡歷,雖然最后有些可惜,但這樣你們至少比別人多了次機會,相當於是有了內推的機會。

而且棟哥說,把軟工這門課程做得越出名,這種機會只會越多,所以這就需要大家共同的努力了。

還有,在實習過程中,你會發現公司里的很多處理方式跟軟工實踐是那么的相似。在找工作中,面試時,學長自己的體會就是軟工的這些經歷面試官都挺感興趣的,興趣一來跟你也就越聊越多,面試通過的機率也就更大。

最后,你們還有機會跟棟哥合作,有機會讓棟哥輔導你們發表論文,有機會體驗一把助教的工作,棟哥會帶你們到其他學校參與教學交流、分享,棟哥也會把你們拉進像鄒欣老師,周筠老師這些前輩、名人的圈子里。

軟工經歷

對於軟工經歷,印象比較深的基本都是團隊開發期間的一些事了。學長是比較幸運的,因為碰到了一個挺負責任,能力也挺強的一個組長。

學長的團隊是除了組長外,其他三人都是剛開始學習安卓,所以我們的組長就這樣帶着我們三個小白,硬是把項目給做了出來,最后還可以去福州最好的自助餐廳吃一頓。從質量上來說,我們的項目比其他挺多團隊都要差點,但就像軟工課程要教給我們的思想一樣:做軟件,做項目,不是只會敲代碼就可以的。

就像,《構建之法》中提倡的 Learning by doing 這種教學理念,其實,等你們實習時會發現,在工作中很多布置到你手上的任務都是你沒學過,也沒接觸過的知識點的。很多工作,都是需要你從零開始學習,邊學邊做出來的。

所以,有的同學是這學期才剛接觸開發,剛開始學習 java,學習安卓,學長想告訴你們,不用一直說你才剛學,你還是個小白,時間不夠,最后會做不出來之類的話。Learning by doing 本來就是一種收獲,公司不像學校,沒有時間,也沒有精力先教會你該怎么做,然后才讓你去做。

所以,公司看中的都是你的學習能力,你的學習效率。棟哥不教你們語言,只教你們怎么開發產品,為的就是讓你們能更好的適應和掌握 Learning by doing 這種方式。

回想一下,你們以前上過的實踐課,基本也都是老師先教你該怎么做,然后才讓你開始做,這是在學校,有這個時間來等你先掌握。

所以,為什么學長說收到的 offer 都是靠軟工的經歷說服面試官的,為什么面試官會對軟工的這些經歷感興趣呢。因為棟哥的軟工,是讓你體驗,掌握 Learning by doing 的能力,面試官經常喜歡讓你說說你的一些經歷,也就是希望從你的經歷中聽出,看出你的學習能力,學習方式。

所以,學長建議你們,不要一直擔心自己能力的問題,你們的熬夜,你們的堅持,等到你們最終把產品做出來的那瞬間,你們也會自己感覺到特自豪的。特別的是,如果你適應了,掌握了 Learning by doing 這種學習方式,你們在今后的工作中會成長更快的。

說一些經歷吧,學長比較有印象的一件事是每日會議吧,我們組長對這些事要求比較嚴格,他讓我們開會的時候不能嘻哈,不能坐着,也不能倚靠着門或床沿,大家盡量圍個圈,然后每個人匯報自己昨天都完成了什么,接下去做什么,有沒有碰到什么困難。至於這樣的好處,我們組長說,這樣方便他掌握項目的整個開發進度,也好讓他更好的了解組員的能力,以便做出安排,划分任務。

學長不是 PM,體會不到這些,只是從隊員的角度來感覺的話,學長覺得每日會議的好處就是提高了我們的開發效率。因為按照我們組長的要求,我們每日會議的氛圍是挺嚴肅的,然后在這種氛圍中,如果匯報的時候說自己昨天什么也沒完成的話,總會感覺有些不好意思。所以,自己都會熬夜把當天的任務完成了之后才睡覺。

還有一點好處就是,學長實習期間,每周都是要開會的。而開會的內容跟棟哥讓我們做的每日會議的內容基本一樣,都是組長先總結上周完成的工作,上周未完成的工作,還有就是布置下這周的工作,然后就是每個人匯報下自己上周的進展,這周的計划。

有一點不同的就是,我們在學校時,時間可以自由安排,也就是說如果有人碰到困難需要討論時,我們可以不用顧忌開會的時間,一直討論下去。但是在公司里,開會一般都是半小時到一個小時之內,如果你遇到什么困難,並不是在開會期間就討論該怎么解決,而是你要把你碰到的困難,在你的發言時間內表達清楚,讓組長明白你遇到的到底是什么困難,開會結束后,組長會再找時間跟你討論。

所以,學長是建議你們每日會議不要水,也不是要求說一定非得像我們那么嚴肅,每組有每組的風格,只是說,認真的參與進去,這樣以后進公司后相關的一些會議就會比較有經驗了。

其他記得比較清楚的經歷就是項目管理和團隊協作開發,也就是 git 的使用,和代碼沖突的解決。

我們組長對這部分的要求還是很嚴格,我們當時是用 github 托管代碼,我們組長不給我們直接 push 的權限。我們組員只能通過 fork+pull request 的方式來提交代碼,提交的代碼經過組長審核后,確定沒提交一些沒必要的東西時他才會合並到項目中去。(你們如果不明白這種方式,可以在網上搜索 fork 和 pull request 的相關資料進行了解)這樣做其實是因為,當時我們團隊都才剛接觸 git,以前也都沒有什么團隊開發經驗。

在開發過程中經常會碰到一些代碼沖突,就是當你更新項目的時候,發現你修改的部分也有其他組員修改過,git 又沒辦法自動合並時,就產生沖突了。當時是因為有些組員對於 git 使用不是很熟悉,也沒多少解除沖突的經驗,然后直接將有沖突的代碼提交到 github 上,導致其他組員更新項目后,項目編譯就報錯了。

所以,我們組長才要求,為了保證大家提交的代碼里沒有錯誤的代碼,把我們 Push 的權限都關了,只有經過他審核過才合並,審核不過退回去重新改完再提交。其實,這樣也讓學長養成了每次提交代碼前都會再檢查一遍的習慣。所以這點,也還是挺好的。操作也不會很麻煩,如果對 git 操作熟悉了后,也就是多了一步 pull request 的步驟。

而且,在學長實習期間,因為帶學長的那個前輩比較忙,他說如果代碼寫完了直接提交到倉庫就可以了,學長當時都有點驚訝了,他都不檢查下直接讓學長提交,萬一改動了不該改的地方提交上去了怎么辦,所以自己養成的復審習慣,讓自己每次提交前都會小心再小心,這總是好的。

還有一點,棟哥讓你們使用 git 來管理項目,學長也是建議你們按照棟哥說的來,我們那屆其實還是有些團隊平常都是用 QQ 來傳遞代碼,手動復制粘貼來整合項目,只是最后才通過 git 提交到 github 上去的。

git 的功能其實是很強大的,也許你們剛接觸,很多都不理解,反而覺得耗費時間,但可以的話,學長還是建議你們多抽點時間出來學習,熟悉下 git 的使用,多用用 git 總沒壞處的。

學長剛去實習時,公司就是給了學長一個訪問 git 服務器的 SSH 秘鑰,然后給了學長一個項目地址,讓學長自己去學習 git,去把項目下載到本地來。學長有個同學,他情況比學長好點,他是他們公司有給他們一些git的教程,讓他們自己去學。所以棟哥讓你們學習使用git並不是在刁難你們,你們學的這些在日后都是挺有用的。

最后,軟工的經歷就這些吧,如果你們有興趣可以去看看學長的博客,學長有把這個經歷以故事的方式記錄下來。你們可以當作是看短篇小說。下面就給你們說說學長找工作的一些經歷吧,找工作時軟工這門課程確實提供了非常大的幫助。

面試

你們現在也許還沒考慮到就業的問題,但應該對這些會挺感興趣的,畢竟你們已經大三了。學長先給你們稍微講講,那些能力很強的同學,也就是那些有實驗室經歷,或者參加過各種軟件開發大賽,項目開發經驗很多這類同學,基本上都不用擔心會找不到滿意的工作,但這類同學畢竟是少數的。

大多數的同學則是到現在還沒有任何的實驗室經歷,平時也沒跟同學組隊參加過什么比賽,那么這部分同學找工作就會相對來說比較困難一點。但也不會特別難,你們要把握好校招,公司對應屆生的能力要求一般也不會特別高,(當然 BAT 這類公司就肯定需要一定的能力了),所以要讓面試官在跟你聊天時,從你的經歷中體現出你的學習能力。

秋招一般都是每年的 9 月份,10 月份這段時間。算算時間,你們大概有一年左右可以做准備。如果是想考研的同學,大三下基本就要開始准備復習考研了,如果你想做兩手准備,那么也就只剩下這個學期的時間了。

一年的時間看似很長,但其實如果想增加一些項目經驗,想做些有價值的項目基本要花費的時間也跟你們這學期軟工差不多。而且,這學期的軟工還是有個棟哥在后面督促着你們,給你們規划好了時間的安排,讓你們的效率最大化的了。

所以,軟工的項目,軟工的經歷也是你們在面試時比較有底氣的依靠了。學長也是屬於大多數的同學這類,在上軟工前沒什么實驗室經歷,也沒參加過什么比賽,連安卓都是在上軟工時才開始學的,而且因為大三下學期自己的事比較多,沒做多少准備,最后到秋招時,學長簡歷上的項目經歷比較有含金量的就是軟工實踐的項目了。最后也是靠着這個軟工項目找到了學長自己很滿意的公司。

棟哥第一節課應該也有給你們說過的,很多畢業后初入公司的學長,都會說軟件工程是大學里最有用的課程。雖然學長還沒畢業,但軟工確實是幫助最大的一門課程。

給你們講講面試的事吧,通常情況下,來學校宣講的公司,面試是分三輪,首先是筆試,然后是 hr 面,還有技術面。有的是先技術再 hr,有的是 hr 和技術官一起 2 對 1 面試。

筆試是基礎,至少要對你要應聘的崗位掌握一些基礎知識。學長有一些同學,他們應聘的是測試崗,女同學。跟她們聊天的時候,她們有說過,筆試上的題目,大部分都是軟工課程書本上面的知識點,你們現在應該也還沒教到測試的部分吧,所以之后棟哥在講這部分的時候可以好好聽講。

Hr 面,通常也就是 hr 在跟你聊天,hr 除了要了解你的一些基本情況,在學校的一些表現,以及未來的一些規划外,剩下的時間就是跟你聊你簡歷上的東西。

簡歷的話,如果沒有其他什么亮點的話,能聊的東西也就只剩下項目可以和 hr 聊了。

Hr 通常也是不大懂技術的,所以他不會問你項目都用到了哪些技術點,這些技術點的原理是什么。對於項目,hr 通常都是讓你介紹一下這個項目,然后再讓你說一下你負責了哪些部分。然后再根據你的回答進行一些提問,所以這種時候就要盡量的說些讓 hr 感興趣的事。

學長的面試經歷並不順利,9 月份,10 月份學長參加了挺多場的宣講會,因為學長是個比較偏內向的人,口才並不怎么好,不大懂得怎么去套路面試官,所以前面的幾場面試都是被刷掉的。

刷着,刷着,也是給學長刷出了經驗吧,學長漸漸了解了面試官會對你說的哪些內容感興趣,面試過程中也漸漸可以掌握主導權,把面試官會問的問題引導到你熟悉的項目上去,這樣下來也就漸漸的比較有把握了。

你們求職的時候,學長並不建議你們像學長一樣,基本上每場都參加,你們應該要事先就想好要去的公司,找些學長學姐了解一些公司的情況,盡量做好准備,爭取在你想去的公司校招時就可以通過。學長當時心里是已經想好了去哪,但是學長知道自己口才並不好,擔心直接參加那公司的校招時表現不好會被刷,所以在那之前參加很多宣講會來鍛煉自己。

參加了這么多的宣講會,被hr刷了那么多次的面試后,學長漸漸感覺出來,當學長聊到軟工的經歷時面試官都會挺感興趣的。也不是只聊軟工的項目,而是說,將學長自己在軟工過程中參與的事都跟面試官聊了,面試官對這些事反而會更感興趣。

也就是棟哥給你們布置的那些作業,讓你們去見客戶,去談需求,去整理文檔,去設計原型,去分析別人的產品,去寫博客,去設計架構,去學習團隊如何管理,項目如何協作開發,版本控制工具 git 如何使用,以及讓你們堅持每日站立式會議等等這些。

或許,你們現在對做項目,做軟件的理解還是覺得等價於敲代碼,學長很長一段時間也是這樣理解的。后面漸漸覺得,棟哥為什么讓你們在敲代碼前做了那么多准備,等你們結束軟工課程后會發現,整個軟工實踐過程,實際上花費在其他工作上並不比編程的時間少多少。

其實,除了棟哥的這種軟工經歷外,你們如果有其他的項目經歷的話,是不是發現只有棟哥才會不斷的強調除了編程之外的工作的重要性,強調文檔的重要性,強調團隊管理方式的重要性,強調PM的重要性

學長經過實習的經歷后覺得,也許棟哥這么做是想讓你們盡早的體驗模擬公司的工作情況吧,實習期間很多事情跟軟工的經歷的確很相似的,像上面說過的每日會議。

還有一點,公司是很重視文檔的,也許你們現在會覺得棟哥讓你們寫的文檔沒多大的作用。學長記得,北航的軟工課程里有這樣一次作業:鏈接

如果你的團隊來了一個新隊員,有一台全新的機器,你們是否有一個文檔,只要設置了相應的權限,她就可以根據文檔,從頭開始搭建環境,並成功地把最新、最穩定版本的軟件編譯出來,並運行必要的單元測試?(在這過程中,不需要和老隊員做任何交流)

而且,學長在實習時,就更覺得文檔是有多么的重要了。學長實習時,老大是直接把一個老項目交給我,然后讓我自己去熟悉一下整個項目,熟悉一下各功能的實現原理。

這個項目是有兩三個工程,幾十個包,上百個類,但是一份文檔都沒有。學長當時是完全不知道該從何入手的,好在,他的命名還不算太糟,后面基本是通過命名來理解的。所以,你們可以想象下,如果你們不重視文檔,不統一一些編程規范,那么如果要讓你們項目交給別人繼續開發時,別人需要花費多少代價。如果是你們接手這樣一個項目呢。

既然說到這,學長得在這里表示下歉意,學長那屆很多都是在摸索中學習的,那時還沒有這么多的體會,所以,對於接手我們項目的小組,辛苦你們了,估計你們在看我們項目時也會像學長一樣一直在吐槽的吧,學長們做好准備接受你們的吐槽了。但這確實是個挺不錯的經歷的,也是個讓你們體會,印象都很深的經歷,在你們以后面試過程中很有幫助的。

好像跑題了,總之,學長想說的就是,棟哥給你們布置的每次作業都是很高大上的,也都是挺有用的經歷,希望你們能認真參與進去,有參與也就會有自己的體會。回到面試上的問題來。

之前說到跟面試官面試的時候,要盡量的讓面試官對你感興趣,盡量讓你說給面試官的經歷中體現出你的學習能力,你的態度。

學長在最初的幾次面試里,沒有什么經驗,介紹自己的項目時,大多都只是簡單的說一下項目的功能,還有自己負責了哪些模塊,然后等待着面試官繼續提問,然后面試官通過會再多問一兩個問題,比如你做項目時碰到最困難的事是什么,你怎么解決的之類的。通常,一場面試下來也就 10-20 分鍾左右,面試過程沒什么亮點,基本都是一問一答。最后,學長基本也都被刷掉了。

后來,學長在介紹項目時,開始帶上了自己在軟工里的一些經歷,學長可以感覺出來,面試官當時就表現出了興趣。

學長說到見客戶,談需求時,有的面試官就感興趣的問,"你們跟客戶是怎么溝通的,你們最后驗收的時候,有碰到過客戶又改了需求了嗎"。  

學長說到設計原型時,有的面試官明顯會很感興趣的說,"你們還設計了原型啊,那么用的什么軟件,有把原型展示給客戶嗎,客戶怎么說..."。  

學長說到文檔部分時,有的面試官會問,"除了需求說明書外,你們還寫過其他文檔嗎"。  

學長說到團隊開發,每日會議,git 管理項目時,有的面試官就會問說,"你們會議談的是什么,git 使用時有碰到到什么問題嗎"。(這點相信有去使用 git 的同學都特別有話說的吧,初學者剛接觸git通常都會碰到各種各樣的問題,也許你們現在也還沒理解清楚,不用擔心,用久了,用熟悉了,后面漸漸就會都理解了,印象也就更深刻了)。

上面的這些問題,大多數都是在技術官談項目時,技術官問的問題,學長猜想,可能技術官會覺得作為一名學生,能接觸過這些比較正規點的,類似公司級別的軟件開發過程的經歷,挺不錯的吧。所以,學長還是再說一遍,棟哥給你們布置的各個作業,其實都挺有用的。

如果是 hr 面的話,hr 更多的是想聽你的經歷,聽你的總結。在跟 hr 聊天時,學長通常也是在介紹項目時,順帶把軟工的一些經歷說出來:  

有的 hr 就會問說,"你覺得你們團隊怎么樣,你們服從你們組長的安排嗎,有過觀點沖突嗎,有的話你們又是怎么說服對方的"  

有的 Hr 會問說,"你剛才說的那個每日會議,有沒有印象比較深的一次,說一說"  

有的 Hr 也會問說,"你覺得你們隊員怎么樣,給他們打分的話你打多少,為什么。讓你給你們團隊成員排個名,你會怎么排"  

也有的 hr 會問說,"你們團隊有碰到過很困難的情況嗎,在這種情況下你有沒有做了哪些比較有亮點的事。你覺得你給團隊貢獻了有多少"  

當然,通常也都會問,"你從這個經歷中有收獲到什么嗎"

所以說,hr 並不會像技術官一樣,要去明確你的能力有多少,通常 hr 更想聽你的一些經歷,聽你自己過后的一些總結。學長建議你們,開發過程不要太順利了,整個過程團隊也不要一直都很和諧。

不要怕碰到困難,碰到一個,你反而就有一次可說的經歷,這個問題基本每個 hr 都問過學長。跟隊員觀點有不一致時,盡量說出來,討論起來。當然,有新的體會,新的理解時如果可以總結一下,記錄一下是最好的了。

通常在面試時,把你的軟工經歷講出來,把面試官會問的問題引導到你熟悉的地方,這樣面試過程就會是由你來主導,一個軟工經歷聊過來,一場面試時間基本都可以在 30 分鍾以上,能通過面試的幾率也就大了。

最后還有一點,作為 PM 的學弟學妹們,面試官對你們可是很感興趣的,有這樣的一次管理團隊的經歷。學長有好多次的面試中,hr 直接跟學長要 PM 的聯系方式,還問說,你們 PM 現在工作找得怎么樣了,你可以讓他來試一試。雖然 PM 的工作會更辛苦點,但收獲也會更多的,我們組長就去給棟哥當過助教,體驗了一把。

但這些,都需要你們軟工實踐的每次作業都認真參與進去,有參與進去,你才會有所體會,也才會多多少少有些話可以說。如果你們團隊一直很和諧,開發過程中沒碰到過困難,每日會議只是應付下,前期的原型工作,文檔工作都不怎么重視的話,這些過程你自然就沒多少體會可以說了。

寄語

上完軟工,學長是覺得:做項目,做開發,不是等價於敲代碼這么簡單。能力也不是衡量一切的標准。

學長希望,你們可以認真的參與軟工實踐。讓軟工這個經歷,可以成為你們在以后求職中的一大助力,也可以成為你們考研的后手准備。

雖然熬夜是多了點,但可以跟伙伴們一起在活動室里看看凌晨五點鍾的福大,何嘗不是種美好的回憶。等軟工結束,你們可以跟其他軟工班級的同學交流下,即使最后你們沒能去最好的自助吃一頓,收獲和體會仍然會比他們多的。因為棟哥這門課不水,他不會讓你們只是拿到學分而已。

當然,這也取決於你對待這門課的態度。

最后,學長祝福你們上完軟工都能有自己夢想的收獲。


免責聲明!

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



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