作為一名IT人,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。
在當前以人工智能、大數據和云計算技術為代表的“ABC時代”,從事IT行業是個不錯的選擇,雖然當前IT行業正在進行結構性調整(裁員消息比較多),但是IT行業的基本面還是不錯的,未來產業互聯網的發展前景還是非常值得期待的。
IT行業經過多年的發展有很多細分崗位,其中程序員就是一個比較龐大的群體,其實不論是應用級程序員還是研發級程序員,往往都是從CRUD(增刪改查)開始了解程序設計的,而CRUD也是出現頻率比較高的操作,因為大部分的業務邏輯操作幾乎都離不開數據庫的支撐,而針對于數據庫的操作無非就是增刪改查。所以從CRUD開始了解程序設計,進而了解IT行業是沒有問題的,也是比較常見的途徑。
當然,從技術研發的角度來說,只了解CRUD是遠遠不夠的,因為CRUD通常代表的是應用級開發,也就是完成具體功能的實現(現在不少科技公司已經把CRUD等實現過程外包給專門的公司來完成,以降低開發成本),軟件研發還有一個核心的環節就是設計,設計才是軟件研發的核心。
軟件的設計部分包括三個核心內容,其一是結構性設計(架構設計),其二是接口(API)設計,其三是功能設計。對于技術積累比較扎實的公司來說,往往都會有平臺研發能力,隨著行業的不斷發展來逐漸拓展平臺功能,而對于一些技術積累比較薄弱的企業來說(跟規模無關),通常會采用第三方商業平臺或者是開源平臺(開源平臺廣受歡迎)。
在平臺之上就是接口設計,接口的設計往往與具有的應用場景(通常以行業來劃分)有一定的關系,接口設計屬于平臺研發的延續,是平臺功能輸出的主要方式。當然,一個平臺可以根據場景的需要定制多套接口以滿足不同的要求。舉個例子,衛星定位系統就像是一個平臺,而根據用途的不同,會設計出兩套接口,一套是面向精讀非常高的軍事領域,而另一套是面向精度沒那么高的民用領域。
最后是功能設計,功能設計則與具體的業務場景有密切的關系,功能設計通常是產品經理、架構師共同完成的,具體的實現則由應用級程序員來完成。通常來說,這部分的開發工作主要就是通過調用平臺的接口來完成各種功能的具體實現,也就是通常所說的CRUD。
最后,如果想在軟件開發的道路上走得更遠,一定要從應用級開發崗位逐漸向研發級崗位發展。