精通一套非主流框架給我帶來哪些收穫


原創blog.csdn.net/muhongdi
 
截至目前,本人已從事企業級軟件開發十幾年,由於08年時我的第一家公司從一家最主流的外企引入了一套非主流但效率奇高的開發框架,我便一發不可收拾,先後十年間分別爲民企、外包、百度、華爲等公司實施過該技術,過程中坎坷不斷,今天總結一下這段辛路歷程。
(我不是來打廣告的,本文不會出現該技術的名稱)
 
08年的時候,我還是一名web工程師,前端用的是開源的ExtJs。後端用的是基於Ejb+Spring+JerseyREST架構。開發一個具有十幾個page的企業級系統,一般需要4個人,一個架構師負責環境和DB設計,一個後臺開發,2個前端開發。因爲那個時候Ext還是一種新穎的js框架,需要邊寫補丁改源碼邊使用。
 
我用了一年,將前端的開發速度從5day/page,提升到0.5day/page。公司問我還能不能更快,我就寫了個自動化框架,這回提升到1hour/page。然後,就沒有然後了….公司覺得技術門檻太高,推廣起來比較困難。後臺熟悉Spring那套技術的人也貴,這就是成本問題了。(關於企業級軟件系統到底有多複雜,請查看我的另一篇文章:http://blog.csdn.net/muhongdi/article/details/78153491
 
當時大部分公司,還停留在SSH階段,連REST和前後端分離都很少在用,SSH是我上學時學的東西,簡直落後太多了。於是我就繼續搞自己的前端自動化框架,順便看看公司還有什麼更先進的東西。
 
過了幾個月,他們還真搞到一套東西,就是我說的那套從行業最主流的公司引入的非主流框架。它可以讓一個人花幾分鐘,通過拖拖拽拽的方式搞出一個還算複雜的page。這東西比起我自己想搞的自動化框架可就成熟太多了,原來我想做的東西,人家已經搞出來了,而且想的比我全面太多太多。畢竟是國外大公司的框架,我也算抱着開眼看世界的心態接受了。
 
又過了三個月,你猜怎麼着,這東西看上去挺簡單,但做定製開發的時候難度可就大了
畢竟我們都是新手,沒有中文資料,國內第一家引進,前端3千多頁文檔,後端3千多頁文檔,如果考慮到demo,集成,測試等文檔,就太多太多太多了….  我居然還看下來幾千頁,還翻譯了不少組件的用法。看過之後我真的非常佩服老外的技術實力,感覺就像我們國內的開源界還在努力學着用中世紀火槍,而人家美國已經研究出了機關槍了。
 
但問題又來了,作爲一家傳統企業,很少有像我這麼愛研究技術的,而軟件是一個個環節銜接起來的。就像我們買了一套批量生產汽車的數控機牀流水線,而需求人員卻只知道手工做出來的自行車長什麼樣……他們要我們原封不動的照搬老系統的功能和樣式,這就很悲劇了….(與他們不同的是,後來的百度要我們用這套東西生產豪華跑車,雖然還是很悲劇,但我們還算勉強做到了)。
 
結果可想而知,業務爲主的公司當然不會聽技術人員的話,加班加點也只能搞出個四不像。
 
在那之後我意識到,無論再好的框架,都不是一兩個技術人員就能左右整個項目的成敗的,於是我開始關注軟件生產的各個環節。從一點點給需求人員提改進建議(僅限少數需求人員),到早期立項時就確定哪些能做,哪些應該結合其他技術做,哪些坑要避免(更少,但很成功)。
 
可以說,到目前爲止,我前5年的技術生涯都是一邊研究(沒有先例),一邊查資料(沒有翻譯),一邊被鄙視(開發而已嘛,沒什麼技術含量啦)。
 
但是5年後,我學會了很多東西,比如:
  • 長期接觸讓我瞭解到企業應怎樣搭建軟件架構,才能實現省錢、高效完成業務需求。
  • 必須長期深入技術,因爲我們不能指望隨便叫一個人來幫我們解決問題,這是小衆技術。
  • 要能識別設計的合理性。因爲這套框架包含了設計的思想,不合理的設計真的很難做出來,反正折騰半天最後還是要改成合理的。
  • 我還學會了做培訓,至少短期就能讓人上手開發。
  • 很多上下游相關的都要知道些。
 
還好,幾年後,由於市場需求巨大,而會的人少,此技術的程序員薪資高於普通Java程序員很多,很多公司還專門成立部門全是搞這個技術的。
 
2016年的時候,該技術達到頂峯,然後又趨向小衆了。
什麼原因呢?
  1. 由於大量技術不達標的程序員涌入,導致該技術的口碑被破壞了
  2. 與國內開源主流技術思維差異太大,很多之前搞開源的Java程序員看到這個東西賺錢,就直接開始搞這套東西,而用的還是以前那套思維方式。而公司和用戶是不會區分的,因此認爲該技術有問題。
  3. 廠商宣傳力度不夠,前些年在世界級大會上還有宣傳,而這一兩年風頭完全被雲計算、大數據、AI給蓋過去了。而商業框架就是這樣,你不宣傳別人是不會主動關心的。
  4. 還是這些年開源太火了,連效率不是那麼高的傳統開發方式都能被現在的企業所接受。
  5. 一個初級程序員利用該技術可以提高薪水,而高級程序員不會把技術侷限於一個開發框架上,也是導致該技術無法發揮的重要原因。
 
好在,該技術已經推出了免費版本,而且在國外依然屬於主流技術,有大量的高水平愛好者。
反觀歷史上各種IT技術的發展軌跡,都是先小衆à大衆à泡沫à泡沫破滅à再次發展,我認爲該技術還是有發展空間的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章