如何做好C++程序員-進(jìn)階篇
上一篇講了c++程序員如何入行,這一篇我們講講入行后該如何進(jìn)階
程序員進(jìn)階一般是入行1-3年,也就是黃金3年期
這個(gè)階段最難了
?
甚至比剛?cè)胄懈y、更迷茫。你在工作時(shí)可能會(huì)信息閉塞
?
對于自己的提升,不知道該學(xué)什么?你也不知道該往哪個(gè)方向?qū)W
?
到底是學(xué)公司的項(xiàng)目?
還是學(xué)書上的理論?
還是別人的視頻,還是github的開源項(xiàng)目
?
很多小伙伴知道我在16年校招進(jìn)的華為海思的,做的嵌入式,說實(shí)話,我是真的不喜歡嵌入式,
?

后面華為的一個(gè)本校的師兄,02級的,叫我去創(chuàng)業(yè),在深圳,
然后租了一個(gè)小區(qū)房,在里面做攝像頭開發(fā),那時(shí)候我們是深圳第一批做安防行業(yè)的
?

那時(shí)候安防行業(yè)是真的火,雄邁每個(gè)月的出貨級別是kk級
說實(shí)話,那時(shí)候我是什么都要做,當(dāng)時(shí)也沒有什么技術(shù)視野,做客戶端,我居然用MFC做,
?

做服務(wù)端,按道理說,創(chuàng)業(yè)做服務(wù)器開發(fā)就應(yīng)該用java,而不是用C++
這是老秦2017年用IOCP做的安防的后臺(tái)服務(wù)器
?

然后也寫了很多嵌入式代碼
?
最終公司搞了一年多,也燒了很多錢,我們老板本來是開保時(shí)捷的,后面換成了寶馬X1,最后我離職的時(shí)候,換成了豐田卡羅拉,所以真的不要輕易創(chuàng)業(yè),基本上是九死一生,但是這個(gè)階段,我的技術(shù)棧真的變得很全面,C++服務(wù)端、客戶端、嵌入式 單片機(jī),基本上我都做出了產(chǎn)品級別的代碼
這些經(jīng)驗(yàn)再加上我985本碩連讀的學(xué)歷,讓我在回長沙后面試長沙很多大公司都是一路亂殺
?
也拿到了很多offer,像拓維信息、三一重工、中聯(lián)重科、中國中車這些offer。然后我在 2018年9月加入深信服,為什么選擇深信服呢?
?

在沒進(jìn)入深信服之前,長沙其實(shí)真的沒有多少公司
?
從華為出來,再進(jìn)長沙華為也不可能了
三一重工號稱是996
興盛優(yōu)選主要是java技術(shù)棧
中聯(lián)重科給不起工資
拓維信息太遠(yuǎn)了
中國中車在株洲
騰訊社招面試周期太長了
最終選擇了深信服,就是因?yàn)樯钚欧娴暮躰ice。大而美的公司,當(dāng)時(shí)拿到深信服的 offer 以后,我還和 HR 要求考慮一個(gè)星期。其實(shí)我當(dāng)時(shí)蠻忐忑的,因?yàn)榫W(wǎng)上到處都是深信服加班嚴(yán)重、剝削員工的負(fù)面新聞。
當(dāng)然進(jìn)去之后,直到今天,一直覺得,其實(shí)深信服是個(gè)非常非常 nice 的公司,上層大多數(shù)管理者以及同事都能做到坦蕩蕩、對事不對人,而且地位平等,很扁平化的管理,而且執(zhí)行力特別強(qiáng)
?
說實(shí)話,前面這3年,就我個(gè)人而言,還是一邊學(xué)習(xí),一邊落地過很多大型項(xiàng)目,使得自己的技術(shù)棧有了一個(gè)質(zhì)的提升
?
總結(jié)一下,對于C++的技術(shù)進(jìn)階,
在這黃金3年期,你要做的事情就是確定一個(gè)方向、提高你解決問題的能力、拓寬你的技術(shù)面
?
具體的話,就是:
具備系統(tǒng)級應(yīng)用開發(fā)經(jīng)驗(yàn),能寫出優(yōu)雅的代碼,能優(yōu)化性能,能做代碼重構(gòu)
熟悉兩個(gè)或者多領(lǐng)域的開發(fā),比如客戶端開發(fā)、音視頻開發(fā)、后臺(tái)開發(fā)、嵌入式開發(fā)等等
?
在這里,我給大家推薦的書籍:
音視頻類:《ffmpeg音視頻開發(fā)實(shí)戰(zhàn)》
服務(wù)器:《Linux高性能服務(wù)器編程》
《Linux多線程服務(wù)端編程 ?使用muduo C++網(wǎng)絡(luò)庫》
性能分析類:《性能之巔》
?

推薦的項(xiàng)目有音視頻類的《live555》和服務(wù)端的《redis源碼》,里面有很多技術(shù)點(diǎn)可以去學(xué)習(xí)和拓展,大家可以找我領(lǐng)取

當(dāng)然其實(shí)更推薦你把你公司的項(xiàng)目的各大部分的原理基本搞懂
然后就變成了你自己的項(xiàng)目了
?
?
?
?
?
?