程式設計師街頭生存手冊

Lee2011發表於2022-01-26

十幾年前,如果你會網頁開發三劍客就能找個不錯的工作。現如今,光是寫個 css 就有 n 多種語言和框架。不管你是 985 的高材生,還是自學入門的小菜雞,一旦進入了程式設計師這行,都需要面對同樣的現實:行業已經被卷的越來越厲害。

程式設計師街頭生存手冊

程式設計師的職業生涯就像在一條充滿未知的街頭行走,所處的環境競爭激烈,複雜多變。你可能會遇到擅長畫餅的老闆,讓你相信跟著他能一起賺大錢。你可能會遇到活幹完了,卻各種藉口拖著不給你結款的客戶。你也可能會遇到奇葩的團隊,他們甚至從來不用版本控制軟體。你可能上午還在考慮晚上要不要加班debug,下午就被通知專案團隊解散了。這些聽上去都很嚇人,但你不得不學會面對現實。

在現實職場中,你的產能是最重要的。沒有人真正關心你的設計有多優雅,你懂多少演算法或者你的程式碼有多規範。他們只關注你能在單位時間內交付多少需求。

職場就是條大街,從不同方向來到街上的人各有各的特點,但不管你是科班出身還是半路出家,在最開始進入職場的時候都缺少一種關鍵的經驗:識別在職場中什麼才是最重要的生存能力。

一個靠自學起步的程式設計師,可能身上積累了許多從練習和試錯中學到的程式設計技巧,但是缺少基礎理論的支撐和把理論應用到實踐中的能力。一個大學科班出身的程式設計師,腦袋裡有很多理論但是缺少實際的動手經驗,也缺少懷疑理論的態度。學校裡學的東西和職場中需要的東西並不匹配。你不會理解現實情況有多麼複雜:不切實際的專案排期;加班沒有餐補;常用的框架裡有個隱藏的 bug 害你浪費了好幾天的時間排查;你好不容易快要開發完了,需求卻又變了;你只好臨時想個解決方案,寫一些補丁程式碼先保證上線;過了沒多久你就發現,想再加一個小配置項,你需要改動十幾個程式碼檔案。。。等等等等。

只有被現實一遍遍的按在地上摩擦過以後,才能慢慢學會怎麼去應對這個複雜和不確定的世界。

街頭程式設計師核心能力:

  1. 學會提問

    除了問別人,更應該經常向自己提問。解決一個問題通常有多種可行的方案,多問問自己各種方案的優缺點,找到最合適的那一個。

  2. 以最終結果為導向

    你或許可以做到讓自己的程式碼很規範,符合各種設計模式和程式設計正規化。但是如果不能最終轉變成線上的產品,這些都會變得失去意義。

  3. 高產能

    多總結自己或者別人的經驗,讓程式碼變得精煉,減少技術債務,提高整體產能。

  4. 擁抱複雜和變化

    需求是多變的也是複雜的,要學會應對這些變化的心態和解決方法。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
You can’t use an old map to explore a new world.

相關文章