“hello world”,這是一名程序員初次進入計算機世界時,看到的第一句招呼語。
自馮·諾依曼創造出了現代計算機,程序員踏上時代舞臺不過70余年。而在中國,程序員的歷史要更短一點。
以國內第一位程序員求伯君來說,這個職業的生命剛過“而立之年”不久。短短三十多年,程序員在國內所承載的社會意義卻頗具符號化,且歷經變化。
馬化騰、雷軍等最早一批技術出身的創業者,開啟了國內互聯網創業的序幕,這也是程序員最初給大眾的印象——極客、精英。而后,王小川、張一鳴,甚至28歲從字節提前退休、全球旅居的郭宇等后繼者,更是將“成功” “財富”的標簽粘牢在這個職業之上。
如今,這個職業的從業人數已大規模增加。Github給出的數據是,2021年中國的開發者數量已經高達755萬,位居全球第二。與此同時,“程序員”一詞所折射出的含義變得更加復雜。一方面,它仍與創新、財富息息相關,越來越多的人被吸引進來。另一方面,它在某種程度上被塑造成了一個“高?!甭殬I,脫發、加班、裁員甚至猝死,這些詞屢屢與“程序員”三個字一起出現在新聞上。
這個時代里,一名程序員在用什么樣的姿勢進化?他們如何找到自己的平衡感?這是我們想與你們分享的。
首先,工作以后才發現技能不夠用。
“我現在用到的知識,基本都是工作以后現學的。比如大數據在線和離線是我后來才學的,因為當時學校還沒開這些課程?!?019年畢業,現在某大廠負責數據開發的工程師韋小磊表示。
在入職前,他基本掌握了數據、結構和算法的知識和技能。但實際工作還需掌握大數據技術(分在線和離線,它們有各自的框架知識),這意味著他需要自行完成相關的技能提升。
于是,曾有1年左右的時間,他每天下班后至少花2小時來看書、看官網、看視頻,然后操作實踐……這樣堅持下來,他才完成了大數據技術的“自學計劃”。
做一名程序員,肯定要學一些專業知識和技能??涩F實是,這些知識和技能只有部分來自在校期間的積累,更多需要通過自學、接受培訓等渠道來獲得。
“必須學?!彼惴üこ處熀卫蚶虮硎?,自學是程序員必不可少的日常。
她在某大廠工作,主要負責推理加速任務。所謂“推理加速”,就是通過“推理”(指從輸入數據到輸出結果的過程),將預測模型完成任務的時間縮短。
“當完成了‘從0到1’的過程后,如何‘從1到99’是比較難的。”她說。
在大學時,她學的理論知識、模型結構、技術工具等東西都比較寬泛,針對性不強。實際工作需要她在這些基礎上進行優化。于是,她日常工作中會針對已有方案,不斷探索新的方案。
目前,主要是大廠在做推理加速,中小公司基本不會涉及,所以何莉莉日常還會重點學習、借鑒其他大廠的解決方案中的邏輯思維和創新方法。
她說:“我們會翻看他們在社區里的演講,大公司官方提供的講座,一些技術帖子等?!?/p>
Java開發工程師蔡炳添指出,大學階段學到的基礎知識相當于“行業敲門磚”,如果讀大學,有人引導著要比自己去摸索要輕松很多。但它并不是成為程序員的必要條件。
“因為知識更新太快,所以大學不是學相關專業的人也能成為程序員,只是付出的代價要大一些?!彼f。
很多孩子從高中、初中甚至小學開始,通過課外自學、上興趣班等方式學編程。對此,蔡炳添評價說:“編程要掌握的知識很多。他們開始得早,就意味著掌握的知識和技能更多。”
其次,不了解業務,根本沒辦法寫代碼。
很多程序員在求職過程中,常常會出現這樣兩種情況:有些人雖然面試差,但實操能力強;有些人面試分高,但實操能力弱。
第一種情況好理解,很多程序員比較老實,不會油嘴滑舌的。至于為什么會出現第二種情況,可能只是因為他們“準備充分”。
“網上有教程刷算法題。它相當于數學公式,只要背熟了,就有思路。”Java開發工程師肖恒解釋道,“但你讓他實現這種算法,他可能無從下手。”
即使是大廠,有時候也會很不幸地招到不如預期的程序員。其原因在于:通過簡單的筆試和面試過程,并不能夠完全了解一個人。
“僅僅靠那幾輪面試就想看透一個人,太難了。”Java研發工程師施嘉禾認為,時間輪替、大浪淘沙才能解決這部分招聘問題。
再次,加班常有,算起來薪資不高。
“今年工作量還好,變得不那么卷了。”施嘉禾現在的工作狀態,是忙完手頭的活兒就“摸魚”——不是打游戲,而是升級技術,以此提高自己的能力。
前兩年,他所在的公司處在瘋狂擴張階段,他們團隊從3個人一下子增加到80多個人。但去年9月后,業務穩定了,他們沒有從0到1的大型項目,只有針對十幾個已有項目的迭代需求。
這樣一來,他們團隊成員的任務量就變得比較彈性,只需要忙完需求就可按時下班。
然而,多數程序員仍然“卷得厲害”。受周圍工作環境的影響,他們常常選擇“自愿加班。
“我們都是早上9點半上班,晚上10點半下班,偶爾會晚上6點多下班?!焙卫蚶蛘f,她每周會安排一天早點下班,這樣可以回家收拾房屋,“不然每天都那么晚下班,除了工作什么也干不了”。
目前,她所在的小組還沒出現“半夜爬起來”的現象。但此前,有幾個年輕同事,因為剛畢業不久,無法接受這種強度較大的加班而選擇離職。
“經常長時間工作,晚上10點以后才下班,還擔心任務出問題會帶來較大的影響……這樣的工作生活會給人帶來較大的心理壓力,會有點扛不住的感覺?!焙卫蚶驅@個工作的壓力有很深的體會。
加班與否,與業務內容也有關系。比如安全風控,對于很多公司來說都是至關重要的,所以投入較多。韋小磊所在的業務部門負責公司的安全風控,經常加班到晚上10點多。
有些程序員需要加班熬夜,直至凌晨一兩點,甚至凌晨三四點,簡直是拿生命來工作的節奏。這是程序員的工作性質決定的,因為一個任務來了,就必須忙到“問題解決了”或“項目上線了”才能休息。
“我們公司的使命是用戶第一。在這樣的情況下,我們肯定就不看時間,不能說‘現在是凌晨幾點,我得去睡覺了’。”肖恒表示,“用戶著急等著,我們就得解決,直到沒有問題為止?!?/p>
由于經常加班,肖恒一個月的加班打車費也得一兩千塊錢,“平時看電影、看書之類的時間就相對較少,周末也不太想出去玩”。
在加班較多的情況下,公司也會給程序員相應的補償。比如較高的工資,這樣雙方就默認“加班不額外給加班費”。還有允許調休,幾班倒。但實際情形可能是大家都很忙,根本沒時間調休。
這看起來并不劃算?!拔覀兊臅r薪算起來并沒有很高?!辈瘫碚f,這也沒有辦法,都要生存嘛。
最后,大多數程序員都在吃青春飯。
眾所周知,大廠的“35歲現象”,最早就是從程序員這里來的。
“我才25歲,不想35歲的事?!表f小磊說,他不擔心自己35歲就失業,“人是一點點發展的。如果覺得自己發展得OK,那么沒必要焦慮。像我的組長今年都37歲了,他也還在啊?!?/p>
問題是也就只有組長的年齡超過35歲。事實上,很多年齡稍大的程序員都會有焦慮感。畢竟他們的工資較高,工作精力和學習能力卻可能比不上年輕人,被換掉的幾率還是很大的。
“確實大部分程序員都是在‘吃青春飯’?!苯衲?7歲的程序員高春輝表示。作為技術人員,他90年代開始創業,現在是一家公司的創始人。在公司里,他是其中一位大齡程序員。
與國外不同,國內大齡程序員并不多。少部分人會一直走技術路線,成為架構師。但大部分人會轉產品、項目經理或管理崗位。至于轉行的,開滴滴、送外賣、寫博客等情況都有。
高春輝認為,這種現象恰好說明,35歲后程序員群體從“買方市場”進入“賣方市場”。年輕時,他們更在乎錢,接受加班;到了中年,他們有房有車,更在乎時間,為更多陪伴家人而選擇其他工作。這個市場似乎能夠不斷“更新血液”。但長期來說,買賣雙方都有損失。
對于程序員來說,他們只對其職業生涯的前1/4段可控,后3/4段則充滿不確定性。
“很多企業長期強制加班,也不支付加班費。這不僅降低員工的工作效率,而且可能提高了離職率,企業還要為招聘新人付出更多的成本。”他表示,與其這樣,企業還不如多招人,并適當繼續聘用年齡較大但仍具有競爭力的程序員。
高春輝的公司現在有近50名員工,幾乎每天都是朝九晚六,即使偶爾需要加班,也會按國家規定支付加班費。員工當中,還有3人是80后程序員。有兩年,公司業務調整,需求不多,他選擇繼續聘用這些程序員。
年齡大小不是問題,但性別差異還是個問題。不久前,高春輝的公司曾招到一位女員工。面試時,她說自己還沒有對象。但三個月后,她的肚子大了。
高春輝對此有點無奈,“我們也不是想搞職場性別歧視,但確實不信任的成本很高。企業要為懷孕的女員工付出兩個成本,一是她休產假后照發的薪水,二是另外招人去做她的工作的成本?!?/p>
“如果不能干到35歲,就可能回老家?!焙卫蚶虮硎荆绦騿T的焦慮感更強,因為她們面臨的不只是年齡的問題,還會擔心結束當前合同期后,能不能繼續留在公司。
程序員不只有男性。BOSS直聘研究院數據顯示,今年3月,全國范圍內,擁有程序員相關工作經歷的求職者中,男性占比80.47%,女性占比19.53%。
但現實中,仍有很多用人單位不愿意招已婚未孕的員工。這對于想跳槽或者合同期快結束,但還有好幾年才到35歲的女程序員來說,是一個叫人頭疼的現實問題。
何莉莉說,“我有對象,現在還不敢結婚,但該結還是要結的?!?/p>
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.