在16年末我寫過一篇談將來的文章《2016年底閒談iOS開發的將來》,當時剛參加完秋季的Qcon,整理了一下寫了出來。到如今17年的春,過去四個月,社區裏討論氣氛已經從《從入門到放棄》變成了《從入門到轉行》、《從上架到上吊》。
php
咱們先從需求方看起。移動開發市場其實在過去半年裏並無太大的變化(就像股票同樣,跌20%也算是正常的波動區間)。運營的朋友喜歡用「下半場」、「迴歸理性」這樣的詞來形容。前端
早期這個市場從無到有,遇上中國一批手機換代潮,你們都是野蠻成長。當一個市場在增加時,就算你作的很差,也可能由於市場總量在增長而活下來。又恰好遇上國家大力號召創業潮,給人一種處處是金子的感受。我和扎克伯克之間只差一個點子,那我在沙縣小吃吃混沌的時候有了個點子,就只差一個程序員了。java
可是商業原本就是逐利的,萬惡的資本主義先進性和咱們社會主義固然不能比。因此這些沒有商業模式的公司持續一段時間後終將退出舞臺,就像前些年的跑馬燈大功放山寨機同樣,只是快了一些。python
在16年裏已經沒有一個平臺級的產品出現了。本來從web時代就有產品轉移到app的就不列舉了,好比優酷土豆。舉幾個例子:程序員
直播是由於恰好剛上中國的網絡升級,帶寬明顯變高,價格也變低。不過提及來秀場這種模式原來在pc也存在已久。
我只是想說明,移動市場已經不是風口了。什麼樣的市場才能算是風口呢?我以爲就像雷軍說的,豬都能飛。顯然,如今豬飛不起來了。否則你飛個我看看。web
可是中國目前大約有7億的智能手機用戶,這個流量已經夠大了。只是增加有限。這些用戶的計算能力依然經過手機實現(有些計算可能在雲端,手機只是一個鏈接設備)。若是你看清了這個事實就能明白如今行業處於健康發展狀態。並非像某些行業在坍塌式的衰退。後端
有的時候遇到問題真的要先想清楚是你的問題,仍是這個世界的問題。
我如今到拉勾上搜一下10-15k的職位,把職位數量列出來:服務器
上海 | 北京 | 杭州 | |
---|---|---|---|
iOS | 104 | 152 | 70 |
Android | 156 | 252 | 89 |
PHP | 228 | 349 | 134 |
前端開發 | 500+ | 500+ | 268 |
Java | 500+ | 500+ | 500+ |
我以爲若是公司發展健康的話,10-15k的這部分程序員應該是中堅力量。有的公司可能業務簡陋,堆幾個5k程序員就夠了,這種職位沒有參考意義。
假設你在上海是個iOS程序員想換一個工做,你有104個職位能夠選。只是沒有幾年前有好多個offer能夠選,可是我以爲這也是一個能夠接受的水準。固然仍是沒有前端和java吃香。固然若是你在三線城市選擇作移動開發確實是情懷值max,我敬你是條漢子。微信
那麼我若是是一個新手呢?這個行業正常發展,就確定也會須要對應數量的新人,固然這個比例是多少我沒法估計。只是原來可能及格線是60分,如今標準提升到了80分。只是須要過濾掉後面的人。那是否是變難了不少?weex
若是你只是爲了就業你就找最容易就業的崗位啊,好比前端和Java,賺錢還考慮什麼姿式喜愛。
若是你就是想作移動開發,寧願選擇一條稍微難一點的路。移動開發就算入門難度提升了,IT行業的付出收入比仍是比其餘行業高。你能夠看下同個公司一樣待遇的運營或者其餘崗位須要什麼樣的要求。你也能夠參考下其餘系的同窗,好比新聞、外語要得到一個相似的工做須要付出多少努力。講真他們畢業時也就是有個工做就知足了,哪裏敢奢求什麼皮皮蝦。以前培訓三個月就出來月薪就上萬也這就是了遇上了多少年一遇的黃金時代,哪能天天都是黃金時代。就滿足吧,程序員這個職業幾乎不看出身,你能夠是大專,能夠是沒考上大學,能夠是三流本科,只要花足夠多的時間去提升本身。你要是真像那些考研的人那麼努力依然不用擔憂就業的問題。
如今咱們來談下app開發的趨勢。
在過去的半年多了,最大的變化就是js to native(rn & weex)開始逐漸變的強勢。印象中rn是15年10月左右的開放的安卓sdk。爲何要強調安卓的sdk呢?由於原本這個技術的主要優點就是提升開發效率,原來兩個端的代碼只須要寫一份。熱更新這件事對於大多數團隊而言只是錦上添花,並非選擇這個技術的主要緣由。
在通過一些團隊的實踐後,不管是RN和Weex在實際項目中的使用已經沒有太大的風險。雖然仍是有諸多不盡如人意的地方,可是如今看那些用了這些技術的公司,好比攜程、去哪、QQ、阿里彷佛都沒有回頭的意思。
摘錄一些一線公司的招聘上面寫的要求或加分項:
雖然如今還只是一部分公司在嘗試使用這個技術,然而我認爲他們開始在主營業務大部分應用這個技術已經說明了這個技術體系的成熟,只是早期在最佳實踐或者一些工具鏈會有所欠缺,可是這不會影響這個趨勢,只是快慢而已。
有句話叫語言決定世界觀,我把這個階段稱爲大前端時代。
由於業務代碼主要由js構成,而這部分一開始的動力來自傳統前端。可是從大一點的角度看,離開了服務器和桌面均可以稱爲前端也沒有不妥。不過看到芋頭的公司稱爲「大無線」,這個叫法也好理解,不過猜想可能直接帶「前端」會讓原來一些native的開發者不適應因此這樣稱呼吧。
接着咱們來思考一個問題:假設js to native是半壁江山,那麼代碼是前端寫仍是app程序員寫?
這裏要意識到一個點就是:JS Native不能完成native全部的功能。也許是性能的緣由,也能夠是其餘一些客觀的緣由。好比逐幀動畫,在RN體系下確定就是要native,否則掉幀掉成狗。再好比一些第三方的sdk,可能人家就是寫好的native給你,你須要native調用。
在大前端的時代下,一個合格的開發者顯然是 js + iOS / Android 。能夠是一個熟練的前端學習一點native,或者是native程序員會js。若是考慮到如今公司情況進行轉型,一個合理的路線是app開發者開始學習以js爲主要開發語言的開發狀態。
若是此時公司業務沒有增加保持現狀,由於這套技術提高了開發效率,確定要進行「人員優化」,淘汰掉不能適應新體系的程序員。其實就算按照勞動法的規定,賠償N+1,假設你作了2年,也就是賠你3個月的工資。若是公司想省這筆錢,就會故意把你調到不相干的部門,好比你是iOS,就讓你去後端寫php,讓你難受本身辭職或者以你後端工做績效不合格逼走你。固然了。以我國管理者的智慧,想逼程序員走的方法確定是不少。
固然比這更值得思考的是:從這裏離開之後你又要從哪裏開始呢?不過是更舉步維艱。聰明的作法是順着時代的浪潮。而不是執拗的被拍死在沙灘上。
我有一句話不知當講不當講。。。
多年前有一個暢銷書,中文翻做《大數據時代》,英文名叫《big data》。
如今開始熱的VR,你們都以爲是下一代計算平臺,問題是,這個你等的到嗎?你又怎麼爲一個沒有統一技術標準和框架的平臺作準備?若是你有這個能力,你根本就不用擔憂就業的問題。大多數人不具有這樣的能力。
固然轉行也能夠是一個務實的選擇,若是你願意的話:離統一世界只差500年的JS,最好的語言php,還有:
歡迎關注個人微博:@沒故事的卓同窗