程式設計師越來越多,憑啥工資還越來越高?

小編是一個多年開發經驗的程式設計師,前端、Java、Python我都懂,如果你在入門學習WEB前端的過程當中缺乏系統的學習教程,或者說缺乏一個交流技術的地方,你可以申請加入我的WEB前端裙:前面二九六,中間二一二,最後五六二。裡面還有我這幾年整理的WEB前端學習手冊,面試題,開發工具,PDF文件教程,你可以自行去下載。

據不完全統計,中國的程式設計師已經超過500萬,這個數字正持續上升。按道理從業人數逐漸增多工資應該越來越低,但是程式設計師究竟是個神馬存在?為什麼他們的工資還在上漲?老周今天就這事把把脈。(自我介紹一下,老周,望京一沒事喜歡逼逼的架構老猿)

程式設計師越來越多,憑啥工資還越來越高?

如果用中國的行業對標歐美國家的話,IT行業能算得上是薪資相近的,且沒有國有壟斷的行業,咱們都知道歐美國家的IT行業起步早,發展歷史久於中國,且行業新興度持續提升,縱觀中國經濟的未來轉型,可以想象未來中國市場還需要大批優質的程式設計師參與到這一過程中,這是導致程式設計師工資不斷上漲的根本原因,除了以上,還有以下幾方面:

一、國家戰略規劃

十三五規劃中,大方向是加快壯大戰略性新興產業,打造經濟社會發展新引擎。在戰略性新興產業中,主要集中在資訊科技產業和網路經濟,國家層面將會提供各種政策、資金、資源的支援,保障它快速、廣泛的發展。

網際網路+、大資料、人工智慧,將是重中之重,未來十年,軟體、網際網路、資料、智慧化等相關領域,依然是時代發展大趨勢,而支撐這些領域發展的程式設計師,平均收入依然會遠高於其他行業。

二、中國軟體還處在高速發展期

在這些年發展過程中誕生了很多技術公司,都需要大量的程式設計師為之服務,所以整個市場的態勢還是求大於供,但現在很多人覺得為啥畢業生直接找軟體工作還是很難?雖然中國近些年科技公司的對程式設計師有一定缺口,但技能要求在提升,軟體高手頂樑柱型別的程式設計師依然很缺,所以想要找到工作必須有真才實學,矇混過關的假程式設計師基本不可能了。

三、不斷提高薪水,競爭人才

網際網路IT行業工資高還有一個原因,IT公司屬於輕資產型公司,人力資源是唯一的成本,人是唯一生產力,只要有一幫會程式設計的人就可以開個公司。對於飛速發展的行業而言,對IT行業人才的需求遠大於畢業生+培訓班所能提供的,為了能找到合適的人才,IT公司就需要不斷提高薪水,與其他競品公司競爭人才。

從程式小白到架構師

除了這些客觀條件,當然也離不開程式設計師夜以繼日的辛勞付出,不過既然選擇了高薪高壓的程式設計師工作,長期的自我提升計劃才是最應該關注的,老周作為一名名不副實的架構老猿,就從架構的角度跟大家談一談我們程式設計師的進階之路:

隨著年紀越來越大,中年危機感越發明顯,在奔四的路上已回不了頭,創業的危機感、生存的壓力、腦力和體力的急劇下降,太多太多的焦慮了,唯一還剩下的就是從業那麼多年的一點經驗分享給大家。感謝贊同我觀點的朋友,對於一些反對我觀點的,只要看了我的文章,對我也是支援,我也得感謝。

程式設計師越來越多,憑啥工資還越來越高?

1 架構師的基礎

對程式設計師而言,相對高階開發,架構師是一個比較高階的職位,當然工資也更高。

在升級前,程式設計師至少需要具備如下的能力或經歷。

1 至少完整地完成一個專案,具體來說,做過需求分析,把設計好的需求轉換成文件,設計資料表結構,開發測試調優,尤其需要做過“在伺服器上部署”以及“透過日誌排查問題”的事情。

2 得具備分析和調優的能力,比如能透過執行計劃看SQL語句的改進點並調優,能透過JVM日誌看記憶體使用情況並提升記憶體使用效能,最好還能掌握一些最佳化的手段,比如能透過訊息佇列處理高併發的請求。

3 最關鍵一點,學習能力和動手能力強,比如遇到一個自己事先不懂的問題,能透過百度等手段找到解決方案,並能自己動手解決。又如,在事先不知道Linux LVS如何搭建的情況下,能在查資料後,動手搭建這個框架。

這些是架構師的基礎,一般來說,工作4到5年,而且比較上心的話,這些應該都能具備。

2 架構師的高階開發的差別

需要解決的問題不同,高階開發的職責一般是能把需求點轉成程式碼,並能把最終成果釋出到伺服器上。而架構師得考慮如下兩方面的問題。

第一,在高併發情況下(比如雙十一),如何保證系統能正常工作。

第二,需要確保這套系統能適應多次改動(即可維護性需要好)。

具體而言,高階開發一般只需要考慮“單機版”的情況,而架構師更得考慮“叢集”,需要能在多臺機器上構建專案體系。至於可維護性,設計模式能解決一些,架構師更需要降低模組間的耦合度。

3 我走過的路以及我的體會

其實本人目前最多也就是個初級架構,但看了不少架構相關的文章和影片,也切身參加了多次架構師的面試,所以這塊自認為還有些發言權。

第一,在百度上搜索“高併發框架”,能搜尋到很多關鍵資訊,比如訊息佇列,RP,CDN,叢集等,先大致瞭解這些關鍵的模組有什麼作用,這個時間段大概可以持續7天。

第二,廣看書,目前市面上有很多架構書,我買了4本,用過了2個星期全看了一遍,看完後就知道架構師手頭可以利用的一些武器,比如Nginx,LVS,Hystix,SOA等。

第三,在這個基礎上,思考這個問題:如果我是架構師,該怎麼設計“秒殺”系統,或怎麼設計一個“高併發的架構”。

具體包括:HTML靜態化,Nginx如何配置,如何透過Redis+Lua等方式實現限流,如何透過Hystrix實現降級,如何實現資料庫分層和分離,如何配置RabbitMQ訊息佇列。

其實在這些內容裡,真正需要寫程式碼的地方並不多,更多的是進行配置

目前我只能有這些體會,也請各位大神告訴我後面該怎麼學,雖然我不知道後面的內容,但我感覺到後面應該靠實踐了。

程式設計師越來越多,憑啥工資還越來越高?

4 得靠實踐來加深體會,但找到實踐機會很難

這塊其實是關鍵,但也是難點。一般來說,高階開發在公司裡是沒有機會實踐架構師的工作,所以只能在跳槽成架構師後才會有實踐機會,但如果沒實踐經驗,一般是通不過架構師的面試的,難點就在這。

這裡我的體會是,得自己先根據一些現有的資料,設計出一套面向高併發的架構,無需太細(因為面試時時間有限不會談很深入),但需要具體說出採用的哪種元件,比如Hystrix,nginx,並能說出一些關鍵的配置資訊。這樣就能讓面試官確信你具備這方面的能力。當然我也見過一些人修改簡歷,把之前做高階開發的經驗改寫成架構師的,而且也能面上,這個我就不說了,大家自己斟酌。

一般來說,參加過幾次架構師的面試,就能知道會問什麼問題,以及該什麼說,我也見過一些高階開發在多次面試後能頭頭是道地“假裝”成架構師(但能力一定不行)。

程式設計師越來越多,憑啥工資還越來越高?

因為我的公司有機會讓我實踐架構知識點,所以我無需“假裝”。目前的現實情況是,可能在一些網際網路公司裡,高階開發能有機會實踐架構技能,在一些做業務的公司,或一些小公司,高階開發還真沒機會實踐架構知識點,這些人如何升級,我真不知道。

程式設計師越來越多,憑啥工資還越來越高?

5 請大神幫忙

這裡我問兩個問題,請大神告訴我。

第一個問題,如果我想用Spring Boot開發企業級的微服務,我該看哪些資料?比如資料庫該如何配置?訊息中介軟體該怎麼設定?等等。或者可以推薦給我幾本這方面的書。

第二個問題,這個問題剛提過,如果我想開發一個高併發的架構,比如可以應付雙11這樣的併發量,我該考慮哪些問題?或者也可以推薦些資料。

中年危機是有的

我常聽說有“中年危機”,不過我在電視上看到過如下的場景,看過後我不得不有危機感。

場景1,目前是冬天,東風蕭瑟,某人在下班後,週末時,一個人待在北上廣出租房裡,市中心很喧鬧,但兜裡的錢不夠,甚至在可以預見的將來,靠攢的錢一定無法買房。如果這個人已經是30+,還單身,似乎感覺更加。。。。

場景2,也是在北上廣,到了談婚論嫁的年齡,對方也比較合適,但目前只能租房,租的房還離公司很遠。一定想買套房子,這樣至少不算漂浮,但雙方(甚至雙方家庭)加起來的錢不夠首付。

在上述場景裡,至少當事人還年輕,還有機會發奮掙錢,還有希望。大家可以想象些已經“絕望”的場景,比如某人40+,一直在小公司裡幹,也就是一般的高階開發,已經沒什麼機會可以升級到架構師或開發經理了,而且公司也不算穩定,指不定就哪天裁員了。

有危機感之後就會有行動,比如學習,努力工作,跳槽甚至打零工,這樣或許還是無法有大改變,但做了之後至少有希望。

頂部