任何事情,身處在外面,都有很多困惑和疑問。身處在內,都有很多無奈和憋屈。換個角度看世界,或許我們所面對的每一段經歷都是選擇與博弈的糾結與快樂,人生本來是不容易的。只不過多數時,你是感受不到不容易的。學什麼程式,比穿什麼衣服的問題更難,因為職業的背後,更多是抉擇而不是選擇,選錯一件衣服可以重來,而選錯一個職業所面對的結果,是非常讓人痛苦的。

對於任何一個人,你要清晰的認識到:任何人給你的建議或者方向,只是他站在自己體驗的角度給你的經驗性的建議,而最後你的選擇,除了深思熟慮還有孤注一擲,這是我對你做程式設計師錢最真摯的建議。

1、IT職業培訓到底有哪些產品?

既然是職業培訓,那一定是跟公司的需求相關,我們按照公司的邏輯來看分為四個大類:

*想法層:產品經理、UI設計、策劃

*實現層:Web前端、PHP、Java、C++、iOS、Android、Python

*維護層:Linux運維、Web安全、大資料開發、雲端計算

*推廣層:網路營銷

上文中我們說到,《中國統計年鑑2015》資料顯示中國有200萬程式設計師,占人口0.14%,結論是其實程式設計師並不多,相當少。另外,印度270萬程式設計師(最多的),也只佔人口0.2%的樣子。在核心的實現層上,很多人說一個產品經理就可以折騰7個程式設計師,在產品經理沒有非常深刻的基礎底蘊的情況下,沒有考慮後端結構與實現的情況下,發出的或許很小的需求,就是一次程式設計師的大奔命。

在2013年-2015年移動網際網路發展的這段時間,一個移動網際網路公司創業的標配是:iOS、Android、Web前端、UI,我們假設一個融資100萬的公司,向這四大崗位開出平均月薪1萬的薪水的時候,這家公司在不考慮任何執行成本的情況下,能撐起來20個月,但是關鍵是一個APP推廣的市場費用之高,可謂是一段黑暗的回憶。

就目前來看,我們把想法層、實現層、維護層、推廣層都定義為IT職業培訓的話,實現層和維護層是最穩定,但是是最辛苦的,因為大家都為了一個目標儘快的上線。而對於想法層和推廣層來講,推廣費用是有限的情況下,如何做到推廣結果的最大化,這是一個非常難的問題。所以這也就是很多人為什麼想做程式設計師的原因,雖然辛苦,但是高薪和暫時穩定。

2、程式設計師值得學的程式語言趨勢

RedMonk釋出2017年初程式語言排行榜:JavaScript/Java/Python進前三,PHP 滑到了第四名的位置,C# 和 C++ 並列第五,而 CSS 和 Ruby 又並列第七。在非功利的層面來看,程式語言是一通百通的,一種學精之後其他語言都不是問題了。

業內人士稱,如果你將來想從事網際網路,你最好看看Python、Ruby、PHP、Javascript。如果你想從事商業應用,你最好去看Java和C#。如果你想從事移動開發,你可能需要去看Object-C。如果你想進微軟,就去看.Net。如果你想做嵌入式,可能需要學習C。

就看之前說的一樣,看任何的選擇,其實都有一個固定的決策路徑。學什麼程式決定了就業去什麼公司,去什麼公司也就意味著什麼樣的待遇,什麼樣的待遇也就意味著什麼樣可能的未來。趨勢這個事情,有時候像穿衣打扮流行方向,更多的機會屬於嚐鮮者,但是要考慮快速立足和商業結果,成熟的或許更靠譜。

語言本身,不是一種方向。程式語言是程式設計師擺弄計算機的工具。任何一種語言,亦或是一門技術,只要是執行在馮諾依曼體系的計算機上,要想鑽得深,逃不開的還是那些原理性的東西——資料結構、記憶體管理、多執行緒、作業系統、網路協議等等。這些原理知識與語言本身無關,卻是用好每一門語言的基石。

有業內人士坦誠的說到:“大多數人學習這一行,貌似都是覺得技術工作有趣又不單調,錢不少而有發展。實際上,哪有這麼簡單的事情。若是你沒有一顆寫程式碼的心,就別學技術了,輕鬆又多金的工作其實挺多的..程式設計師這可是一條不歸路啊……”

你發現沒有,最終的答案是跟前文的判斷是一致的,那就是當局者迷旁觀者清。

最不靠譜但是又最真誠的建議是,如果你要為了就業而學習,那麼從招聘網站上統計5000個招聘廣告,得出需求最高的三種語言,選一門去學。

IT教育培訓機構課程設定考慮的是學生就業、企業的需求和教學成本。雖然很多業內人,一些大牛對培訓機構出來的同學不太認可,甚至不建議去培訓。培訓機構課程第一門程式語言從十多年前的C語言開始(跟大學是一脈相承),轉而直接從所需要掌握的技術方向程式語言,如Java、PHP、Python等。

3.程式設計師月薪過萬需要多久?

入行的程式設計師月薪是真實的,BAT和二線網際網路公司的校園招聘的offer都是月薪過萬的。中小微型公司、某些創業公司的福利不是很高,如果你在一二線城市從事IT,恭喜你,只需要你努力積累經驗,1-2年就可以達到目標。如果你在三四線城市,只是在公司裡乾點死活,做個小兵,基本上不太可能月入過萬了,可以考慮在網上接點外包什麼的,月入過萬也不是很難。一二線城市的待遇的確比三四線城市的待遇高很多。再者就是有些程式設計師只會簡單初級的編碼,乾的活可能真的不值那麼多錢。

這個問題有一個關鍵點。就是行業。程式設計師是職位,去不同的行業待遇有很大差別。舉個例子,我弟在大連理工,他的同寢室同學,2014年本科畢業後去了去哪兒網,第一年月薪14K。我本科同學的研究生同學,北京交大,2013年畢業後去百度,月薪19K。以上資料確認準確。

你發現沒有,在這個簡單而複雜的世界裡,其實選擇也許並不多:

如果你想要得到一個有保證的,但普普通通的,收入還不錯的,在一間小臥室的熒光燈下寫一些金融應用的工作:Java

如果你想從事移動開發:Swift / Objective-C / Java / Kotlin

如果你想找一門表達力和功能都很強的語言:Python

如果你想更快速地開發WEB程式:PHP

如果你想學真正的程式設計:C

以上是我對你選擇做程式設計師的一些建議,歡迎留言討論。

閱讀原文