關於程式設計師這個職業

codebay發表於2018-04-07

  隨著網際網路的迅猛發展,和網際網路相關的職業開始受到人們的關注。作為網際網路產業基礎設施的建設者—程式設計師,也需要得到人們的正確認知。

  作者作為一名從傳統行業(機械設計製造專業)轉行到網際網路行業的程式設計師,分享一下關於軟體開發工程師(簡稱:程式設計師)這一職位的看法,讀者也可以把這篇文章作為是否轉行做開發的一個參考。

圖0:關於程式設計師這個職業

作者的桌面

  首先談一談程式設計師的薪資水平。相對於其他的行業,程式設計師剛畢業就能夠拿到比較可觀的薪資(一線6K+,二線也在4.5K+),而且工作一到兩年,薪資過萬也是很正常的。其他的傳統行業,可能剛畢業達不到這樣的薪資水平,而且工作好幾年還不如剛畢業的程式設計師。因此很多人就盲目地轉行做開發,這其實是不明智的。

  首先,網際網路企業一般都是在一線大城市,那裡的消費很高,除去基本吃住,一個月的結餘並不多,和在三線小城市差不多;其次,程式設計師的薪資漲幅並不高,而且還有極限,一般工作五年之後,薪資水平基本就不會變了,大公司可能30K以上,小公司基本就在20K左右,這個薪資水平,在大城市生活的壓力是很大的,在所在城市買房又買不起,回到家鄉又沒有這個工資(基本上是失業),很是尷尬。

  這個時候,傳統行業就有優勢了,比如作者之前所在的機械專業,在小城市也是有發展空間的。

  第二點,程式設計師必須要有很強的自我學習能力。學習能力主要提現為兩點,第一是解決問題的能力,具體來說就是修復bug的能力,因為程式並不會乖乖地聽話,而且還會丟擲各種異常,需要開發者花很多時間從網上查閱大量的資料文獻然後除錯;第二點是學習新技術的能力,程式設計師是靠技術吃飯的,在網際網路行業,技術的更新速度要比其他行業更快,可能今年流行的技術,到了第二年就被淘汰了。

  這並不是誇張,作者最開始學習程式設計(java)的時候(2016年初),Java還是最受歡迎的開發語言,力壓群雄,但是最近(2018年)的Python已經火速排到第二名,而且與第一(java)的差距越來越小。技術更新之快,讓程式設計師這一開發工作者不得不時刻保持旺盛的學習能力,以應對新的技術變革。如果有一天自己所學的程式語言被淘汰了,那麼,這個開發者也基本被淘汰了,就像蘋果淘汰諾基亞一樣,根本沒有喘息的機會。

  第三點,程式設計師的工作壽命很短。網際網路行業是一個競爭異常激烈的行業,因為這個行業的發展速度太快,傳統行業可能要很多年(>20年)才能夠做到一定的規模,但是網際網路行業的公司在數年(<10年)之內從無到有並突然成為世界級的巨頭(比如Google,Facebook,國內的BAT等等)。各個公司為了能夠在激烈的競爭中存活下來,就必須要有保持旺盛的戰鬥力。

  這個和程式設計師有什麼關係呢?答案是有的,公司要高速發展,就必須要在最短的時間處理最多的事務。最直接的體現就是加班,在網際網路行業,不加班幾乎是不可能的。而作為奮鬥在一線的程式設計師,工作量是最大的,公司所有的發展藍圖都會被劃分為一個個細小的功能模組,然後由開發者來逐一實現。風口的時間很短,而且同行之間競爭又激烈,所以程式設計師的工作就是加不完的班。

  在年輕的時候(<30歲)加班是可以接受的,但是一旦過了35歲,第一,身體大不如從前,工作起來力不從心;第二,接受新事物的能力明顯不如年輕人,前邊提到過,程式設計師必須時刻關注新技術,公司是不會養閒人的;第三,家庭負擔越來越重,在這個年紀,男性工作者已經儼然成為了家裡的頂樑柱,一旦失去工作,家裡的天就會塌。35歲的職業壓力那不是開玩笑的。

  因此,程式設計師作為開發者的工作壽命是很短的,在35歲之前就必須考慮轉崗。

圖1:關於程式設計師這個職業

傳說中的黑客

  以上三點是程式設計師這一職業最為核心的特徵。下邊的一些就不太具有決定性了,僅供參考。

  第一點,程式設計師不是萬能的。怎麼說呢?外行人一談到程式設計師,可能就會下意識地認為他一定是個電腦高手,電腦維修,那是必備技能。還有就是隻要自己想要的功能,都可以找程式設計師來實現,或者說程式設計師可以寫任何程式,比如搶票,遊戲開掛等等。

  作者作為一名非資深程式設計師,只想說那些人真的是異想天開。現實中的程式設計師一般都是根據業務模組,負責某一項功能,比如後臺業務模組,資料庫,前端頁面等等。這幾個名詞如果聽不懂也沒有關係,知道程式設計師做的事情也是有明確分工,不是萬能的就可以了。

  第二點,程式設計師需要寬鬆的工作環境。網際網路行業最吸引人的地方在於自由,平等。沒有過多的約束,無論是工作中還是在網路世界,人們可以暢所欲言,做自己喜歡的事情,對於所接觸的事物,有絕對的選擇權利。網際網路公司,同事之間沒有太多的等級觀念,彼此之間的交流很隨和,這個和傳統行業就不一樣了,傳統行業,官大一級壓死人,在傳統行業發展,有很多的職場潛規則,套路太多,氣氛也比較壓抑,但是在網際網路行業,情況就好多了,公司必須唯才是舉,必須創造良好寬鬆的工作環境,否則是留不住人才的。

  傳統行業跳槽頻率低,跳槽之後再找到自己滿意的工作很難,但是在網際網路行業就變了,程式設計師跳槽是很正常的,如果一家公司工作環境不好,即使給的工資高一些,程式設計師也是不會留下來的。開發者從事的工作也是屬於創作的,程式就是他們的作品。對於一個創作者而言,看重的並不是只有物質,更重要的是精神層面的生活

  第三點,程式設計師並不是不善交流。由於工作的原因,程式設計師每天需要面對的是電腦,是機器,和人溝通的時間太少。因此外行人就會認為程式設計師一般都是沉默寡言的。實際上,一名優秀的程式設計師,一定是善於表達的,因為他需要把他的程式寫的讓別人看得懂。有這麼一句話,大概意思是”高階工程師寫的程式碼都是給別人看的“。

  因此不善交流這頂帽子蓋在程式設計師的頭上還真是有點不合適,不過現實中也確實有很多程式設計師不大會講話,因為他們長時間和機器打交道,所以和人之間的溝通能力就漸漸退化。一般人認為程式設計師說話很直,不會拐彎抹角,或者不懂情調那也無可厚非。

  第四點,程式設計師對生活很有講究。關於這一點,不太具有普遍性,但是大多數程式設計師還是符合這一點的。具體提現是自己的電腦設定一定是有自己風格的,會有各種高(feng)級(sao)的外掛,電腦的配置不能差,或者自己使用的電子裝置比如手機、pad、耳機、鍵盤、滑鼠、音響等一定要好。

  生活上可能不太講究(不是吃貨),但是用的東西絕不能差。對於居住的環境,工作的環境也會有要求,這個在前文有提到。

  嗯,大概就是這些了。

相關文章