1. 程式人生 > >窮不過三代,囧不過三個公司——程式設計師如何通過努力讓自己看上去很光鮮

窮不過三代,囧不過三個公司——程式設計師如何通過努力讓自己看上去很光鮮

    首先定義下什麼樣叫體面?第一是得到和自己能力相匹配的尊重,第二得到的收入能匹配自己的貢獻,比如996有996的收入,965有965的報酬,第三是穩定,不是朝不保夕。其實這些條件不算高,我在上海,能達到上述標準的公司不算少,但相比之下也有不少公司給出的條件低於上述標準。

    本人雖然目前工作達到了“體面”的標準,但之前也在小公司幹過,也經歷過惶惶不可終日的日子,而且本人一直在做兼職培訓,培訓出來的學生也有不少進入體面公司幹活的。古話有“窮不過三代”的說法,職業規劃也是如此,“窘況不過”三個公司。在我的博文如果當前沒有拿得出手的簡歷,也別慌,努力的話最多兩年情況就能改變一文裡,講述了零基礎舉目無親的程式設計師用2年時間走上正軌的方式,同樣,如果上進,換3個工作後,程式設計師也可以活得很光鮮(至少讓外人看上去很光鮮)。

1 在第一份工作裡,解決溫飽問題,同時入行

    有不少程式設計師在第一份工作時就有了一個好的起點,比如從事大資料機器學習等高含金量工作,或者進入大公司,但對不少程式設計師而言,需要通過第一份工作把理論知識轉換成實踐技能,現在正值畢業季,所以如下的建議正好對景。

    第一,除非有考研等重大原因,否則儘快找個工作入職。一般對畢業生而言,應該是畢業前就找好工作了,如果從7月到9月中間有兩個月處於閒置狀態這還能說得過去,如果時間再長,一方面越到後面工作越難找(校招和社招標準不同),而且閒置時間很長說明個人能力有問題,這對後面找工作也有影響。

    第二,儘可能去大城市,也儘量進規模大點的公司,這樣能給自己一個好的起點。如果剛開始達不到也不要緊,但儘量找個和相關技能匹配的工作,比如開發,測試或IT Support等,如果沒特殊情況,儘量別找些諸如銷售之類的和IT無關的活。

    第三,大學生活和社會工作之間有一定的落差,尤其在小公司或者人際關係複雜的公司,剛開始一定得腳踏實地。

    一般來說,如果第一份工作不如意,比如進到小公司或人力外派公司或者在小城市,這問題都不大,我見過大量的低起點的程式設計師幹個5,6年最後幹得風生水起,但一定得選擇一個方向,以後就儘量別朝三暮四了,儘量朝這個方向努力。

    我就拿Java後端程式設計師方向來說吧,因為我從事這個,而且在這方面出過書,也做過兼職培訓講師。其實如果上心再肯問肯學,最多用個半年就能上手,比如Java核心部分的集合多執行緒JDBC,資料庫方面的增刪改查,框架方面的SSM,經過半年應該都能用了,但絕不能停留於此。

    當第一份工作也做了一年多,也能適應社會的節奏,也能適應社會人的交流溝通方式,生活上也逐漸安頓下來,技術上也有了初步的積累,這時候就應該全面觀察自己所選方向的綜合技能。我見過不少初級程式設計師,由於工作中只會用到範圍很小的技術,比如Java就用到SSM中裡Spring,Mybatis是別人配好的,Java多執行緒等重要的技術平時用不到,自己也不進取,所以當有3,4年工作經驗時,技術能力和畢業生差不多。

    所以當初級程式設計師在入行後,能應付本職工作後,就可以看些培訓學校的課程,比如看Java方向需要哪些技能,然後自己多留意,然後在有1到2年的工作經驗後,就可以考慮跳槽以進入到第二個階段了。

    在解決“入行”的階段,有些程式設計師可能對公司沒得選,比如不得不委屈進入一些小而且不舒服的公司,比如人事關係像宮鬥,或者朝不保夕,或者被外派到類似工地的甲方公司, 或者工作時間和收入嚴重不匹配。

    在這種惡劣情況下,程式設計師更該努力上進,通過提升技術等能力以求早日脫離苦海,而不能以“求穩定”的藉口長期在這種公司幹,這樣的話,可能真就一直窮下去了。

2 第二份工作就可以想辦法進大中公司,同時開始學習“架構”等值錢知識

    不過在畢業後的1到2年裡,程式設計師就應該能精通手頭上用的技術,並能以此衍生,熟悉相關技能所用的時間也不會太長了,比如有2年工作經驗的Java開發,如果要用spring cloud,應該最多用1個月就能上手,所以在此階段,可以面試進入比較正規的公司,甚至可以面試大公司了。

    這個階段應該找哪類公司呢?

    1 如果可以,進BAT或者有一定品牌的網際網路公司,吃幾年苦,讓自己的技術飛速提升。

    2 如果不行,儘量進網際網路公司,雖然此類公司加班多,但對人的幫助相當大。

    3  或者進一些獨角獸公司,或者從事一些熱門的崗位,比如AI大資料分析等。

    總之,在第二個階段裡,至少應該少在“宮鬥”環境裡內耗,也別隨遇而安地坐等被調整,應該進些有一定前景的公司。

    對此,我寫了不少面試文,之前的一篇博文,最近面試java後端開發的感受:如果就以平時專案經驗來面試,通過估計很難——再論面試前的準備,其實是給這個階段程式設計師看的。

    “窮不過三代“的第二代裡,應該是積累財富,並開始培養氣質,或者至少家有餘糧。那麼程式設計師在第二個發展階段應該達到什麼水準呢?

    1 技術方面,至少應該達到高階開發的水準,甚至架構師需要了解的分散式元件微服務等,也要開始瞭解了。如果有機會,儘可能多地熟悉目前比較流程的框架技術, 比如阿里系或spring cloud方面的雲技術,或者高併發級別的網路框架,或者大資料這塊。

    2 成為一個組的主心骨,或者至少在某個業務方面很精通。比如可以從業務角度和產品討論技術方案,遇到中等級別的問題,可以通過排查日誌或者百度等方式來解決。

    3  熟悉和業務無關,但和專案管理相關的工具,比如jenkins,sonar,maven或gradle等,至少熟悉一種開發模式,比如敏捷開發,應該能在linux下部署程式碼,或者能在linux環境裡分析日誌。

     4 儘可能多地積累排查問題的經驗,比如解決訊息佇列問題的經驗,或者解決OOM的經驗。 

3 在第三份工作裡,開始建立個人品牌

    在古代,一般經過兩代的積累,至少應該達到小康水平,就可以供養第三代子弟通過科舉來嘗試為官上進的途徑了。在程式設計師的第三份工作裡,經過前幾年的積累,應該可以進大公司了,在這個階段,除了技術之外,還應該提升如下的技能。

    1 或者走專案經理到部門經理路線,提升專案管理(比如PMP)方面的經驗。

    2 或者走架構師到技術總監的路線,比如達到阿里P7到P8的能力,具體需要哪些技能請看網上描述。

    3 至於走自己接專案自主創業的路線,本人聽說過,但沒聽說過,也不敢擅擬。

    同時可以積累自己的品牌,比如在部落格園裡寫部落格,錄製視訊教程,多和一些大神溝通,最好是做到業內有名,或者至少能通過比較流行的視訊教程或正規出版社的圖書來露臉。

    在這個階段,更需要多和大神們接觸,在大神圈子裡哪怕剛開始資歷能力不夠,但有各位大神加持總比個人努力要好很多。經過三個工作狀態的迭代後,或者能在網際網路公司裡獲得較多的實惠,或者能在大公司裡看上去很光鮮,或者能有自己的來財渠道。但不管如何,雖然能做到人前光彩,但背後的努力只有自己知道。

4 總結,福報來自積德,光鮮來自實幹

     在上文裡描述的是平均狀態,一般一個公司幹兩年,三年迭代,通過6年達到上述目標。或者有的程式設計師比較勤奮,起點也高,無需這麼長的時間,但對些起點低能力一般的程式設計師(比如我)而言,可能用的時間會長些,中間甚至還會走彎路。

     但不管如何,我們先不求大富大貴,只先腳踏實地幹好活,比如每天看到手頭工作,再給自己制定短期和長期的目標和學習計劃,然後儘量少圖安逸多學習多實幹多覆盤,每過段時間,總能看到自己顯著而踏實的進步。

    不過,哪怕找到了份比較光鮮的職位,我們也需要關注更高階的目標,畢竟還有“富不過三代”的讖語。在此之後的目標要麼就是在技術上進一步發展,成為公司的技術頂樑柱,或者就自己組個工作室(做大了就是公司)找幾個人接點專案然後逐漸達成財務自由這個更高階的目標。

    

版權說明:

    有不少網友轉載和想要轉載我的博文,本人感到十分榮幸,這也是本人不斷寫博文的動力。關於本文的版權有如下統一的說明,抱歉就不逐一回復了。

    1 本文可轉載,無需告知,轉載時請用連結的方式,給出原文出處,別簡單地通過文字方式給出,同時寫明原作者是hsm_computer。

    2 在轉載時,請原文轉載 ,謝絕洗稿。否則本人保留追究法律責任的權利。

 

 

&n