朱鋼,江湖人稱“喵叔”,
90后程序員一枚。
常年奮戰(zhàn)在.NET開發(fā)一線。
從安陽(yáng)到北京,從職場(chǎng)菜鳥到IT老兵,朱鋼走過了十年光陰。
“不太典型”的“典型”程序員
初次見面時(shí),朱鋼給人的感覺很符合大眾認(rèn)知里的程序員形象:相比和機(jī)器交流,和人交流時(shí)更容易緊張;有點(diǎn)認(rèn)生,脾氣隨和,總是笑瞇瞇的,但稍微熟悉一點(diǎn)后又比較能侃,據(jù)他自述,平時(shí)比較宅,“每天除了上班之外就是宅在家里各種鼓搗”。
但這位看著非?!暗湫汀钡某绦騿T在求學(xué)從業(yè)之路上卻有著“不太典型”的經(jīng)歷。
朱鋼前十八年的人生可以稱得上“按部就班”。從小學(xué)到大學(xué),均在安陽(yáng)本地上學(xué)。不過大學(xué)生活伊始,命運(yùn)就將他推向了一條新的軌道。
“我本來是漢語(yǔ)言專業(yè)的,后來機(jī)緣巧合下被轉(zhuǎn)到了計(jì)算機(jī)信息管理專業(yè)。”朱鋼坦言,“對(duì)于一個(gè)文科生來說,學(xué)計(jì)算機(jī)真的有些痛苦。”所幸朱鋼很快適應(yīng)了這一變化。
從文科到理科,從漢語(yǔ)言到計(jì)算機(jī),從文學(xué)寰宇到數(shù)字世界,朱鋼最終完成了這項(xiàng)外人看來頗有些匪夷所思的“跨越”。人生路上的這次“變軌”對(duì)朱鋼的思維模式和從業(yè)選擇,產(chǎn)生了深遠(yuǎn)的影響。
臨近畢業(yè)的時(shí)候,考慮到計(jì)算機(jī)相關(guān)專業(yè)在安陽(yáng)的發(fā)展空間非常有限,朱鋼毅然選擇了離開家鄉(xiāng),開始“北漂”。他說,想到外面的世界看一看、闖一闖。
職場(chǎng)“打怪”:僅僅有開發(fā)能力是不夠的
朱鋼的第一份工作是在一家國(guó)企。在這里,他完成了從學(xué)生到職場(chǎng)人的平穩(wěn)“蛻變”。在形形色色的“試煉”中,有一個(gè)項(xiàng)目他至今印象深刻,那就是“參與開發(fā)了全國(guó)文明城區(qū)創(chuàng)建系統(tǒng),并把這個(gè)系統(tǒng)做成了全國(guó)推廣使用的系統(tǒng)”。這也是迄今為止最讓他有成就感的項(xiàng)目之一。
從準(zhǔn)備階段的需求調(diào)研,到項(xiàng)目上線后的運(yùn)維升級(jí),朱鋼參與了項(xiàng)目創(chuàng)建和執(zhí)行的整個(gè)過程。盡管人員吃緊、任務(wù)繁重,但當(dāng)項(xiàng)目正式交付后,無論是在開發(fā)技術(shù),還是在文檔編寫、客戶關(guān)系維護(hù)等方面,他都獲得了長(zhǎng)足的進(jìn)步,身為技術(shù)人的自信和覺悟也在這之后迅速萌芽并茁壯成長(zhǎng)。
在代碼上,因?yàn)檫@個(gè)項(xiàng)目幾乎涵蓋了政企項(xiàng)目代碼的典型特征,在后續(xù)工作中具有很強(qiáng)的借鑒意義;在文檔編寫上,如何寫出符合政企類項(xiàng)目要求的文檔,需要對(duì)哪些內(nèi)容進(jìn)行重點(diǎn)描述,如今的朱鋼早已胸有成竹,而這次經(jīng)歷無異于一次高效的實(shí)踐啟蒙;在客戶關(guān)系維護(hù)上,本來只埋頭于編程工作的朱鋼開始跳出舒適圈,逐漸鍛煉出與客戶溝通聯(lián)絡(luò)的能力。
在朱鋼看來,要成為一個(gè)優(yōu)秀的開發(fā)工程師,需要的不僅僅是出色的開發(fā)能力。他認(rèn)為,職場(chǎng)的“打怪升級(jí)”路上,以下三項(xiàng)能力缺一不可。
首先是學(xué)習(xí)能力。程序員是一個(gè)需要不斷學(xué)習(xí)的職業(yè),只有具備了學(xué)習(xí)能力才能應(yīng)對(duì)技術(shù)的不斷發(fā)展。
其次是溝通能力。大部分程序員在溝通方面比較薄弱,但需要認(rèn)識(shí)到:自己低頭做技術(shù)做研究必然會(huì)有局限。如果能多和人溝通探討,不僅在技術(shù)的習(xí)得和掌握上更有效率,而且能更容易發(fā)現(xiàn)自己技術(shù)上的缺失和錯(cuò)漏。
最后是抗壓能力。近年來,程序員抑郁自殺、過勞猝死的新聞已經(jīng)屢見不鮮,學(xué)會(huì)抗壓,找到釋放壓力的有效途徑,才能更好地工作和生活。
轉(zhuǎn)型之痛:溝通是永恒的命題
初涉職場(chǎng)的答卷,朱鋼完成得非常不錯(cuò),但生活本身就是一場(chǎng)冒險(xiǎn),挑戰(zhàn)從未止步。
在進(jìn)入第二家公司后,朱鋼的身份有了一點(diǎn)轉(zhuǎn)變,從純技術(shù)人員變成了一名團(tuán)隊(duì)管理人員。他面對(duì)的首要挑戰(zhàn)是——工作重心的轉(zhuǎn)移和變化。
“我大部分時(shí)間都花在項(xiàng)目管理和客戶接觸上,寫代碼的時(shí)間很少,并且兼顧的方面變多了。以往只需要做好自己負(fù)責(zé)的代碼就行,從事團(tuán)隊(duì)管理后,代碼管理的占比已經(jīng)很少了,大部分是團(tuán)隊(duì)人員的管理、項(xiàng)目進(jìn)度的把控和客戶關(guān)系的維護(hù),以及項(xiàng)目文檔的編寫?!?/p>
這種直接的變化,讓朱鋼必須直面職場(chǎng)角色的轉(zhuǎn)型。當(dāng)身處管理者、決策者的立場(chǎng),需要兼顧的環(huán)節(jié)更多,溝通的重要性和復(fù)雜性也愈發(fā)凸顯。
團(tuán)隊(duì)新人比較有個(gè)性,有時(shí)不怎么服從項(xiàng)目管理時(shí),身為領(lǐng)隊(duì)要怎么辦?
領(lǐng)導(dǎo)不懂技術(shù),但總催進(jìn)度,作為下屬要怎么辦?
產(chǎn)品經(jīng)理提出技術(shù)上無法實(shí)現(xiàn)、或者實(shí)現(xiàn)代價(jià)過大的需求時(shí),作為程序員一方要怎么辦?
……
對(duì)此,朱鋼分別闡述了自己的經(jīng)驗(yàn)。
“新人有個(gè)性,私下多溝通就好。而面對(duì)領(lǐng)導(dǎo)催進(jìn)度的問題,相對(duì)棘手。作為下屬,越級(jí)反映情況不合適,只能用實(shí)際開發(fā)數(shù)據(jù)和遇到的問題去說服領(lǐng)導(dǎo)。這種情況下尤其需要調(diào)整好心態(tài),我的方法是把牢騷留在回工位的路上,不留給組員和工作?!?/p>
面對(duì)產(chǎn)品經(jīng)理和程序員兩方的博弈,朱鋼認(rèn)為:“開發(fā)人員和產(chǎn)品經(jīng)理的關(guān)系就好像車輪和方向盤,產(chǎn)品經(jīng)理把控項(xiàng)目的業(yè)務(wù)方向,開發(fā)人員負(fù)責(zé)如何向正確的方向前進(jìn)。
根據(jù)我的經(jīng)驗(yàn),要解決這個(gè)問題,首先需要雙方使用相同的術(shù)語(yǔ)和名詞;其次,產(chǎn)品經(jīng)理一定要知道,目前團(tuán)隊(duì)、部門或者公司所使用的技術(shù)棧是否可以完成業(yè)務(wù)所有內(nèi)容,如果不能,該怎么解決;最后,開發(fā)人員也要知道整個(gè)業(yè)務(wù),結(jié)合自身技術(shù)分析業(yè)務(wù)和需求?!?/p>
領(lǐng)域之思:.NET是否即將起飛?
.NET和Java之爭(zhēng)由來已久。作為一名擁有十年一線開發(fā)經(jīng)驗(yàn)的.NET程序員,朱鋼是如何看待的呢?最近 .NET Core的火起是否預(yù)示著 .NET即將起飛呢?
對(duì)于很多公司不青睞 .NET的現(xiàn)狀,朱鋼認(rèn)為可以歸因?yàn)槿c(diǎn):一是成本,因?yàn)?.NET的IDE要錢,并且在 .NET Core 出現(xiàn)以前,.NET如果不借助第三方工具的話,是無法在非Windows系統(tǒng)上運(yùn)行的,Windows系統(tǒng)本身也需要付費(fèi),這兩塊對(duì)于中小型企業(yè)來說是很大的成本開銷。二是生態(tài),同樣在 .NET Core 出現(xiàn)以前, .NET的生態(tài)幾乎都是微軟在開發(fā)和維護(hù),生態(tài)圈幾乎沒什么增長(zhǎng)。三是跟風(fēng),目前市面上很多大廠都在用Java開發(fā),同時(shí)一些人的看法還停留在 .NET初期階段。
朱鋼坦言:“初期的.NET和社區(qū)建設(shè)并不完善,微軟在這種情況下推行 .NET這個(gè)新框架,雖說給開發(fā)人員帶來了很多耳目一新的東西,但是總體來說,和其他語(yǔ)言框架還是存在很大的差距。如果你去看早期幾個(gè) .NET版本的話,會(huì)發(fā)現(xiàn)其實(shí)有部分內(nèi)容是在模仿Java。但是到了 .NET4.5開始,.NET幾乎和Java齊頭并進(jìn),到了后續(xù)的版本又推出了一些更優(yōu)秀的內(nèi)容?!?/p>
對(duì)于 .NET Core在近幾年展現(xiàn)出的“逆襲”之勢(shì),在朱鋼看來有其必然性。“首先,它是微軟真正意義上的第一個(gè)可以跨平臺(tái)的框架。另外,它融合了很多目前流行的技術(shù),并且比大部分語(yǔ)言的開發(fā)平臺(tái)要輕量級(jí)?!?/p>
他同時(shí)指出,“需要說明的是,微軟宣布開源的是.NET Core 而不是.NET。.NET Core 和.NET 是平行的兩個(gè)技術(shù)棧。但就目前來看,自從.NET5出來后,.NET 和.NET Core 在逐步融合,社區(qū)也在逐步壯大,越來越多的企業(yè)、團(tuán)隊(duì)和個(gè)人在推出.NET Core 平臺(tái)下的組件,同時(shí)因?yàn)?NET Core 和 Java 相比,它打包出來的應(yīng)用要小很多,外加近幾年.NET Core加入了越來越多面向新技術(shù)的特性,這就讓.NET Core的受眾逐漸廣泛起來?!?/p>
對(duì)于2022年,朱鋼預(yù)判,這將是“.NET技術(shù)棧大爆發(fā)的一年”。
因?yàn)?NET6和VS2022 64位IDE的推出,使用相關(guān)技術(shù)的公司也會(huì)越來越多,職位也會(huì)越來越多。“對(duì)于.NET 程序員來說,2022年將是一個(gè)供小于求的市場(chǎng),感覺2022年.NET程序員找工作會(huì)比其它語(yǔ)言容易很多?!?/strong>此外,在疫情防控常態(tài)化的倒逼下,越來越多的政府和企業(yè)會(huì)在遠(yuǎn)程辦公、便民服務(wù)和疫情管理方面投入大量的資金來進(jìn)行IT建設(shè)。這也將在客觀上為 .NET技術(shù)棧的爆發(fā)提供條件。
來自喵叔的“錦囊”:IT職場(chǎng)新人類的5條自我提升之法
最后,對(duì)于初入職場(chǎng)的技術(shù)人們,朱鋼分享了幾條自我提升的經(jīng)驗(yàn)。
1.保持學(xué)習(xí)的習(xí)慣,只有學(xué)習(xí)才能讓我們?cè)鲩L(zhǎng)知識(shí)的深度和廣度。所謂深度,指的是技術(shù)不能浮于表面,要深入內(nèi)部理解;所謂廣度,意指不要只著眼自己所使用的技術(shù),還要多關(guān)注其他技術(shù)。尤其注意不要盲目跟風(fēng),只有仔細(xì)分析自己是否真正需要,才能在面對(duì)職業(yè)危機(jī)時(shí)平安輕松地度過。
2.揚(yáng)長(zhǎng)避短,充分了解自己的長(zhǎng)處和短處。放大并發(fā)揮自己的長(zhǎng)處,同時(shí)分析并改善自己的短處。對(duì)于短板不能放任不管,要有針對(duì)性、有目標(biāo)性地去彌補(bǔ)。
3.見賢思齊,多接觸優(yōu)秀的人,并常常反躬自省。俗話說近朱者赤、近墨者黑,優(yōu)秀的人往往會(huì)影響自己,并引導(dǎo)自己往正確的方向發(fā)展。
4.多多總結(jié),多多復(fù)盤。把自己日常遇到的問題和學(xué)到的知識(shí)記錄下來,既可以作為自己的私人筆記,也可以分享出來供大家一起學(xué)習(xí),在知識(shí)輸出中獲取新知。
5.保持身心健康。這也是最為重要的一點(diǎn)。人的精氣神往往是決定生活和工作質(zhì)量的關(guān)鍵,程序員們尤其要懂得紓解壓力,尋找適合自己的保持健康途徑,比如健身、培養(yǎng)一個(gè)非技術(shù)的愛好等。
【采訪手記】
“我可以做技術(shù)到70歲!”
這是朱鋼在采訪中非常自信地提到的一句話。他是非常少見的從文科轉(zhuǎn)向理科并轉(zhuǎn)型相當(dāng)成功的技術(shù)人,雖然不是那么典型,但他同樣經(jīng)歷過很多程序員面臨的困境。在“北漂”路上,他也在煩惱著職業(yè)生涯的轉(zhuǎn)型,在摸索中貼近自己理想中的生活。
互聯(lián)網(wǎng)寒冬下,裁員風(fēng)波不斷,不少程序員都面臨著抉擇,或停步回首來路,或變道重新出發(fā)。在這個(gè)充滿變數(shù)的時(shí)代里,朱鋼顯得格外樂觀,也格外堅(jiān)定。他熱愛寫作,堅(jiān)持輸出,加入51CTO博客的5年多時(shí)間里,他發(fā)布了近450篇原創(chuàng)文章,同時(shí)他還運(yùn)營(yíng)著自己的公眾號(hào)。他并不為未來焦慮,因?yàn)楣P下的每一個(gè)字都是他一路向前的佐證:成長(zhǎng)、記錄、輸出、反饋,一字一句,一步一步,堅(jiān)實(shí)而篤定。