close

上一篇談到了很多資訊人未來所需要面對的難題。而在本文中將提出未來許多新的商機,跟你需要準備的技能。老實說,商機永遠都在,就要看你能不能把握囉!雲端、行動裝置這兩大要素將徹底改變人的生活模式,也徹底改變了身為資訊人的你需要的因應之道。

 

About program.再度以程式為開始的論述,我先提一下未來在雲端當中,慢慢的DBA跟網路管理員的角色將在企業中弱化,畢竟在IaaSPaaS的角度來看,雲端早就幫我們準備好大量的儲存庫跟一個好用且具備伸縮性的網路流量計價方式。如此,企業再不用去關切此等議題,所以若你還想去考OracleCCNA證照的人請好好想清楚囉。不是說這些證照不好,而是這樣的職缺會越來越少,在混合雲(hybrid cloud)的機制下,未來private cloudpublic cloud將可共存,此時企業對雲端的接受到因為受到private cloud的資訊安全保障後,將大大提高興趣度。所以,除非你要進入Oracle外商或者要去中華電信,否則實在沒有太多理由去搞那麼多網路跟資料庫的證照(PS:原理還是要熟,不是說這些不重要,他只是你工作中的一部份而已,久了會沒有辦法靠他們吃飯!)。那到底還有什麼是有商機的呢?真的想要寫程式的人給你下列的建議:

  1. DB就要往NoSQL(就是非典型的RDB,而是新的資料儲存架構)看。未來終極兩端:雲端跟終端剛好是極大化跟極小化的差異,因為雲端的巨量資料,所以RDB放不下,故需得用NoSQL來存放資料;另一方面,因為終端設備的容量跟處理能力有限故放不下RDB,所以還是得往NoSQL,因次在極小跟極大化的世界中資料的儲存方式將有極大的轉變,養慣我們的RDB已經紅了約20年有了,但現在即將面臨大幅度的挑戰,Oracle應該很有的忙了。
  2. server side如果想學NoSQL那就看看googlebig tablegoogle file system的概念,另外請搭配google提出的MapReduced的平行運算。切記未來雲端的世界很多都是平行運算的概念,許多傳統的程式撰寫方式或許也得改變。而這些改變是危機,但卻也是年輕人的新商機,畢竟你要一個已經寫RDB 20年的工程師在打掉重練,真的是有點殘忍,但對年輕人而言,反正沒有根基反而是最大的利基。
  3. client side如果想學NoSQL那就看看sqlite,此種資料的存取方式是專門用於輕量化的行動裝置上,你還是可以利用類似下sql的方式來取用資料,但底層的資料結構卻並非是RDB的存放方式,轉而採用key/value的方式來做對應。這是進給年來在行動裝置上大家很常用的資料儲存機制。

 

但我總覺得目前的NoSQL是戰國時代有好多種方式或語法一直推陳出新,我倒是覺得再過3~5年會有一個霸主出現。在此之前,其實可以先懂原理即可,等霸主來臨再切入也不遲囉,試想以前的人學了階層式資料庫、網路式資料庫後來還不是都被RDB給全部吃掉了,所以囉耐心等待吧,另外用心學習其原理才是重點,語法只是表徵,真正的設計人才有時候反而自己還對語法不是太熟,畢竟創造者是不需要實做的,實做就讓跟隨者去來執行即可,我們該有不同的行動方針才對。

 

上面是就儲存方式的轉變論述。下面將針對程式語言的轉變來說明:

  1. 現在的Native App非常火紅,在美國約有百萬個獨立的微型應用程式開發者,都在開發App,等著一炮而紅。App的紅熱程度,我想許多人都躍躍欲試,要嘛就是加入android陣營學用Java來寫Native App;要嘛就是投入apple陣營,學著iOS釋放的SDK並忍受著長久的審核流程,辛苦的把App上架到appleapple store之上。但我想講的是:學這些當然是好,但跟早期的從COBOL、轉成PASCAL、在轉C、轉C++到如今的Java這有什麼不同。另外不能跨平台的問題正困擾著許多的開發商、軟體商跟企業用戶者,一旦使用了某一種語法將注定你的裝置底層將被長期綁架,這不應為長久之道。我的建議是去看看HTML5的發展吧,我覺得未來很有可能是HTML5的天下,畢竟所有的端設備都有browserHTML5將成為各家廠商都可以下台階的一種共同的解決之道,沒有誰併誰、誰綁架誰等問題,故諸如googleapplemicrosoft近幾年都極力推崇。若為20出頭歲的年輕人,應該真的對此領域有更深入的瞭解,畢竟在HTML5的世界中所有東西都將可以自由穿梭在各種裝置之下。
  2. Cloud是個虛詞,真正改變的是:頻寬比以前快多了,在光世代100Mbps4G的釋照等情況下,未來的有線跟無線通訊將快的嚇人,如此web system只會更加重要而已,挾帶著雲端的概念data & service in the cloud,故任何的應用將只有一個入口:『browser!』,竟然如此那網頁最弱的是那一塊,我想就是圖形化了,但HTML5之下,WebGL誕生將替web的圖形化開發找到了新的方向,我想未來WebGL的開發者應該會有一定的前景才對。畢竟要將所有桌面的東西轉換到網頁上,而且實用我想更佳的圖形化開發方式是免不了的趨勢。
  3. 此外web system目前已經都走向web 2.0web 3.0的途中,我想更靈活化的web system是必然的方向,故AJAX的概念應該是你不可或缺的前端運作方式,採用非同步的溝通機制,才有機會讓整個網站更加靈活,注意現在市面上AJAX的框架有許多,例如:jQueryextjsZK…等等(大陸更有許多人已經寫了很多框架可以用),所以在自己一個一個寫意義也不大,建議把原理搞懂,接著找一種架構做深入的實做跟理解即可,畢竟AJAX已經成為必備的要素,沒有太多的邊際效益了,想要靠他來賺大錢,不容易囉…^^,但說都不懂web system應該就離你很遠啦!
  4. 此外你得注意的是系統的轉變,很多系統已經從單核心走向多核心、單機走向叢集式運算,未來平行運算一定是個非常熱門的話題,目前這一塊的專家還不多,如果想要在平行運算有好的基礎,說不定functional programming是一個不錯的選擇方向,但他會有一定的難度,這種語言需要比較好的邏輯架構跟數理基礎,也因為進入門檻較高,因此一定會有它的利基市場存在。易利信的電信交換系統就是採用Erlang這種平行化程式語言,雲端的複雜度跟電信業我想也不相上下了,所以及早接觸平行化程式語言或許也是一個不錯的方向。

 

以上講的都是從語言的角度來看,算是一些未來的走向。建議可以挑幾個深入看看,另外一定要搭配個基本的程式語言,在此建議Java囉。一來他乃是具備很多open sourcesolution;另一面,當然是因為他具備好的O.O.撰寫原理唸唸總會有好處的。

 

面對未來的巨變,我們得要先想清楚該努力的方向。至於非技術性的未來走向,待下一篇在跟大家分享~~

arrow
arrow
    全站熱搜

    劉逸 發表在 痞客邦 留言(3) 人氣()