一名 IT 工程師的九年工作總結!

一名 IT 工程師的九年工作總結!

來自專欄 FMI飛馬網

時間一晃而過,大學畢業轉眼間已經工作 9 年了,總結一下自己這些年來的感受。

與程序打交道的人生,是簡單的人生

一次做規劃局的項目,規劃局的職員很是欽佩地說:「你們真了不起,在電腦上敲敲鍵盤就能做出軟體來。」

規劃局領導說:「跟電腦打交道是最簡單的,難的是跟人打交道。」

領導的話很有深意,一語道破了本質,做程序的人,是比較簡單的。

不懂什麼叫編程

大學本科,讀「計算機科學與技術專業」(相信看這篇博客的人多半也是學這個專業的 ^_*),課程重理論而輕實踐。

最初學習C語言,對於編程沒有任何概念,我清楚地記得,一次在課堂上問老師:「計算機輸入法,可視化操作界面已經很完善了,為什麼要用C語言中 Print() 函數輸出一段字元呢?而且我們學習使用Console控制台的黑白屏輸入輸出,也不像是平時使用的軟體啊?」

老師聽後也是一臉的懵逼,說:「你好好學,慢慢就明白了。」

你不懂的,老師也沒法回答你,只有靠自己慢慢地摸索,慢慢去領悟。

Java還是C#,平台選擇的愛恨情仇

初學Java,這是我接觸的第一個最具有實用意義的編程語言(可以做網站,做軟體,雖然C語言、C++也可以開發應用軟體,但畢竟使用的人較少,對於初學者,找到一個合適的教程都困難)。當時的學習,基本是自學,上網下載視頻教程,一集一集地看,不懂的概念上網查,去圖書館借閱相關書籍資料,什麼JSP標籤、Servlet、JDBC,到Struts MVC、Hibernate、Spring、設計模式,半年時間,算是初步入門,儘管對知識還是一知半解,但還是成功用Java做了畢業設計,做過幾個小程序。

工作之後,開始使用C#,算是與.NET平台結緣,一行一行地敲代碼,一個接一個地做項目,一版又一版地升級軟體,一晃9年了。從最初的ASP.NET WebForm、ADO.NET,到ASP.NET MVC、WebAPI、EntityFramework、面向服務架構的WCF,以及最新的跨平台.NET Core,微軟為軟體開發人員,提供了編程最大的便利性。

僅從開發語言本身角度講,C#並不比Java差,並且很多細微的地方,C#比Java做的要好,比如,C#中的get,set屬性訪問,要比Java的欄位訪問方便很多,相同邏輯代碼運行效率方面,C#的MSIL比Java的位元組碼允許效率還要稍微高一些,但是無奈,.NET平台發展始終不及Java平台。誠然,平台的發展不能僅從開發語言本身考慮,平台運行環境,平台參與人員整體水平,使用成本等,更是起著決定性作用,.NET平台在互聯網大潮中,逐漸被邊緣化,免費的Java平台,被開源社區擁抱,成為互聯網項目開發平台的中流砥柱。微軟似乎意識到問題所在,逐步加入開源隊伍,並提供了跨平台方案.Net Core,但並沒有明顯起色,.NET平台開發人員心中不免有一絲悲觀情緒,.Net平台開發人員似乎比Java開發人員始終矮一頭的感覺。

前端編程,JavaScript從無知到覺醒

做Web開發,離不開HTML、CSS、JavaScript,儘管日常工作以後台開發為主,但接觸得多了,慢慢地理解深入,從只會使用JS寫函數,發展到使用JS面向對象的功能,理解了JS中閉包的概念(好燒腦,用離散數學中的概念來表示函數集合,讓沒學過集合概念的同學情何以堪)。明白了JS的面向對象編程,通過JS自定義前端控制項,數據與邏輯代碼分離,達到優雅地實現前端邏輯。學習的過程是曲折的,有時候一個概念始終理解不了,但一旦明白過來,會有一種眼前一亮,豁然開朗的感覺。起初一直不明白,為什麼JQuery中的「$」這麼牛,一個「$」符號能操作一切,讀過JQuery源碼之後才明白,這個「$」原來是jQuery在Window中定義的的一個變數,同時也是jQuery這個函數的別名,每次調用$(…)時,其實間接地創建了一個JQuery的示例。當然,這種操作得益於JS是一種動態語言,可以給對象任意添加屬性和方法(相比較Java和C#是不能這樣操作的)。

技術之路要不斷學習,路漫漫其修遠

技術更新迭代的速度,遠超想像,往往是剛學會一個新技術,另一個更新的技術又變得火熱,似乎新技術的產生,也在遵循一個摩爾定律。追趕技術的腳步,就如同夸父追日一般,你一直在追趕,但它一直在你前面。好在,每一個新技術,新架構的產生,都是在為更簡單、更高效的解決現有的問題,所以,新的技術,雖然增加了學習的負擔,但是新技術的應用,能夠解決現實的問題,是效率的提升。從這個角度講,學習是值得的。通常來說,沒有誰天生就會做什麼,只要肯學習,別人能做到的,你也能做到。

React火熱的時候,學習React,了解了這種基於模板的開發方式,見識了這種類似於MVC,實現數據與業務邏輯分離的編程方式在JS中的實際應用,對於這種僅需要一個render()函數的超簡潔的框架讚嘆不已。

Facebook搞出了React,國人也不示弱,於是誕生了Vue,相對來說更簡潔,使用更方便。

React發展出了React Native,圈子裡更是為之振奮,為火熱的移動端開發又添了一把柴,讓移動端開發,在Android和IOS原生開發之外,又多了一種全新的選擇。

我用3天時間,學會了開發微信小程序,完成了原有Web功能向小程序的移植。

Node.JS火熱的時候,我用了一周的業餘時間,學習NodeJS編程,配合MongoDB,搭建了簡單的日誌系統。

說起來有點吹牛的意思,但卻是事實。

一方面,不管是React、微信小程序、Node.JS,本質上都是JavaScript、Html、CSS的組合使用,相似度很高,只是各自有各自特點的規範特色而已,學習難度是逐漸降低的。

另一方面,我相信大多數人也有感受,當工作經驗、認知水平達到一定積累之後,學習其實是一件水到渠成的事情。

總結

有一次跟朋友聊天,朋友說:「感覺自己越學習,越感覺到不懂的方面更多了」。

我笑笑,表示同意他的觀點,這是一個叫做「知識邊界」的問題,每個人的知識,就如同是一個圓,圓內是你已經了解的知識,圓之外就是還不懂的知識,一個人掌握的知識越多,這個圓也就越大,而圓越大,圓周所接觸的那些未知領域也就越多。如果一個人說自己沒有什麼不懂的,那隻能說明他知識面太小。如此,當我們意識到自己有很多不懂的東西的時候,也不用焦慮,因為我們的知識在擴展,保持一顆開放,學習的心,這是人生路上所必須的。

關注公眾賬號

飛馬會

weixin.qq.com/r/bThZQaj (二維碼自動識別)

飛馬會AI人工智慧/大數據/技術管理等人員學習交流園地

往期福利關注飛馬會公眾號,回復對應關鍵詞打包下載學習資料;回復「入群」,加入飛馬網AI、大數據、項目經理學習群,和優秀的人一起成長!

微軟大牛人工智慧系列課

(掃碼試聽或訂閱)

m.qlchat.com/live/chann (二維碼自動識別)

回復 數字「1」下載從入門到研究,人工智慧領域最值得一讀的10本資料(附下載)

回復 數字「2」機器學習 & 數據科學必讀的經典書籍,內附資料包!

回復 數字「3」走進AI & ML:從基本的統計學到機器學習書單(附PDF下載)

回復 數字「4」了解人工智慧,30份書單不容錯過(附電子版PDF下載)

回復 數字「6」AI人工智慧:54份行業重磅報告匯總(附下載)

回復 數字「7」TensorFlow介紹、安裝教程、圖像識別應用(附安裝包/指南)

回復 數字「10」麥肯錫160頁報告:2030年全球將可能8億人要被機器搶飯碗

回復 數字「12」

小白| Python+Matlab+機器學習+深度神經網路+理論+實踐+視頻+課件+源碼,附下載!

回復 數字「14」小白| 機器學習和深度學習必讀書籍+機器學習實戰視頻/PPT+大數據分析書籍推薦!

回復 數字「16」100G Python從入門到精通!自學必備全套視頻教程+python經典書籍!

回復 數字「17」【乾貨】31篇關於深度學習必讀論文匯總(附論文下載地址)

回復 數字「18」526份行業報告+白皮書:AI人工智慧、機器人、智能出行、智能家居、物聯網、VR/AR、 區塊鏈等(附下載)

回復 數字「19」800G人工智慧學習資料:AI電子書+Python語言入門+教程+機器學習等限時免費領取!

回復 數字「20」17張思維導圖,一網打盡機器學習統計基礎(附下載)

回復 數字「22」吳恩達新書,教你構建機器學習項目:《Machine Learning Yearning》

回復 數字「23」機器學習:怎樣才能做到從入門到不放棄?(內含福利)

回復 數字「24」限時下載 | 132G編程資料:Python、JAVA、C,C++、機器人編程、PLC,入門到精通~

回復 數字「25」限資源 | 177G Python/機器學習/深度學習/演算法/TensorFlow等視頻,涵蓋入門/中級/項目各階段!

回復 數字「26」人工智慧入門書單推薦,學習AI的請收藏好(附PDF下載)

回復 數字「27」資源 | 吳恩達斯坦福CS230深度學習課程全套資料放出(附下載)

回復 數字「28」懂這個技術的程序員被BAT瘋搶...(內含資料包)

回復 數字「29」乾貨 | 28本大數據/數據分析/數據挖掘電子書合集免費下載!

回復 數字「30」領取 | 100+人工智慧學習、深度學習、機器學習、大數據、演算法等資料,果斷收藏!

回復 人工智慧下載《FMI人工智慧與大數據峰會嘉賓演講PPT》

回復 AI 江湖下載《十大AI江湖領域》

回復 ML實踐下載《機器學習實踐經驗指導(英文版)》

回復 DL論文下載《深度學習100篇以上論文資料》

回復 演算法 下載《數據挖掘十大經典演算法》

回復 6.10 下載《6.10餓了么&飛馬網項目管理實踐PPT》

推薦閱讀:

我們經常說的汽車底盤到底指的什麼
Polytech(法國工程師)4A
我的法國留學,我的工程師夢
註冊一級消防工程師難考嗎?
粉碎工程師的技術筆記——細度的標準概念

TAG:工程師 | 研發工程師 | 工作總結 |