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