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