IT核心技術與我,曾有交集

dicksonjyl560101發表於2018-04-27

IT核心技術與我,曾有交集

 

最近中興通訊被美國政府制裁一事鬧得沸沸揚揚,被房地產虛假繁華迷幻了很多年的國人,突然發現雖然我們已經貴為世界第二大經濟大國,卻未能掌握很多重要的有科技含量的行業裡的核心技術。一時間,很多文章分析中國人為啥掌握不了核心技術,從體制上,從國民性格上進行了多維度全方位的或深或淺的分析。筆者自然不放過這個熱點,寫過兩篇文章,分析原因,並且為中國晶片事業未來能突破歐美的壓制掌握核心技術獻言獻策。

 

筆者在IT行業打拼將近17年,IT行業的核心技術,中國至今一個都沒有真正掌握(完全的徹底的自主智慧財產權)。筆者認為的IT行業的核心技術,硬體上是指電腦CPU,軟體上是指PC以及手機作業系統,辦公管理軟體(如微軟的Office),資料庫軟體(OracleDBSAP HANA),廣受世界各地程式設計師歡迎與使用的開源軟體(比如Spring, Hibernate, 中介軟體伺服器(比如WeblogicTomcatApache),ERP行業的高階核心軟體系統(比如SAPOracle EBS等)以及其它各種系統級的軟體系統。

 

回想17年工作生涯,我驚喜的發現,我曾經與IT行業核心技術有過交集!想起來那還是2001年剛畢業那會兒,畢業後進入一家美國軟體公司在長沙的分公司,擔任Java程式設計師。那個時候,Java大熱,很多高校計算機相關專業的學生對其趨之若鶩,很多人大三大四就開始自學Java,少數人找到校外企業兼職工作機會,也是用Java編寫各種應用軟體。並且當時Java虛擬機器‘一次編寫,到處執行’的噱頭宣傳,讓很多人對Java推崇備至。當時全球主流核心程式設計平臺,除了Sun公司推出的J2EE平臺(使用Java程式語言),還有知名的微軟公司推出的.NET平臺(程式語言是C#)。兩大平臺競爭激烈,各自有無數的程式設計師為之吶喊助威。J2EE平臺的‘一次編寫,到處執行’的特點,讓只能在微軟作業系統上執行的.NET平臺,多少有點底氣不足。但是基於微軟作業系統強大的軟體生態,.NET平臺的受歡迎程度,使用範圍,絲毫不遜於J2EE平臺。

 

我入職的美資軟體公司,總部在矽谷,是一個臺灣籍美國人創辦的,這家公司當時剛剛來湖南長沙成立分公司。然後就從我所在的學校以及長沙的另外幾家大學裡透過嚴格筆試面試招聘了第一批員工。新招聘的員工,全部都是應屆畢業生,分成幾個小組,開發組,測試組等等。然後從東莞分公司調入幾個老員工來到長沙分公司,擔任幾個小組的組長,帶領我們這些剛剛畢業的菜鳥們工作。

 

我是在入職這家公司後開始學習Java程式語言的,一些同事在大學讀書期間就學會了這門語言,甚至還有一些小的專案實戰機會。面對他們,我壓力不小,拼命苦學,戰戰兢兢的透過了試用期,正式開始了這家公司全新的職業生涯。

 

這個公司規模不大,員工都是畢業2,3年甚至應屆畢業生,技術實力算不上太強。但是公司要做的事情,可真是不一般,不是類似國內90%以上的軟體公司做的那種技術含量不高的應用軟體,而是一種可以說是系統軟體的軟體產品。這個軟體,是一種軟體平臺的遷移軟體, 要把基於.NET平臺開發的各種應用程式,經過我們這個軟體平臺的轉換,轉換成使用Java語言編寫的應用程式,這樣就能在各種作業系統平臺(Windows, Linux, Unix等)上執行了。這意味著,需要編寫一個2個程式語言之間的轉化器,同時需要使用Java程式語言實現.NET平臺下的所有功能(所有的Class),即用Java語言重寫.NET平臺!這是一種系統級的軟體產品,可真不是一般的企業應用軟體!可以說在當時,全中國都沒有哪家公司敢於幹這種事情!也正是由於這家公司乾的是這種看起來高大上的事業,所以也吸引了來自美國的風險投資。這使得這家公司好幾年雖然沒有獲得客戶沒有收入,卻能正常經營下去。

 

在公司工作期間,我有參與.NET平臺下某個Package下的諸多class的遷移工作。我們要做的事情是,首先透過測試或者閱讀.NET平臺原版說明檔案,瞭解到這些Class的作用,class裡每個屬性的用途,每個method的功能,然後使用Java語言編寫一個相應的class,也定義相關的屬性和method,但是功能要跟.NET平臺裡的class完全一樣。除了使用J2EE平臺裡的class library, 我們還有使用支援Java的開源軟體,這是我第一次聽說與使用開源軟體。感覺這個東西真是好,也很佩服這些開源軟體的作者,覺得他們很了不起,一方面技術精湛,一方面很有分享精神。我們開發好的程式,交由測試組來測試,發現了bug,又被退回來繼續修改,一直到測試透過為止。

 

在這家公司工作期間,筆者很是痛苦了一段時間,也深深感覺到這種系統軟體真的是非常非常難做。.NET平臺裡class library的某些Classmethod, 功能很強大,能考慮到各種場景。我們透過.NET平臺的class library說明文字或者自己的一些測試,很難完全瞭解到它的功能,要麼就是盲人摸象,要麼理解偏了。經常自以為實現了相關的功能,開發好了,但是一旦提交到測試組,就發現還有很多bug。很多功能,就是天天加班加點,絞盡腦汁,抓破頭皮,到處找資料問業界資深的技術大拿,都搞不定摸不透。你想想,微軟的.NET該有多複雜啊,且是微軟公司組織數千工程師經歷多年努力打造的平臺,豈是我們這些Junior的程式設計師能輕鬆摸得透的?常常百思不得其解無法實現技術突破的痛苦與窘境,讓人十分鬱悶沮喪,讓人真的是異常難受,這讓我產生了跑路的念頭。

 

我在這家公司苦苦堅守了一年之後,決定尋找外部機會,很快得到了當時中國四大軟體軟體園之一 --- 創智軟體園的offer。進入創智軟體園之後,發現這家公司做的軟體好簡單,都是企業應用軟體,主要是為一些大型軟體公司的資訊化建設提供軟硬體整合解決方案。這種應用層面的軟體,技術含量普遍不高,只要弄清楚了客戶的需求,技術上要實現一點都不難。這才讓我有些信心了,終於可以得心應手的開展工作,終於可以有點成就感了:自己參與編寫的軟體很快被客戶很多人所使用,幫助客戶提高工作效率與管理水平了!

 

後來所做的幾年Java程式設計師,從長沙的創智軟體園到廣州的天河軟體園, 工作期間做的軟體都是應用層面的軟體,技術含量普遍不高,這也是中國軟體開發業界的真實現實。我再也沒有遇到過如同第一家公司那樣立志於做高階複雜核心的系統軟體的公司了。後來改行做SAP諮詢顧問,所做的工作,技術含量就更低了,學會了SAP軟體系統的某個模組的技術與功能之後,就靠嘴皮子與客戶打交道了。

 

總結下來,筆者17IT行業工作生涯,只有第一年在第一家公司工作期間,工作最有挑戰性,從事的是系統軟體的研發,距離軟體行業核心技術最近。從2002年以後至今,從事的工作,技術含量越來越低,距離IT核心技術也是越來越遠。實在是人生一大悲哀與不幸!

 

       2018-04-26 寫於無錫市新吳區

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2153438/,如需轉載,請註明出處,否則將追究法律責任。

相關文章