從 2018 年下半年開(kāi)始,互聯(lián)網(wǎng)行業(yè)出現(xiàn)了一個(gè)高頻的名詞:“寒潮”,一時(shí)間蓬勃發(fā)展的互聯(lián)網(wǎng)行業(yè)似乎遭遇了節(jié)節(jié)挫敗。同年,《中國(guó)就業(yè)市場(chǎng)景氣報(bào)告》中的數(shù)據(jù)顯示,互聯(lián)網(wǎng)行業(yè)招聘需求人數(shù)同比下降27%,在一些細(xì)分領(lǐng)域中,職位需求數(shù)更是同比下滑57%。多家知名互聯(lián)網(wǎng)科技公司相繼爆出裁員或降薪的消息?;ヂ?lián)網(wǎng)“寒冬”似乎已悄然來(lái)襲。
在2021年底的一次騰訊內(nèi)部會(huì)議上,首席執(zhí)行官馬化騰告訴員工,公司應(yīng)該為“冬天”做好準(zhǔn)備。2022年8月,華為創(chuàng)始人任正非喊話:“活下去”,并稱(chēng)“把寒氣傳遞給每一個(gè)人”。
雪崩之時(shí),沒(méi)有一片雪花是無(wú)辜的。堤潰之時(shí),沒(méi)有一個(gè)人能作旁觀者。
程序員作為互聯(lián)網(wǎng)行業(yè)的生力軍,處于行業(yè)變化的潮頭浪尖。大浪滔滔、席卷前進(jìn)。我們需要從一個(gè)新的角度來(lái)審視這種變化,從一個(gè)新的角度重新認(rèn)識(shí)程序員這個(gè)崗位、這個(gè)角色、這份工作。
很多人想做程序員,首要原因是其高額的薪資。然而,在高薪的背后,也有許多鮮為人知的壓力。程序員崗位是一個(gè)高競(jìng)爭(zhēng)、高壓力、高淘汰的崗位,有著鮮明的崗位特點(diǎn)。外界對(duì)程序員有不少刻板的印象,比如“不修邊幅”“少言木訥”之類(lèi)。而實(shí)際上,程序員的生活也是豐富多彩的。你是否真正走進(jìn)過(guò)他們的日常生活?是否了解他們的關(guān)注點(diǎn)?
由資深程序員、51CTO社區(qū)專(zhuān)家博主、掘金社區(qū)簽約作者、互聯(lián)網(wǎng)技術(shù)社區(qū)熱門(mén)博主涂阿然老師編著的這本《程序員成長(zhǎng)手記》將帶領(lǐng)大家打破固有認(rèn)知,重新開(kāi)始建立對(duì)程序員的印象,重新認(rèn)識(shí)程序員這個(gè)職業(yè)。
作者寫(xiě)書(shū)的初衷及過(guò)程
2021年,當(dāng)機(jī)械工業(yè)出版社編輯找到我,希望我寫(xiě)一本關(guān)于“程序員成長(zhǎng)”的書(shū)的時(shí)候,我感到些許訝異。出書(shū)?我也能出書(shū)嗎?因?yàn)樵谖夜逃械挠∠笾校鴷?shū)立說(shuō)之人或是學(xué)之大者,或是在專(zhuān)業(yè)領(lǐng)域有卓絕貢獻(xiàn)、對(duì)某類(lèi)事物有獨(dú)到見(jiàn)解的人,他們往往引領(lǐng)一個(gè)方向,指引一批人前行,是在某個(gè)領(lǐng)域開(kāi)疆拓土的先鋒、榜樣。出書(shū)在我心目中是“神圣”的。
而彼時(shí)的我,首要身份是一名“單純、樸素”的程序員,在互聯(lián)網(wǎng)行業(yè)已沉浮數(shù)年。
本科畢業(yè)后,我投身互聯(lián)網(wǎng)行業(yè),從事程序員工作,先后在創(chuàng)業(yè)型電商公司、互聯(lián)網(wǎng)百?gòu)?qiáng)企業(yè)、大型央企任職。坦率地說(shuō),我的工作經(jīng)歷和大部分普通程序員相似,經(jīng)歷過(guò)初入職場(chǎng)時(shí)的手忙腳亂,經(jīng)歷過(guò)試用期被篩選的忐忑,經(jīng)歷過(guò)升職、加薪后的喜悅,經(jīng)歷過(guò)互聯(lián)網(wǎng)“寒潮”時(shí)大量裁員的無(wú)奈,經(jīng)歷過(guò)因技術(shù)精進(jìn)而帶來(lái)的興奮,經(jīng)歷過(guò)和產(chǎn)品人員“互懟”的執(zhí)著……
這些經(jīng)歷看似平常,但就在此刻,在互聯(lián)網(wǎng)時(shí)代的當(dāng)下,正在一些互聯(lián)網(wǎng)公司上演著。有些經(jīng)歷值得我們思考、探究、總結(jié),以形成經(jīng)驗(yàn)。從“經(jīng)歷”到“經(jīng)驗(yàn)”,為后來(lái)者鋪平前路,讓他們走得更遠(yuǎn)。
彼時(shí)的我,還有另外一個(gè)重要的身份 —— 一名技術(shù)博客博主。
程序員寫(xiě)技術(shù)博客就像廚師寫(xiě)菜譜,非常有必要。一名新手廚師一定要牢牢記住師傅教授的技藝,好記性不如爛筆頭,這是寫(xiě)菜譜最初的動(dòng)力;隨著經(jīng)驗(yàn)的積累,新手廚師成長(zhǎng)為獨(dú)當(dāng)一面的廚師,此時(shí)應(yīng)該有一個(gè)屬于自己的獨(dú)到的菜譜庫(kù);再往后,可能成長(zhǎng)為一位遠(yuǎn)近聞名的大廚,真正的大廚不會(huì)放過(guò)任何一個(gè)細(xì)節(jié),此時(shí)可以把畢生經(jīng)驗(yàn)轉(zhuǎn)化為一套可以傳世的菜譜,造福后人,并推動(dòng)行業(yè)的發(fā)展。
程序員人生中的相當(dāng)一部分應(yīng)當(dāng)是博客人生,所以,我在畢業(yè)時(shí)有了寫(xiě)博客的意識(shí),從此便開(kāi)啟了我的博客之旅。好的開(kāi)始是成功的一半,剩下的另一半就要靠“持之以恒”來(lái)實(shí)現(xiàn)。
驀然回望,不曾發(fā)覺(jué),我的博客“粉絲”數(shù)已過(guò)萬(wàn),博客上已輸出上百篇文章,全網(wǎng)閱讀量逾百萬(wàn),我成為各大技術(shù)社區(qū)的優(yōu)秀創(chuàng)作者、簽約作者或?qū)<也┲鳌?/strong>
詩(shī)人紀(jì)伯倫說(shuō)過(guò):“我們已經(jīng)走得太遠(yuǎn),以至于忘記了為什么而出發(fā)?!?/p>
現(xiàn)在再看出版社的這份邀約,我當(dāng)時(shí)就應(yīng)當(dāng)鼓足勇氣、迎難而上,接受這個(gè)挑戰(zhàn)。
有人認(rèn)為寫(xiě)書(shū)是一項(xiàng)浩大的工程,甚至不敢想象。其實(shí),只要“敢去做”,就是好的開(kāi)始,下一步只用去解決“如何去做”的問(wèn)題。寫(xiě)書(shū)和寫(xiě)博客如出一轍,就像博客是由一篇篇文章組成的,圖書(shū)也是由一個(gè)個(gè)章節(jié)組成的。寫(xiě)博客時(shí)的用心也同樣可用于寫(xiě)書(shū)。保持勤于思考、整理,以及樂(lè)于分享、輸出的心態(tài),去做就可以了。
在我剛畢業(yè)的時(shí)候,如果有人能條理清晰地告訴我“如何制作簡(jiǎn)歷”“如何投遞簡(jiǎn)歷”“如何準(zhǔn)備面試”“如何對(duì)比多個(gè)offer并做出選擇”“如何快速適應(yīng)職場(chǎng)”……那么我會(huì)很感激他。
程序員成長(zhǎng)手記作者序在我初入職場(chǎng)的時(shí)候,如果有人能耐心地告訴我“如何融入團(tuán)隊(duì)”“如何做好一個(gè)項(xiàng)目”“如何提升技術(shù)”“如何應(yīng)對(duì)職場(chǎng)壓力”“如何規(guī)劃職業(yè)發(fā)展”……那么我會(huì)很感激他。
在我遇到成長(zhǎng)“瓶頸”的時(shí)候,如果有人能循循善誘地告訴我“如何調(diào)整心態(tài)”“如何拓寬視野”“如何啟發(fā)認(rèn)知”“如何尋找榜樣”“如何建立自己內(nèi)心的秩序”……那么我會(huì)很感激他。
對(duì)于我這樣一個(gè)“簡(jiǎn)單、樸素”的程序員,可能之前沒(méi)有在合適的時(shí)候得到過(guò)合適的建議,便一路上摸爬滾打,灰頭土臉地走過(guò)來(lái)了?,F(xiàn)在,我希望本書(shū)可以作為一塊墊腳石,幫助初入職場(chǎng)的程序員向上更進(jìn)一步。我們知道,有時(shí)候得到一些幫助、聽(tīng)取一點(diǎn)建議,真的可以少走很多彎路。
程序員的成長(zhǎng)之路是一條“無(wú)盡之路”,亦如“學(xué)海無(wú)涯”,學(xué)會(huì)欣賞旅途中的風(fēng)景,遠(yuǎn)勝于抵達(dá)終點(diǎn)。
至此,正在閱讀本書(shū)的你,相信也能感受到我的誠(chéng)意。在寫(xiě)作本書(shū)時(shí),我傾盡全力,就是希望給讀者一些想要的關(guān)于程序員成長(zhǎng)的建議。同時(shí),誠(chéng)邀各位讀者和我一起傾力撥開(kāi)程序員成長(zhǎng)之路上的迷霧,向后回望,汲取經(jīng)驗(yàn),向前問(wèn)道,上下求索,踏實(shí)走好職場(chǎng)每一步。
最后,致敬每一位正在奮斗的程序員!
本書(shū)的內(nèi)容
這本書(shū)不僅講透“代碼那些事兒”,還能告訴程序員“職場(chǎng)進(jìn)階軟技能”。
這本書(shū)共分為8章,分別介紹如下。
第1章先導(dǎo):重新認(rèn)識(shí)程序員這個(gè)職業(yè)
第1章是先導(dǎo)篇。很多人想做程序員,首要原因是其高額的薪資。然而,在高薪的背后,也有許多鮮為人知的壓力。程序員崗位是一個(gè)高競(jìng)爭(zhēng)、高壓力、高淘汰的崗位,有著鮮明的崗位特點(diǎn)。外界對(duì)程序員有不少刻板的印象,比如“不修邊幅”“少言木訥”之類(lèi)。而實(shí)際上,程序員的生活也是豐富多彩的。你是否真正走進(jìn)過(guò)他們的日常生活?是否了解他們的關(guān)注點(diǎn)?本章帶領(lǐng)讀者打破固有認(rèn)知,重新開(kāi)始建立對(duì)程序員的印象,重新認(rèn)識(shí)程序員這個(gè)職業(yè)。
第2章入門(mén):技術(shù)是成長(zhǎng)的根基
第2章是技術(shù)入門(mén)篇。如果想在未來(lái)從事程序員職業(yè),那么應(yīng)該從基礎(chǔ)技術(shù)入手,學(xué)習(xí)一門(mén)基礎(chǔ)的編程語(yǔ)言和計(jì)算機(jī)通用技術(shù)。構(gòu)建知識(shí)體系也非常重要,讀者可以不用一次構(gòu)建完成,但絕不能不做這項(xiàng)工作。
第3章經(jīng)驗(yàn):樹(shù)立項(xiàng)目全局觀
第3章是經(jīng)驗(yàn)篇,旨在幫助程序員快速融入規(guī)范的軟件開(kāi)發(fā)項(xiàng)目中。在工作中,程序員時(shí)刻面對(duì)的就是軟件開(kāi)發(fā)項(xiàng)目。程序員是項(xiàng)目中非常重要的角色,一定要有全局意識(shí),能推進(jìn)流程、突破關(guān)鍵問(wèn)題。本章將深入探討程序員的代碼開(kāi)發(fā)工作,深入學(xué)習(xí)代碼管理、文檔管理、IDE等。本章最后將探討敏捷開(kāi)發(fā),它是熱門(mén)的、科學(xué)的軟件開(kāi)發(fā)方法。
第4章職業(yè):本色做人、角色做事
第4章是職業(yè)篇。作為一個(gè)專(zhuān)業(yè)領(lǐng)域的職場(chǎng)角色,程序員有自己準(zhǔn)確的定位和職責(zé)范圍。專(zhuān)業(yè)程序員,應(yīng)有專(zhuān)業(yè)的工作態(tài)度;在處理人際關(guān)系方面,應(yīng)有高情商的表現(xiàn);對(duì)于空閑時(shí)間的處理,也應(yīng)充實(shí)和有意義。
第5章進(jìn)階:程序員的可持續(xù)發(fā)展
第5章是進(jìn)階篇,從軟技能角度探討程序員如何可持續(xù)發(fā)展,具體內(nèi)容包括:如何實(shí)現(xiàn)代碼規(guī)范、可以參考的優(yōu)秀編程原則、如何通過(guò)自動(dòng)化來(lái)實(shí)踐規(guī)范、如何提高代碼的可讀性、怎樣理解“源碼即設(shè)計(jì)”、如何做代碼的審查工作,以及如何落地代碼的單元測(cè)試等。
第6章升職:程序員的職業(yè)發(fā)展
第6章是升職篇。在職場(chǎng)中,成長(zhǎng)的一個(gè)重要標(biāo)志是升職和加薪,這是客觀上對(duì)個(gè)人能力的肯定。程序員的職業(yè)發(fā)展同樣遵循這個(gè)規(guī)律。是在技術(shù)層面持續(xù)發(fā)力,成為技術(shù)專(zhuān)家,還是同時(shí)學(xué)習(xí)管理知識(shí),向著技術(shù)管理崗位努力?程序員需要懂產(chǎn)品嗎?本章將探討這些問(wèn)題。本章還會(huì)重點(diǎn)討論如何提升程序員素養(yǎng)、開(kāi)源、學(xué)習(xí)時(shí)間管理與授權(quán)等。對(duì)升職、加薪感興趣的初、中級(jí)程序員,可重點(diǎn)閱讀本章。
第7章思維:多聽(tīng)多想、打開(kāi)格局
第7章是思維篇。作者有一句牢記在心的格言:“信念產(chǎn)生行動(dòng)、行動(dòng)養(yǎng)成習(xí)慣、習(xí)慣生成性格、性格決定命運(yùn)?!笨梢?jiàn)思想、信念的重要性。首先改變思維,思維會(huì)引領(lǐng)行動(dòng),意志堅(jiān)強(qiáng)的人,往往執(zhí)行力也不會(huì)差;有了行動(dòng)之后,需要持之以恒,堅(jiān)持行動(dòng)能形成習(xí)慣;習(xí)慣則會(huì)塑造大腦,培養(yǎng)獨(dú)特的氣質(zhì)、性格;而性格往往決定命運(yùn),這是大家熟知的。究其根源,必須重視思維的提升,這是一個(gè)優(yōu)秀程序員與普通程序員之間最關(guān)鍵的差異之一。
第8章自驅(qū):路遙知馬力
自驅(qū)力是個(gè)人成長(zhǎng)中非常重要的能力,甚至可以稱(chēng)它為“第一能力”。擁有自驅(qū)力的人,不需要?jiǎng)e人的督促,就會(huì)主動(dòng)去做自己該做的事情。他們往往有著明確的目標(biāo)和強(qiáng)勁的動(dòng)力,懂得化被動(dòng)為主動(dòng),通過(guò)努力獲取自己追求的東西?!爸鲃?dòng)意味著一切”,這是本章想要強(qiáng)調(diào)的。在本章最后,還會(huì)介紹“熵增理論”,探討如何通過(guò)成長(zhǎng)來(lái)抵御生命的負(fù)熵。
很榮幸,本書(shū)在編寫(xiě)過(guò)程中得到了業(yè)內(nèi)專(zhuān)家的支持和認(rèn)可。
聯(lián)合推薦
Eason|資深程序員、央企技術(shù)組長(zhǎng)
作為一名資深程序員,我深知行業(yè)內(nèi)的挑戰(zhàn)和所需的技能。回想剛?cè)胄械臅r(shí)候,如果能有一位師傅在身邊諄諄教導(dǎo)必定能少走很多彎路。從某種程度上說(shuō),《程序員成長(zhǎng)手記》就充當(dāng)了這樣一個(gè)角色。這是一本非常實(shí)用的指南,它用簡(jiǎn)明的圖表、溫潤(rùn)的語(yǔ)氣、豐富的角度,深入淺出的講解和案例,探討了程序員這個(gè)角色的方方面面,不僅為程序員小白提供了入門(mén)的明確路徑、實(shí)際工作中的各種工作場(chǎng)景,還深入探討了職場(chǎng)中常見(jiàn)的經(jīng)典問(wèn)題,絕對(duì)是每個(gè)程序員都希望遇至的良師益友。
優(yōu)弧|掘金技術(shù)社區(qū)運(yùn)營(yíng)負(fù)責(zé)人
作為技術(shù)社區(qū)的運(yùn)營(yíng)負(fù)責(zé)人,我見(jiàn)過(guò)不少程序員在成長(zhǎng)路上摸爬滾打。這本書(shū)就像是給這些朋友的成長(zhǎng)秘籍。書(shū)里不僅是代碼那些事兒,還有職場(chǎng)晉升、團(tuán)隊(duì)溝通這些軟技能,做到了面面俱到。作者用自己的經(jīng)驗(yàn),把復(fù)雜的概念講得通俗易懂,適合新手,也對(duì)資深程序員有所啟發(fā)??赐赀@本書(shū),你會(huì)發(fā)現(xiàn),無(wú)論是寫(xiě)代碼,還是團(tuán)隊(duì)協(xié)作,都能找到新的突破點(diǎn)。作者把干貨知識(shí)和實(shí)戰(zhàn)經(jīng)驗(yàn)結(jié)合得很好,對(duì)于想要在編程路上走得更遠(yuǎn)的小伙伴,這本書(shū)值得推薦。
德育處主任|互聯(lián)網(wǎng)熱門(mén)技術(shù)博主
大多數(shù)程序員似乎只知道低頭做事,卻忘記抬頭看天,這是傳統(tǒng)工程學(xué)思維導(dǎo)致的。只有工程學(xué)一種思維的程序員往往會(huì)過(guò)于專(zhuān)注手頭的任務(wù),后果是直接影響其職業(yè)天花板的高度?!冻绦騿T成長(zhǎng)手記》是我今年讀過(guò)最好的程序員燈塔類(lèi)書(shū)籍,它不僅將“如何正確做事”講清楚,還指引我“如何做正確的事”。要“做正確的事”需要程序員具備系統(tǒng)論思維。本書(shū)將工程學(xué)和系統(tǒng)論思維結(jié)合起來(lái),引導(dǎo)我建立一種全新的思維方式??梢哉f(shuō),本書(shū)全是重點(diǎn)!
▊《程序員成長(zhǎng)手記》涂阿然?編著
這是一本資深程序員的職場(chǎng)告白,提供實(shí)用的編程技巧和職業(yè)發(fā)展指導(dǎo),讓你在程序員的道路上走得更遠(yuǎn)、更穩(wěn);其特色在于職場(chǎng)晉升與職業(yè)發(fā)展、團(tuán)隊(duì)協(xié)作與溝通、程序員燈塔助力學(xué)習(xí)與創(chuàng)新。
撰? 稿? 人:計(jì)旭,責(zé)任編輯:張淑謙,審? 核? 人:曹新宇