* {2 O1 F+ l; V# C* p5 g
本人Java開(kāi)發(fā)6年半不到7年的樣子。 英語(yǔ)專業(yè),臨畢業(yè)跟著隔壁專業(yè)去培訓(xùn)了四個(gè)月 Java 。 跟他們一起來(lái)了北京找工作,一找就是 5 個(gè)多月,面試 100 多家公司。最終還是隔壁專業(yè)的同學(xué)介紹到他們公司才就業(yè)了。 入職后同學(xué)就是我的上司,技術(shù)相對(duì)一般,我們做 Java 游戲后端的,時(shí)間很快,一眨眼,我就跟著混了四年,每天就看些博客,書(shū)籍,業(yè)務(wù)上也會(huì)做功能,但自覺(jué)做的比較蠢。沒(méi)什么太大進(jìn)步。 四年時(shí)間很快樂(lè),跟著老板,同學(xué),從一點(diǎn)不會(huì),到能獨(dú)立完成工作,能自主做一點(diǎn)小小設(shè)計(jì)。但技術(shù)上說(shuō)真的,差得太遠(yuǎn)。 隨著心越來(lái)越慌,工資水平屬實(shí)也太低 6K 多,于是四年這個(gè)節(jié)點(diǎn),我跳槽了,工資翻倍。這是一份非常苦的工作,曾經(jīng)2個(gè)多月沒(méi)放假,也曾經(jīng)連續(xù)四天四夜沒(méi)回家,工作到凌晨 3 點(diǎn)是司空見(jiàn)慣。 然而我只是個(gè)小兵,加班加了 10 個(gè)月,游戲上線兩個(gè)月,人員就全部裁掉了。由于 Java 一直感覺(jué)沒(méi)有入門,框架方面 掌握的也比較少,這個(gè) MMO 的項(xiàng)目本是練手大好時(shí)機(jī),連忙帶懶就也這么過(guò)來(lái)了。 隨后不知道算走運(yùn)還是算倒霉,找到了上市公司的工作,20K「我夢(mèng)想中的工資是 25K,如果達(dá)到就打算不再跳槽了,為什么是25K?因?yàn)橛螒?/font>Java后端基本上 30K 算是一個(gè)封頂,哈,當(dāng)時(shí)比較幼稚,以為就這么干著,早早晚晚也能混到最后,就算技術(shù)不行,吃透兩套框架,在游戲圈就能立住腳」。 說(shuō)是走運(yùn),因?yàn)楣ぷ飨鄬?duì)簡(jiǎn)單,我 1 個(gè)后端對(duì) 6 個(gè)前端,聽(tīng)起來(lái)挺唬人,但其實(shí)還是做業(yè)務(wù),但因?yàn)橹挥形乙粋(gè)人接手這個(gè)項(xiàng)目,所以我也算是主程,當(dāng)時(shí)我覺(jué)得我的人生的每一步真是走的太好了,缺什么來(lái)什么,想要架構(gòu),想要自己來(lái)就有機(jī)會(huì)了,這一年多感覺(jué)特別順利,也覺(jué)得自己終于像是入了門,不再害怕工作上的需求了。 但說(shuō)是倒霉呢 ,其實(shí)也就是因?yàn)檫@一切其實(shí)都是假象,我根本還是幾年前的那個(gè)自己,只是因?yàn)闃I(yè)務(wù)熟練了,以為自己行了。 這公司也是裁員,我在這里做了一年半不到,臨走給了 N+1,美美的拿著錢,找自己夢(mèng)想中的 25K 去了。并且決定不做游戲了,因?yàn)橛螒蚬居忻木湍菐准遥瑳](méi)啥發(fā)展,還是互聯(lián)網(wǎng)好,差不到 40K 封頂,我以上所說(shuō)的封頂都是指很普通的人啊,大佬就別跟我計(jì)較了。 就在裁員的第二天,我面試了京東一個(gè)物流創(chuàng)新部,好像是這個(gè)名字,那天我記得特別清楚,經(jīng)過(guò)了一下午面試(面試的難度真是超級(jí)低,我在那里侃侃而談,最難的問(wèn)題也只是線程池那幾個(gè)參數(shù))。 然后,過(guò)了。我真的感覺(jué)自己要一飛沖天,當(dāng)時(shí)在想,在這里不能做太久,公司的文化太詭異,一切圍繞著強(qiáng)東轉(zhuǎn),公司的人說(shuō)話好像都在躲著什么東西,加班也是每天固定,然后大小周。因?yàn)檎s上過(guò)年,面試的人說(shuō)年后人事會(huì)聯(lián)系我走流程,就能入職。 這一去就天差地別了,我在家等了一個(gè)半月,中間經(jīng)過(guò)無(wú)數(shù)詢問(wèn)面試者,人事等,后來(lái),流程跑著跑著就沒(méi)了。當(dāng)時(shí)覺(jué)得京東真是讓人開(kāi)眼,還特么帶這么玩的。 這時(shí)候,我還是不知道愁~然而,馬上就要覺(jué)醒了。我又去面試,還是25K,有時(shí)候你認(rèn)真的要價(jià)真的比猥瑣要好很多,我當(dāng)時(shí)就是愣要,大部分人還真信。記得收到的OFFER有必要商城,贏時(shí)勝等等,后來(lái)去了一家做語(yǔ)音的公司負(fù)責(zé)做云平臺(tái)。哈哈,這份工作只做了三天半。從入職第一天就夜夜失眠,為毛?因?yàn)榭床欢a,壓力很大。 以前做游戲覺(jué)得大家都是吊絲,每天在一起呼呼哈哈,確實(shí)也快樂(lè),有什么需求甚至直接在座位上喊著溝通這樣。但是這家公司就比較正規(guī)了,我以為互聯(lián)網(wǎng)公司都是這個(gè)樣子的,同事之間一天一句話都不說(shuō),主程也只給我簡(jiǎn)單說(shuō)了說(shuō)流程,就自己看代碼吧。 我雖然技術(shù)渣,但有時(shí)候?qū)ψ约阂筮是挺高的,總想快速的上手代碼,這代碼這手上一天,兩天,三天,連個(gè)皮毛都沒(méi)看出來(lái),就慌的不行,當(dāng)時(shí)就開(kāi)始知道自己代碼水平有點(diǎn)渣了,但以為自己是不適應(yīng),這次找工作其實(shí)也挺波折,醒悟是一個(gè)緩慢的過(guò)程。 所以還是想著回游戲行業(yè),畢竟自己歷經(jīng)三家公司,都沒(méi)碰到什么難度,雖然尋路啊,地圖啊,戰(zhàn)斗啊這些自己都完全整不了,但是還是能完成普通工作的,此時(shí)的我還以為自己能搭框架呢,啊哈哈。 于是我就辭了,公司真的不錯(cuò),14薪,要走還好頓要留我。當(dāng)時(shí)以為自己是不適應(yīng)走的,F(xiàn)在回頭想想,其實(shí)怕暴露真實(shí)代碼水平,不好意思才走的「身體不騙人,我的腦子居然會(huì)騙自己」。 于是,我開(kāi)始面游戲了,還是 2 ,但面著面著覺(jué)得不對(duì)勁,為何大部分面試我都答不上來(lái)個(gè)啥,三問(wèn)兩問(wèn)就癟了。兩周時(shí)間,居然 10 家只收到 1 個(gè) OFFER,并且是小公司做主程。我開(kāi)始慌了,很慌,這 10 天里我慢慢認(rèn)清自己的真實(shí)水平了,不敢細(xì)想,細(xì)想連面向?qū)ο蠖疾辉趺磿?huì),那些繼承啊接口啊,從來(lái)也沒(méi)寫(xiě)得好看過(guò),都是照著別人已有的模塊,拿來(lái)粘貼,還做得挺快。 多線程一想就蒙蔽,數(shù)據(jù)庫(kù)就會(huì)點(diǎn)簡(jiǎn)單操作,Linux 也是一樣就會(huì)個(gè)CP MV CAT top啥的,最常用的是 ps -aux|grep。原來(lái),原來(lái)我什么都不會(huì)啊。但是上天還是眷顧我的,居然這十幾家我最看好的那家公司,第 11 個(gè)面試。過(guò)了,哈哈,當(dāng)然這時(shí)薪資下來(lái)了一點(diǎn),但是我管不了那么多,從上家裁員到現(xiàn)在,已經(jīng)整整過(guò)了 2 個(gè)月零一周了,這些天過(guò)得真不怎么樣,每天都特別焦慮。也瘦了七八斤。 就這樣吧,入職好好干吧,我收到OFFER時(shí),暗暗想著,我要為公司腦涂地,它在我危難之時(shí),向我伸出了關(guān)愛(ài)之手,感謝公司。 于是更大的噩夢(mèng)開(kāi)始了~~入職到現(xiàn)在 2 個(gè)月了,我?guī)缀趺矝](méi)做。每天都想逃避都想跑,心臟壓得我天天疼,好堵啊,現(xiàn)在也還是如此。這 2 個(gè)月我徹底認(rèn)清了自我,和入職半年的新生小手差不多的水平,一直用這水平干了這六年工作。。 真汗顏,以前用的 SVN,到了新公司學(xué) git,這 git 是真難啊,怎么都學(xué)不會(huì),網(wǎng)上那堆教程跟屎一樣,看著好像是會(huì)了,用著都特么不對(duì),差得遠(yuǎn)呢,到現(xiàn)在還只會(huì)create a branch,寫(xiě), pull develop ,切回來(lái)把develop 合過(guò)來(lái),然后再把branch合回到develop,再push,基本上是在用svn的方法在用git,而且 git我感覺(jué)很奇怪,好像沒(méi)幾個(gè)真的會(huì)用,不管是網(wǎng)上還是我的同事。 光說(shuō)痛苦了,說(shuō)說(shuō)自己為什么痛苦吧,我知道每個(gè)人都有自己的心酸事。我只是想說(shuō)說(shuō)我的。 哎,主要說(shuō)說(shuō)新公司的事吧,這么多天了,我死去活來(lái),難受的要命。比如我從剛?cè)胄芯筒淮蠖_(kāi)發(fā)的根本問(wèn)題是什么,也許書(shū)本上的解釋我也看得懂,但是真要理解這件事,應(yīng)該不是只停留在字面理解,如果你有懂那一天,你應(yīng)該立刻就知道,它會(huì)直接在頭腦中告訴你---啊我入門了。 鑒于此,我一直都保存著前幾家的源碼,我想著,開(kāi)發(fā)既然自己不能理解好,也沒(méi)有舉一返三的能力,也不會(huì)自主寫(xiě)出什么東西。那就收集多多的代碼,涉及到的哪一部分不懂,可能就能在其中找到例子,靈感。這樣就可以在框架層面也不至于什么都沒(méi)有積累。 這次的工作,服務(wù)端也分了好幾個(gè)進(jìn)程,之前我都是用redis搞數(shù)據(jù)溝通,比如你要生成唯一ID,每個(gè)子服務(wù)里都有redis,incr就好。新的框架也是這個(gè)主程用了好多年的了,不想加入新的東西,但是又要求我按他的思路去做,又說(shuō)代碼版權(quán)等問(wèn)題,之前所有的源碼都不能給我看,我想其實(shí)也是合理的,畢竟我是 P6,高級(jí)開(kāi)發(fā)哎。按理說(shuō),招我進(jìn)來(lái)可以從 0 開(kāi)始搭建架構(gòu)的。我的能力也就是 curd 了,甚至可能 curd 還做不太好,也就說(shuō)不上怎么能硬氣的跟他說(shuō)明。 比如上面 id 的問(wèn)題,那我可能就要每個(gè)服啟動(dòng)時(shí),去 mysql 查一批id存放在每個(gè)子服務(wù)上面,設(shè)一個(gè)警戒值,不夠了再取。但是這樣吧,對(duì)我來(lái)說(shuō)就很難,這就要考慮到警戒值不夠用了怎么辦,各服務(wù)啟動(dòng)時(shí)要把id拿到才能對(duì)外服務(wù),還有 id 如果實(shí)在沒(méi)有了,可能要進(jìn)行同步阻塞去查詢,但是同步怎么寫(xiě)?不會(huì)寫(xiě)同步~~ 另外再舉例子,如果是加好友功能,這種單用mysql,而且還弄出一個(gè) dbserver 的服務(wù),什么都要寫(xiě)個(gè)異步的協(xié)議過(guò)去,那加好友原來(lái)是: addFriend { 各種條件判斷,不合條件返回個(gè)tips 執(zhí)行加好友 } 現(xiàn)在可能變成這樣了: addFriend { 異步去查數(shù)據(jù)庫(kù)了 } gameserver -> dbserver ,當(dāng)dbserver->gameserver返回時(shí),又是另一個(gè)協(xié)議,handler什么的又得另寫(xiě),執(zhí)行判斷,再返回,等等。 當(dāng)然寫(xiě)得好的人,這些問(wèn)題都不存在,而我只會(huì)直腸子寫(xiě)Java,就會(huì)個(gè) List.add if else for循環(huán)。 這基本上是我的全部本領(lǐng)了。就在這框架里有很多難處。還有個(gè)問(wèn)題是怎么寫(xiě)gate與game的玩家session對(duì)應(yīng),想了N久才想出個(gè)辦法,包裝了個(gè)protobuf二層協(xié)議,,哦問(wèn)題多了去了。應(yīng)該都是開(kāi)發(fā)者該在工作中解決的基本問(wèn)題,而我一步一個(gè)坎。 再者公司的氛圍也是頭疼的緊,一整天也沒(méi)人說(shuō)話,除了要甩鍋的時(shí)候,根本沒(méi)人會(huì)溝通。交待任務(wù)啥的,給我壓力也特別大,比如主程今天說(shuō),docker了解一樣。然后明天讓我搭 dokcer 自動(dòng)化部署流程了。今天說(shuō)git flow了解一下,明天就要嚴(yán)格執(zhí)行 git 工作流了。 還是那句話,可能這是一個(gè) P6 真正要掌握的本領(lǐng),就是有個(gè)關(guān)鍵詞,然后就能自己看外文文檔,然后就能搭建出一個(gè)看上去很像樣的工程化產(chǎn)品。好吧,這樣來(lái)看我離真實(shí)的 P6 的實(shí)力,至少得差 5 個(gè)檔次。 自己特別的低迷,心臟堵的難受,每天早上一醒來(lái)就感覺(jué)自己活不起了。有天晚上夢(mèng)中,看見(jiàn)一堆代碼,卻怎么看都不懂,又醒不了,難過(guò),懊喪了一整夜,連睡覺(jué)的時(shí)間都不放過(guò)我,自己的痛苦多了就經(jīng)常跟朋友家人說(shuō),到后來(lái)反倒讓我認(rèn)清了,什么狗雞巴朋友,哪有朋友,沒(méi)人會(huì)care你一丁點(diǎn),各自有自己的煩心事不說(shuō)吧,沒(méi)有共同經(jīng)歷的也難為互相理解。 總之,在朋友對(duì)我的反應(yīng)上,基本就是你想多了;你不干得挺好的嗎;程序員一個(gè)拿那么多錢你還瞎苦惱個(gè)什么;不光你,誰(shuí)沒(méi)困難;其中特別好的一個(gè)也差不多最多寬慰?jī)删,你行,你可以挺過(guò)去之類的。之后就再無(wú)信息。 當(dāng)時(shí)也是苦惱了好一陣,認(rèn)識(shí)你們有個(gè)什么用,你說(shuō)我最想聽(tīng)什么,我聯(lián)系你們的目的是什么,哈哈,算了算了,都是故事,你們并沒(méi)有那么好。但回頭吧,仔細(xì)想想不禁就明了了這件事。 30多歲了,這是關(guān)乎你自己生存的問(wèn)題,這個(gè)問(wèn)題不是靠什么運(yùn)氣和神跡才能改善的,它積累在你多年生活的每一天里,你的理解是什么,你對(duì)工作的態(tài)度如何,你怎么利用你的時(shí)間的。 這一切的一切都是你自己該解決該思考的問(wèn)題,別人幫不上任何忙。然而這些年我都是養(yǎng)生過(guò)來(lái)的,一直都沒(méi)學(xué)會(huì)如何去思考,這應(yīng)該是與有所成就的人最大的區(qū)別了。 有人說(shuō)做職業(yè)規(guī)劃,而我腦中也只有這四個(gè)字的淺層意思。也許有的人對(duì)這個(gè)就比較上心,有著深刻理解也說(shuō)不定。 也就是說(shuō)別人怎么決定你的人生,別人怎么決定你的想法,都得自己去選擇,自己去承擔(dān),指望著別人給你的,只能是「放松心情了解一下努力了解一下」這樣看似沒(méi)用實(shí)際也沒(méi)用的東西。 今天先寫(xiě)到這吧,寫(xiě)得亂糟糟。 無(wú)論怎么寫(xiě)也寫(xiě)不出你真的在痛苦時(shí)那種無(wú)助與萬(wàn)念俱焚,你很難再去回想,你是怎么失眠一個(gè)月的,你很難想你在公司樓下對(duì)著鏡子,顫抖著害怕著不敢回辦公桌時(shí)的心情。 然而這一切都沒(méi)意義,生活不會(huì)因?yàn)槟阃纯嗑屯蝗蛔兒昧耍瑒e人不會(huì)因?yàn)槟阃纯嗑湍芊胚^(guò)你了,這些對(duì)任何人都沒(méi)意義。 我還將繼續(xù)下去,這家干不了了,還要找下家,還要每天學(xué)習(xí)「雖然效果不怎么樣」。然后等待著,這些遲早該發(fā)生的事。 你再想想,今天雖然這么痛苦,是不是可能是你接下來(lái)生活的最好的一天了。畢竟你就坐在那里十幾個(gè)小時(shí),就有人幾百上千的送給你。然后我干不下去這行了去做什么,銷售?開(kāi)個(gè)麻辣燙店?去工地真正的搬磚? hi,哈哈哈哈哈,外人看叫矯情,自己看屬實(shí)是活不起。 作者:Java填坑之路
5 {, g8 R" a! w# [# Q |