從GISer到網際網路前端工程師,JUST DO IT
// 我與GIS的結緣 //
2010年,我考上了西北農林科技大學,原第一志願是機械相關的專業,服從調劑後,就被調配到了資環學院的地理資訊系統專業,當時我是完全不知道地理資訊系統是幹什麼的,更不清楚畢業能做什麼工作,查了百科,專業的介紹更加懵逼了。
大一也沒學什麼專業課,尷尬的是回家,親朋好友問所學專業,只能說是畫地圖的,後來學習遙感後,就說做遙感、GPS導航的。然後村裡的老大爺聽到就紛紛點頭說,高科技啊,有前途!
一直到上大三,我才真正知道GIS畢業能做什麼工作,大概有這麼個方向:GIS相關軟體使用相關崗位(包括資料處理,技術支援)、銷售崗位(賣軟體或者其他影像銷售)、遙感相關從業技術人員(國內只有國企、事業單位)、測繪相關、IT方向;
面對就業方向我是如何選擇的
GIS相關軟體使用相關崗位
性格不www.cqyinwei.cn合適,讀書的時候,有點高傲,認為軟體使用沒什麼技術含量,並且覺得資料處理,資料向量化什麼的,是幹苦力活的,所以不會考慮這個就業方向;
銷售崗位
還是性格原因,不感興趣,並且從來沒有銷售本領,像女生表白都沒什麼技術,何況推薦物品給別人;認為好的產品,做點廣告你會自覺過來買,在人旁邊嘮叨推薦,我就覺得心煩。這也是為什麼只去那些沒有推薦員的衣服店裡買衣服的原因~
遙感相關從業技術人員
個人並不打算考公務員,所以進國企事業單位沒多考慮,並且在學校裡邊學習遙感相關的東西,也就是用Erdas處理影像,簡單的成像識別,一些書本上的概念原理;本科學不到什麼,想從事遙感技術方向的工作也比較困難。
測繪相關
實習的時候就體驗過了,自己不適合做這行,感謝測繪人員對GIS基礎資料的共享!
IT行業
和性格愛好有關,喜歡玩電腦,這裡的玩電腦並不是說玩遊戲,大學四年,我玩的遊戲只有NBA2K,打打三國戰績,拳皇,遊戲上浪費的時間很少(很慶幸);然而我喜歡整的是軟體安裝破解,重灌系統,網站搭建推廣什麼的。GIS520社群就是大三暑假的時候整的。尷尬的是,到了大四,我能從事IT行業相關工作也沒什麼技術,能勝任選擇的確實只有資料處理相關的技術支援崗位。但我當時的內心是做程式設計開發,興趣是從搭建GIS520產生的,於是我就開始自學一些程式設計技術。
大三其實有準備考研,我選擇考研的目的是擔心找不到好工作,想從事程式設計行業,但是白紙一張,作為資源環境學院的地信專業,非常不重視計算機程式設計方向,軟體系統原理,程式設計思想等課堂為0,然而在大一大二的我並沒有覺悟到,一心想玩了(高中老師說的,上大www.sqcqsb.cn學就可以好好玩了)。其實是怪自己,覺悟不高,另外環境氛圍問題,我們學校的地信專業,IT程式設計方向就業氛圍就不好,不能從學長學姐那裡得到經驗。
考研複習沒堅持到最後,我就看程式設計書去了(考研不考程式設計),然後遇到了秋招,一家地信公司來我們學校招聘開發工程師,很幸運,人生第一次面試,還表現的很挫,也都能面試通過。最後去北京實習了不到兩個月。
實習過程是懵逼的,很多東西上手不懂,有點混,但是自己也努力的去搞明白,學基礎。
因為表現不好,在實習幾周後,又一次被經理叫去聊天,問我是否對技術支援感興趣,談談現在工作的看法。我表現的自卑,也說明自己目前技術不行,但是很不喜歡軟體相關使用工作。然後就一直默默的幹到實習結束,記得是清明準備放假,找個理由就回學校玩了。
雖然實習沒能給公司貢獻什麼,但是實習的機會卻使得我找到了方向,我清楚自己需要學習什麼,從事WebGIS開發方向所需要掌握的技術,回學校後我就有空就一直學習。技術的學習方向並沒有學長學姐可以請假,我是自己摸索的,當時找方向是這樣的,檢視招聘崗位要求的技能,就記下來,總結出來,然後就學習相關的技術。
畢業了,我就去了實習的公司報道,當時有個好處就是,實習過的學生,畢業可以直接轉正,所以,報道後就是正式入職員工了,GIS傳統軟體行業做WebGIS方向崗位有的也叫GIS軟體開發工程師。
入職後,我被安排到了事業部;我心裡認為是因為技術不行,被調部門了,不過我工作還是做WebGIS相關的開發工作,就覺得無所謂了。最後部門合併了,原來實習的部門合併到了事業部,最終都是一樣的。
工作,入職就是做專案的,WebGIS專案開發,主要技術就是JavaScript/CSS/HTML,後端Java,資料庫MySQL或者Oracle。這樣學習方向就定的範圍就更小了,先學好這些工作就輕鬆了。
工作的前兩個月是比較困難的,記得當初和ZhangDK(一個同事)每天下班後都留在公司上晚自習,堅持了一兩個月吧。慢慢的熟悉公司相關的技術,框架原始碼的閱讀,專案做多了,也就熟悉了,待在公司裡邊做開發,做什麼系統都可以了。
隨著老員工的離職,我們就變成了老員工~
做WebGIS開發工作,大部分是前端開發工作,然後自己就會關注前端領域的發展,發現網際網路前端方向技術更替的很快,當時node.js、angularjs、前端自動化程式設計,grunt、gulp等技術流行開來,前端領域炙手可熱,自己就時刻了解最新情況,然後再跟進學習技術。
我是從node.js(2014年底)下手開始的,原因是node.js能做後端開發,還是JavaScript語法,學會了自己就可以隨意搭建網站或者一下demo應用,更好的學習前端開發。因為做開發的,前端後端你都得會,從前端到後端的互動等;當時因為Java技術不夠深,其實使用Java搭建網站後臺也是可以的,但是你要做很多工作,比如選擇SSH框架,自己封裝介面,寫Controller等一套東西,學習Java後端這一套東西,花費的學習成本可不少。加上前端全家桶,你是沒多少精力的。
node.js上手後,我就入門了Vue.js,angular.js等前端框架,通過gulp,webpack等工具構建環境,開發一些demo應用,瞭解框架的使用技術等,最後公司裡邊有專案用了angularjs1.x和有H5 app使用了ionic開發。我也是輕鬆上手的,當時頓時覺得受用很大。
然而前端技術更替沒有停止,angular1.x的缺點導致Vue.js框架的流行開來,還有元件式程式設計的React的出現,React Native的出現等,帶動了前端領域進軍App,以及全端的方向發展。
去年(2016年)我也學習了React,並且瞭解入門了React Native。發現前端能做的東西很多,只要你敢想象。
然而新公司(2017年現狀)使用了ng2開發web系統,nativescript開發app,兩者對我來說都是全新的。我入職的時候花一週時間上手ng2,並且能指導其他新員工以及實習生做開發。這就是我前面積累的發揮。對於我熟悉使用ES6,以及學過TypeScript來說,ng2上手只需要一週時間,當然高階部分以及精通是需要花時間學習研究的。不過工作上,做系統,做功能,一般的就夠了。如果你沒有其他技術經驗的積累,你可以去試試ng2上手的難度和實際~
我要說的是,前端技術在更替,並且會一直在變。如果你從事前端領域,你要保持一顆好奇接受新技術的心,也就是不停學習的心。當然,不要以為什麼框架都懂了,你就牛逼了,最重要的還是基礎,以及你從事方向的深入研究。框架就是工具,你學習使用和精通使用工具後,生產工具的原理,如何生產工具你也是要去研究掌握的。因為更多的工具會更具市場需求生產出來,作為程式猿,要想未來不被淘汰,你要作為工具生產者或者是瞭解工具生產過程的人,而不是僅僅是一個每年都可以用畢業生更換的螺絲釘!!!
最後說一下為什麼我離開了GIS行業。
我是從事WebGIS開發方向,也就是使用Java程式語言(不精通),然後用前端技術做GIS相關的Web開發,簡單的地圖js庫呼叫實現一些功能,這樣的工作不能長久,因為沒機會接觸核心的,比如ArcGIS JavaScript API這種庫的開發才是方向。不然你的工作隨時可以被未來畢業生替代。
另一個方面,比較尷尬的是GIS行業的前端技術和網際網路前端相差如天地。並且開發的系統不注重體驗,因為都是給當官的人用的,你看啊,是政府相關的網站哪個不是又醜又難用的。優化前端的體驗等用到的技術也是要學習的,如果你學習了沒機會用,那你可能就考慮一下轉行了。
現實一點,個人認為傳統軟體行業的公司前景不好或者壽命不長,我不能把自己的技術和前途作為籌碼賭博。並且薪酬和網際網路差別會越來越大,也是因為技術棧差距越來越大。
未來前端會佔領App市場~也就是前端開發工程師你要懂PC端,還要懂App端的開發,目前很多公司已經有要求了。現在我的工作就是,使用NativeScript開發App,一般作為前端的組長帶領前端團隊開發Web端的專案。我也是學習的過程,工作的過程也是學習的過程,那你就會有所成長!
我只能幫你到這裡了,祝好運,後期會經常分享一些建議或者技術文章~