從國企到網際網路,一個六年程式設計師的「得」與「失」

智雲程式設計發表於2019-03-14

程式設計師,六年,四段工作經歷,這也許是一份會被很多 HR 刷掉的簡歷。

從國企到網際網路,一個六年程式設計師的「得」與「失」

從學生時代至今,我經歷了兩次大的方向轉型和一次大的技術轉型:從偏理論推導的數學科學到重工程實踐的計算機學科,從「安穩固化」的國企到「活躍求變」的網際網路;從「人人為我」的客戶端到「我為人人」的服務端技術轉型。

回看自己的經歷,在方向選擇上,我是後知後覺的。在 PC 時代即將謝幕時入場,完美地錯過移動網際網路時代的紅利期/視窗期;技術選型上,我是「愚鈍」的。一頭扎進學習曲線最為漫長的 C++,又投入 Windows 封閉生態環境的懷抱,轉型服務端之初「逆趨勢」地被選擇了「世界上最好的語言」(PHP)。

然而從硬幣的另一面來說,我是幸運的。豐富的經歷自不必多說,在這個過程中,我也初步豐富和完善了知識結構。雖不健壯,卻也雁過留痕。

年歲漸長,我愈發感受到總結的必要性和重要性。這篇文章遠談不上什麼感悟或是經驗分享,只是想把曾經那些曾令我興奮的、失落的、沮喪的故事說一說,也算是回看自己略顯「折騰」的幾年中那些「得」與「失」。

瞞著父母,我從國企辭職

作為一個從農村走出來的孩子,211 院校碩士畢業,在國企實習後順利轉正,是一件讓我父母臉上頗為有光的事情。但是隻不到兩年,我在沒告訴他們的情況下選擇了離開。

我第一次經歷了系統且完整的軟體開發全過程,使用被時間證明足夠穩定(過時)的 MFC 技術,開發和維護 OP 工具軟體,實現私有的應用層通訊協議。

大家對於國企的第一印象,可能都是「工作穩定、福利待遇完善、競爭壓力小」。但對於剛出校門的毛頭小子來說,要把之前書本中學到的理論知識轉化為生產力,挑戰總是有的。而且在國企環境下,對系統穩定性、資訊保安性都有很高的要求。同事們嚴謹的工作方式,也幫助我養成了程式設計規範和及時留存技術文件的習慣。

工作之外,我享有充足的時間讀書學習。技術類書籍當然看得最多,歷史、社會和文學也都沒落下,以至於讓我一直有種未曾離校的錯覺。

即便如此,我卻並不感覺自由。正值國企改革,組織要逐步減少對母體的依賴,形成並完善自身的造血能力,但在彼時相對封閉的環境、較為傳統的管理方式和複雜的內部流程下,即便是我也能感受到領導在推動新技術變革時的束縛和阻礙。

年輕的我還是希望能快速在技術成長上有所突破,接受更多挑戰,於是告別了溫馨的團隊和相處融洽的同事。

初入網際網路,我的熱情有了安放之處

重新找工作的過程並不像第一次那麼順利。雖然也有「大廠」向我招手,但可能是上一段工作的緣故,讓我格外向往更有活力、有朝氣、有更多機會和挑戰的工作環境。最終,我選擇了一家正在快速發展的網際網路創業公司。

收到 Offer 的興奮感只持續不到一天的時間,巨大的危機意識便開始滋生。雖然我還是機緣巧合地成了公司很長一段時間內的唯一的 Windows 開發者,但對比我上一份工作輸出的原始且粗糙的單文件/多文件應用,這款 ToC 產品面向的女性使用者群體、舒服的粉紅色主題,以及素級挑剔的 Boss,都是我之前沒經歷過的。

入職後我就接到了新產品的開發任務。一個月內,我每天的工作時間幾乎是之前的兩倍,甚至週末都來不及喘息,逐個擊破 IM、DirectUI、WebUI、WebSocket、Http、Wke、libCef 等這些之前從未接觸過技術,和團隊的十幾位夥伴如期推出第一個內測版本,然後持續優化和改進。我們把這個專案當成自己的孩子,在生長的過程中難免有這樣那樣的問題(長連結保活、多端登入、訊息的即時性、有序性和可靠性等),也會調皮和闖禍,但我和我的小團隊從基礎通訊功能切入到初具規模,實現了從 0 到 1。

這是技術長進最快的時光,我不知疲憊地持續探索、反覆試錯。但是後來的種種因素沒能讓它繼續成長壯大,也許是資本,也許是機遇。雖然很惋惜,但至少讓我感到充實。

這一次,也點燃了我的熱情,讓我看到了自己創業的可能性。於是毅然切換賽道,開始一段新的未知旅程。

創過業才知道,原來這麼難

受萬眾創新,大眾創業的鼓舞,在某個機遇下,我受邀加入一個背景出色的初創團隊,開始一段熱血征程。

創業專案是基於情緒模型開發網路情報監測與智慧分析大資料平臺,通過對國內外主流社交媒體海量資料的收集、清洗、處理、儲存、分析,就當下發生的熱點事件,及時生成視覺化的圖表及輿情分析報告,為政府和企事業單位提供決策參考依據。能近距離地與業界的營銷高手、輿情專家、大律師等牛人共事,著實令我心血澎湃、幹勁十足。

對比成熟型創業公司,我們面臨著機遇、團隊和資源的所有匱乏,我個人也接受著身兼產品、技術、運維、市場等數職的挑戰。

在創業初期,我們學習並踐行「先僵化,後優化,再固化」的企業管理三步曲,虛心學習國外同類優秀產品,誠心向成功的前輩取經探討,細心地打磨產品每個細節,用心地解答種子使用者提出的或需求或產品本身的各類問題,也會為每個肯定或進步而歡欣鼓舞,會為每次質疑或否定而知恥後勇。但屢次在小作坊式持續迭代與集團式快速佈局的「無謂抗爭」中妥協,也認清了自身無論心智、思維還是能力都與合格創業者的標準相距甚遠的現實,且內心對技術變現的「執念」。而這一年,我的技術水平毫無進展,與我預設的成長速度極不匹配。我開始思考自己是不是偏離了軌道。

最終,我還是決定帶著祝願和遺憾離場。

迴歸初心 —— 精進技術

這次出發,我的目標更加清晰,希望加入到一個技術導向型並且具有一定規模的團隊。很幸運來到了馬蜂窩。我清空之前所有的優越感和不良習性,以空杯心態去接受一個未知但精彩的新領域,重新啟用了對四周任何事物充滿無限好奇與試探的慾望,雖有漣漪,卻也靜好。

在快速發展的過程中,組織架構和業務調整在所難免,我又面臨著是堅持 PHP 還是擁抱 JAVA 的選擇問題。這次我的選擇是在較長的一段時間內做好輔助的角色,去支援各個業務線的順利開展。不得不說,難免沮喪,但也有過頓悟。直到新的業務和交易系統遷移接近尾聲,與領導的一次長時間談話及往後的深思,我決定再次擁抱變化,以一種無知無畏的姿態面對挑戰。

在再次轉型後的一段時間內,我投入到 JAVA 技術棧的學習,滲透服務化改造的思想,訓練工程化和系統化思維,迷失漸少,多有裨益,更有勇氣和信心地直面挑戰。

一箇中年程式設計師的碎碎念

在每一次轉型過程中,也會有一種清零不被認可的情緒讓我挫敗。或許是跨度太大造成匹配度不高的錯覺,但更多的原因應歸咎於自身的內功不足。時至今日,一路磕磕絆絆地走來,經歷資本的瘋狂與寒冬,經歷心智的稚嫩與初步成熟,經歷從零到一的興奮與從一到百的困惑,也分享幾點感悟:

  • 第一份要工作慎重選擇,它會直接或間接地影響後續的職業發展;

  • 危機可以拆分為危險和機遇,抓住機遇並化解危險方能成長;

  • 技術人同樣需要培養成本意識、風險管控和團隊管理能力;

  • 唯有變化是唯一確定的變數,保持開放的心態,積極擁抱變化,加強學習和強化自身,才有機會在持續的變化中立於不敗之地。

人到中年,我們無法避免焦慮感。儘管如此,我仍然非常反對「技術是吃青春飯」的觀點。最後,我想和大家分享幾點,我在這些不算成功的轉型中的幾點體會。

1. 紮實的基本功非常重要

很多面臨職業轉型期的技術人,都會糾結於是要先加強技術的深度還是廣度。在我看來,程式設計師想要有好的發展,作業系統、網路協議、程式語言、演算法等都非常重要。工程化思維通過專案實踐來積累,新技術雖然層出不窮,但萬變不離其宗。比如掌握了 C++這種學習路線陡峭的語言,在面對新語言時你會很快上手。

2. 提前規劃,重視積累和沉澱

回頭來看,我不後悔做出的每個選擇。但如果重來一次,我一定會重視對職業路徑的規劃,讓自己有更多積澱。以後該如何發展?繼續精進技術?轉型產品經理?還是技術負責人?提前規劃,少走彎路,並且利用好你的技術優勢,形成思維方法和知識體系。

3. 不要只關注程式碼,也要經營身邊的人

關注你的家人、朋友、同事,學習經營每一份關係,因為只有穩定的家庭和更多的朋友,你才會踏實地在技術這條路上探索,並且得到更多的資源。而不是像我,在離開多年後,才知道原來身邊的人有如此實力。

4. 努力活成一個有趣的自己

關於程式設計師的標籤,我們都有所耳聞。其實技術只是手段或工具,比技術更重要、更有價值的東西比比皆是,比如獨立之人格、自由之思想,健康之體魄等。建議大家可以多讀書、多旅遊,也許在某個不經意間,你會驚喜於發現自己重新整理了世界觀。

以上這些也許並不足以為各位提供實質的指導,但感謝你的閱讀。

關注馬蜂窩技術,找到更多你想要的內容

從國企到網際網路,一個六年程式設計師的「得」與「失」

相關文章