搬磚漫談

寫在前面:本文不比較誰是最好的語言?僅僅是一個python爲主的碼農的所思所想.以及準備押寶golang.

  1. python工作現狀

    • 初級
      這個階段很容易,找個活人,看會語法,都能寫python.一般也就是web開發,比如django, flask, tornado之類,寫的好點的用異步,協程,寫的差的同步,線程.同時配合系統業務,使用周邊擴展包,比如redis, mysqldb, memcache等等.倒不是瞧不起這塊開發,鄙人也是從這塊做起,django框架東西也確實不少,框架內高級用法與特性看看文檔,活人也都能理解,畢竟框架內的東西你只需要看文檔知道,理解,運用就行,不需要你實現.一兩年左右你就會感覺,沒有新東西進入大腦,滿滿的都是業務,這個時候就是你該改變了.
    • 中級
      異步,協程玩的很溜,大幾萬QPS的系統,輕車熟路,毫無壓力.有一定系統設計能力,學會系統分層,異步解耦,分佈式等等.celery, gevent已經爛熟於心,運用得當.kafka,storm,habse,mongo等等周邊技術也都瞭解到了.這個階段,基本上重點放在系統設計上,可擴展性,高可用,關注的點已經不在語言層面,畢竟這個階段寫任何代碼已經不具難度,更多的視野拓寬,瞭解更多開源項目,系統架構.即使不用任何框架,寫裸腳本,也能寫的很優雅高效.這樣持續一兩年左右,又會發現,python好多擴展包都瞭解了了,linux系統也有所涉獵,常規業務開發已經沒有挑戰,也瞭解整個行業現狀.這個時候就又該改變了.
    • 高級
      食物鏈的頂端,往往從事着大數據,機器學習等等門檻稍微高點的工作.常規數據分析能力和比較強悍的數學基礎是必備的,numpy, pandas, ELK, scikit-learn, tensorflow之類必須玩的熟,可惜鄙人數學是體育老師教的.想入機器學習的門,都感覺費力啊.有機器學習的師傅願意帶,留言或私信,先行謝過

    一句話表示: web開發 --> 大型系統開發 --> 大數據/機器學習

  2. 與其他語言比較

    • 大型業務系統方向
      這個不用說,拿大腿想都知道,目前是java的主導地位,大部分公司核心服務都是Java.用python爲主的也就豆瓣,知乎等.而很多公司都崇拜大公司光環,找幾個BAT出身的就毫不猶豫清一色換Java,多數公司python開發不會是主導地位,餓不死,喫不飽的尷尬處境
    • 遊戲方向
      遊戲主要也不是python,主要是C++, lua等高性能語言,當然python的gevent也有一席之地,反正份額很小
    • 運維 && 安全方向
      這兩個歸爲一類,因爲更多的不是python開發能力,而是運維能力和安全能力,python只是輔助工具.形象的說,運維和安全能力是必要的基礎,python只是可有可無的加分項
    • 兇猛的黑馬
      golang無疑是衆多語言中的黑馬,強悍的性能,谷歌的背景,目前不少高併發的後端服務都用這玩意了,比如滴滴,阿里,百度都不少崗位放出來了.甚至很多創業公司,都十分冒進,直接採用生態並不豐富的golang開發,可以肯定的是golang接下來幾年份額會迅速擴大,golang職位相比其他語言,同等級別薪資會高一些,畢竟物以稀爲貴.
  3. 厚積薄發
    雖然碼農的競爭力不是看誰會的語言多,但是畢竟大多數碼農都是普普通通的,不是那種深入鑽研,在某方面揚名一方的高端人士.普通小碼農,還是應該至少一門主語言,到精通程度,隨便來個活,不需要很費力就能搞定,這是你謀生的基礎.然後就是選擇一門副語言,用於備不時之需和提高自身額外競爭力.比如09年以前,php那麼屌,隨着安卓爆發,Java在國內(特別是阿里系)基本爆發態勢,那麼再過幾年會不會有哪門語言像Java一樣再度爆發呢?誰也說不準,但是就像賭博,總得買一個.

    鄙人就買golang,押寶它了.爲何不押Java,因爲Java人太多了,遍地都是,還是物以稀爲貴,副語言,畢竟不如主語言精通,而競爭者又那麼多,你幾乎沒戲.想要Java有競爭力,那Java就成了你的主語言,不是鄙人要談的話題,轉行另說.golang生態不太成熟,入門的包袱小,不像Java,不會個三大框架,都不好意思開口.更重要的是,目前人少,人少意味着,不那麼牛,也能有競爭力,因爲沒得選.另外,崗位數量也在迅速變多.14年時,某招聘網(不吐露了,避免打廣告嫌疑),golang職位,不到一頁,只有滴滴看的入眼,其他公司都沒聽過.現在至少有3到5頁左右啦,看的入眼的公司也有五六家了,年薪中位數也在30w左右.

    從現在起,堅持每週寫一個golang小例子,工作之餘,golang學起來,同時多學習系統架構設計.
    目標: golang + python雙主開發,搬磚不易,喫飽繼續


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章