我是如何成為一名程序員的?

語言: CN / TW / HK

大家好,這篇文章主要聊聊我是如何從非科班,走上程序員這條不歸路的,我把它放到了新開的專輯“職言”裏面,後續有關職場和職業發展的文章都會放到這個專輯裏面。

2013年那個炎熱的夏天,浩浩蕩蕩的幾百萬高考學子奔赴着他們憧憬已久的大學校園,學霸們計劃着在新的戰場裏大展拳腳,學渣們慶幸着苦逼的日子終於解放了。

選學校和專業是個難題,尤其是我這種全家“第一個大學生”,根本沒有一個前輩踏着七彩祥雲來告訴你,該選擇什麼學校,選擇什麼專業。

索性心一橫,選擇了xx財經大學,心想跟錢打交道的,想必壞不到哪裏去,而且搞金融的聽起來好像比較牛逼。奈何分不太夠,進不了學校最牛逼的金融專業。於是打迂迴戰術,選了一個“電子商務”專業,勉強算是一個計算機和金融都沾點邊的雜交專業。以至於後來面試的時候,面試官疑惑地問我:你這個專業跟計算機專業有關係嗎?我只能弱弱地回答他:“算是計算機相關專業吧……”

起初我和大多數同學一樣,對寫代碼這件事是有些抵觸的,尤其是在財經大學這麼一個大環境裏,大家都會覺得學好金融知識才是最重要的,計算機只是用來輔助咱大金融的。

我那個時候也不喜歡編程,心想:這麼一大堆英文,看得頭暈眼花,又複雜又無聊。大一學習Java這門課,敲半天代碼,打印出來一個“hello world”,或者計算出來幾隻兔子幾隻雞,有什麼意義和價值?

興趣是一個人最好的老師,由於對計算機方面的東西並不感冒,大學跟計算機有關的為數不多的幾門基礎課我都學得不咋樣,當然,班上絕大多數同學和我一樣。

大二的時候,陸續參加了學校的一些比賽,很多是創業比賽。這個時候就體現出編程的重要性了,有幾個院裏比較出名的編程大腿早就被別的團隊預訂了,狼多肉少。

我心想,不就是編程嗎?於是提槍上馬,抄起《Java語言入門》就開始學。後來發現,編程這個東西,你不瞭解的時候,會覺得它很難。當你開始瞭解的時候,你會覺得它比你想象中的難

後來比賽沒搞得咋樣,倒是學習到了一點編程的本事,成了一個編程小腿,也對寫代碼這個東西慢慢有些瞭解了。

拐點是在大三上學期。那個時候大家都在思考着以後畢業後要幹什麼,有人選擇繼續深造,有人選擇就業。作為一個什麼都學點的專業而言,畢業後選擇做什麼就比較重要了。

那個時候正值BAT(那個時候是指百度,阿里,騰訊)如日中天的時候,程序員的畢業薪資水平排名也穩步提升。也是這個時候,我才下定決心要學好編程,把它當成自己以後吃飯的飯碗。

剛好那個時候有門選修課是教編程的,教這個課的老師是信息中心一個負責做我們學校網站的老師。於是第一節課下課後,我找到老師,問:我能不能來信息中心幫你做網站。

老師答應了我,讓我先從前端開始做,沒課的時候就去。但對於前端我是完全不瞭解的,它跟Java也完全不相關,是另外一個領域的東西。但鍛鍊的機會難得,於是那個週末兩天的時間我通過看書惡補了一下前端的基礎知識,就開始一邊學一邊做。

坦率的來講,前端比後端對新手是更友好的,因為你能夠看得到你的程序運行的效果,只需要寫一點代碼,就能在瀏覽器上做出一個按鈕、表格。

做了一段時間後,再加上持續的學習,我的前端也寫得越來越熟練了,用HTML, CSS, JS, BootStrap, Jquery這幾個東西,基本上能做出很好看的頁面,甚至還可以“響應式”,根據屏幕的大小不同,佈局不同。

後來慢慢發現,編程是一件挺有成就感的事。也慢慢了解到,所有的網站、APP、軟件都是由一行行代碼寫出來的。前端負責界面的渲染,後端負責邏輯的處理。也是在這個過程,慢慢了解到了後端的重要性,於是開始用另一種視角去看待Java,理解Web服務。

大三的課不多,我在大二下學期選課的時候早有準備,選課都比較集中,所以有一些比較整塊的時間。後來有幸找到一個小公司的實習機會,老闆答應我可以每週只上4天班,其中2天由於晚上六點多有課,還可以早點走。

那段時間是忙碌而充實的,早上六點就得起牀,六點半從學校門口出發,坐公交加地鐵,接近兩個小時到公司。晚上有課的話,就趕回來剛好上課;沒課的話,到寢室基本上是10點左右。坐公交和地鐵的時候,用手機在網上看視頻課程,感覺自己每一天都能學到新東西,每一天都在進步。

剛開始仍然是做前端,只不過真正開始接觸了商業項目,做一些外匯相關的網站。那個時候公司還沒有專業的前端,都是後端兼職在做,寫JSP。很多後端都不喜歡寫前端,覺得調樣式非常的麻煩,所以寫前端的活兒基本上都交給了我們幾個實習生。

公司的同事和老闆都覺得前端比較簡單,真正重要的東西都在後端,讓我多學習點後端的東西。也是因為這段實習的經歷,才讓我最終沒有成為一個前端程序員,而是後端程序員。

也是在這期間,我開始寫了我的第一個版本的個人博客網站,用JSP和BootStrap做的,這個個人網站後來在我找工作和跳槽的時候給了我非常多的幫助,作為了我的一個個人亮點。

一邊學習前端,把自己的工作做好,一邊也沒有放棄後端的學習,但這個時間段更多的是學習框架的用法。平時就是上班、上課;週末就是上圖書館看書、寫代碼。就這樣,很快實習結束了,也到了大三暑假的時候。

大三暑假我沒有再去找實習,而是做了兩件事。

本來想找個互聯網公司實習的,但是投了幾個大型互聯網公司的實習生招聘,結果筆試都沒過。看了一下,大公司都比較重視基礎,比如網絡和算法什麼的。感覺自己實力還不夠,就沒有繼續投下去。

還在學校的同學們,一定要重視計算機的基礎知識,比如JVM、網絡、操作系統、算法等,這個非常重要!!!

第一件事是,跟着老師們去泰國那邊合作的大學,開發了一個APP,為期半個月,我主要負責後端。同行的十來個同學都是頂級的學霸,只有我可能是因為有實際的編程項目經驗所以才選上的……

項目開發還算順利,我也獲得了自己想要的東西,泰國遊,加上一個不錯的項目經驗,還認識了一羣有意思的學霸朋友。

第二件事是,從泰國回來後,我就在學校附近租了個房子,惡補計算機基礎知識,準備秋招。那個時候其實還是蠻有信心的,畢竟自己也有一些實際的項目經驗了,而且也學習了一段時間了,找個工作應該不難。

但現實給了我狠狠一巴掌。報了阿里和網易的秋招,仍然止步於筆試。發現筆試的難度比實習的時候的試題高了一個檔,尤其是編程題那塊,根本寫不出來。當時覺得非常懵逼,能入職BAT的都是什麼人才啊,這些東西他們都會嗎???

其實冷靜下來想想也是,人家都是計算機專業頂級的學霸,我憑什麼學了幾個月就能夠跟他們一樣?不過自己也走了一些彎路,沒人告訴我應該學什麼,沒人告訴我應該刷一些面試題,看一些面經。

找工作或跳槽,面試刷刷題還是蠻重要的,編程技能的話也可以練一練,牛客網和LeetCode都是非常好的練習平台。

有些挫敗感,整個大四上學期都在找工作。由於我們學校是財經大學,所以來我們學校開招聘會的大多都是xx銀行或者xx證券公司。人家想招程序員的,基本上不會來我們學校,而且我們學校學編程的也不多,整個院裏打算畢業後搞編程的,兩隻手都數的過來。

所以還得關注川大和電子科大的校招,經常坐公交去那邊交簡歷和麪試,單程一個多小時,非常折騰。Offer倒是有幾個,但都不怎麼滿意,想找個互聯網公司,但是發現門檻都比較高,自己也不是科班出身,人家根本看不上。

找工作真的很累,但是投的公司其實不多,也就十多家吧。

最後其實沒有太多選擇,offer不多,其中在成都的就更少了。無奈選擇一個大型的外包公司簽了三方,寒假去實習了2個月左右。我們班上僅有的三個寫代碼的組隊一起去的,也算是有個照應吧。

回家過年的時候,有些意外地接到了之前面試的某國企的電話,問考不考慮去那邊實習。

其實這個國企之前面試就通過了的,但由於三方合約只能籤一次,而之前那個外包公司不願意退三方,要退也得等到五月份;而當時國企也是傲嬌的,説必須要三方才能來實習。可能是後來招人不太順利吧,所以才鬆口説可以先去實習,後面五月份補交三方。

這裏勸戒還沒畢業的小夥伴,不要那麼輕易籤三方,能拖就拖一拖,因為三方改起來非常麻煩的,學校這邊也會有一些阻力。

這彷彿是一束光!國企當然香啊,薪資待遇和發展前景跟外包公司不是一個級別的。所以年後瀟灑辭職,轉去了國企實習,後面畢業後順利入職。

最後再嘮叨幾句。很多沒接觸過編程的朋友,聽説程序員工資還可以,所以就盲目地報班或者自學想要轉行。

怎麼説呢,做程序員還是很累的。互聯網公司基本都加班,你還得抽時間持續不斷地學習,如果對它不感興趣,其實是走不遠的。何況行行出狀元,任何行業你把它做好了都很了不起,程序員真的不香!!!

今天的分享差不多就到這,差不多把大學有關學習編程的經歷也總結得差不多了。其實總結寫完了,感覺還是有些遺憾的,雖然努力了,但是畢業的時候沒有找到自己真正想去的公司。

不過還好,時間總會看到你的付出,總有一天,它會給你迴應。

下期本專輯準備分享《畢業兩年多,從國企到阿里,我經歷了什麼?》敬請期待~

關於作者

微信公眾號:編了個程

個人網站:http://yasinshaw.com

筆名Yasin,一個有深度,有態度,有温度的程序員。工作之餘分享編程技術和生活,如果喜歡我的文章,可以順手關注一下公眾號,也歡迎轉發分享給你的朋友~

在公眾號回覆“面試”或者“學習”可以領取相應的資源哦~

公眾號
公眾號