軟件工程真的是一門什麼用都沒有的學科麼?

軟件工程真的是一門什麼用都沒有的學科麼?程序員

-----讀《構建之法》有感微信

楔子

我很慚愧,構建之法這本書已經出版四五年了,我以前卻不曾涉獵,仍是在經過組織長沙.net技術社區以後,才由於因緣際遇有幸認識鄒欣鄒老師以後,才瞭解和閱讀了這本書。這是一本很是不錯的軟件工程學著做,事實上應該值得IT企業中不一樣崗位的從業者都來讀,而不只僅只是軟件工程師或軟件設計師來讀。  架構


回到10多年前,當時我有幸就讀於位於湖南湘中小城婁底的人文科技學院,那是湖南衆多二本院校中排名較後的普通學府,而且我就讀的專業是數學系下的學科,信息與計算科學專業,這是一個數學和計算機的邊緣學科。事實上呢,其實當時班上絕大多數人都是調劑生,我是爲數很少的一志願錄取吧,由於對計算機感興趣,高中數學成績太差,想在進一步學習數學才選了這個專業,固然,實際上入學後個人數學成績依然不好,這就是後話了。 
因爲這個專業的教授隊伍自己就是數學教授爲主,所以開設了許多數學加計算機的課程,那些數學課程令我頭大,屢屢掛科,可是那些計算機學科的課程卻令我癡迷,並最終讓我選擇了IT行業,並在這條道路上已經邁過來十個年頭,甚至已經決定把他當作終生職業來奮鬥。這些課程中,包括了軟件工程,當時使用的教材來自於清華大學,那本在我這種閱讀愛好者看來淺顯易懂的軟件工程基礎書,在個人同窗眼中卻彷彿看天書。在書中,做者以比較容易理解的角度簡單介紹了軟件工程的來龍去脈和本質,讓我以爲如獲至寶,常常手不釋卷,一直到大學畢業後三年,我都保留了這本書,並時常翻閱。
學習

什麼叫作軟件工程?

不知不覺從業十年,再回過頭來看這門學科,我以爲我有了不一樣的體會。軟件工程到底是什麼?應該說時至今日,許多資深從業者都不能理解,這也證實爲何有的院校的軟件工程課,最終應學生的要求改爲了學習JAVA視頻教學的緣由吧。做爲一名十年經驗的開發者,我不打算引用原文中的話來講明究竟什麼是軟件工程,而是說一下本身的理解,我認爲軟件工程實際上定義了IT公司的管理流程,設計理念,企業架構的方方面面。在這個知識大爆炸的時代,計算機領域的書籍很是多,大部分都是偏重於介紹開發者技能提升的書籍,大概能夠成爲技能書,經過閱讀這些技能書,開發者只需花較短的時間就能快速的掌握做者多年學習的收穫,並快速的成長,進而實現本身收入的大幅度提升。軟件工程所介紹的內容,在某些讀者眼裏,看起來就像天書昏昏欲睡,尤爲是那些UML圖和設計理念,在某些開發者眼裏認爲,就是浪費公司的人力財力和時間,因而有人說軟件工程其實什麼用都沒有。 大數據


我以爲軟件工程更像是心法,技術很差的時候,心法通則技術通,技術好了,更須要讀心法,這樣可讓你的念頭通達,格局透徹。軟件工程,或許並不像一門工程學,更像兩種東西的融合,一個是軟件管理學,一個是軟件設計學,更像是從更高的維度來看待軟件和軟件公司的全生命週期,又從更微觀的角度來介紹如何優雅的設計一個軟件。這也大概是鄒老師的傑做,《構建之法》的標題,取的是構建,而不是架構的緣由吧。 
ui


構建是什麼?在最開始聽到這個名詞時,我覺得是build,我甚至以爲構建一個軟件,不就是開發集成環境中的一個按鈕麼?難道這本書談的是編譯原理?然而我錯了,這本書其實是build一套企業管理制度和文化,build一套切實可行的軟件技術體系,正是講述如何優雅的build一家可以持久生存的IT公司,用如今的主流說法,就是打造優秀IT企業的最佳實踐方法吧。 
spa


固然,來到9102年的今天IT公司彷佛已經成爲一個使人不適的名詞,在你們的眼中,彷彿言不離互聯網公司,彷佛一家公司自稱是IT公司就自降身價通常。然而,互聯網公司難道不是IT公司麼?留給讀者們評說吧。
.net

 

那些所謂的最佳實踐

說到最佳實踐,目前我也在一家互聯網公司,也有幸接觸了一些比較大的圈子,那就是中國的MVP們,他們是微軟最有價值的技術專家,這些專家們都對技術充滿了無限的追求、並積累了豐富的知識體系,從他們的交流溝經過程以及我本身平時的積累,我遇到了如下幾種常見,卻不必定正確的最佳實踐。 設計


一、設計優先 
互聯網公司經常使用的模式之一,就是設計和用戶體驗優先,在這種理念中,認爲用戶體驗是第一輩子產力,技術是第二生產力。先把面子作好,再把產品作好。 
3d


2,架構優先 
這種理念認爲,軟件架構體系是決定軟件生死命脈的關鍵因素。每每容易變成架構師優先,每每會招一位優秀的架構師,而後來組建他的核心班底,再變成一家技術優先的企業。真的是最佳實踐麼?誰吃過苦誰本身明白。 


3,中臺優先 
阿里巴巴的實踐告訴咱們,要重中臺,輕前臺,一切以業務流轉爲目標。可是真的是每家企業的最佳實踐麼? 


4,數據優先 
這種理念認爲,數據是第一輩子產力,一切業務都是數據。在前幾年的DT時代,就是這麼鼓吹數據優先,而後各類大數據平臺層出不窮,可是,每每作成了多數據,數據大(意思是指那些看起來大,卻不符合5v特色的數據),卻不多有必要作成大數據,大數據也屬於被國人玩壞的概念吧?。

 

論構建的重要性

能夠說,中國人大概是最善於玩文字遊戲的,那些來自成功企業的所謂最佳實踐,依然得依據企業的實際狀況出發才能產生效果。 


我認爲,或許對IT企業來講,最佳實踐應該依然是,構建優先,即做爲一家軟件公司,野蠻生長到最終,依然是構建符合企業實際的IT企業管理體系。例如阿里巴巴,不只匯聚了全國最頂級的技術人才,更是創建了一套最爲完善的IT管理體系,最終才得以讓IT技術促進企業得以快速發展。 


必須認可,在中國有許多業務優先的公司,其實並不能理解IT公司與傳統公司的區別,老是用本身片面的理解認爲,公司什麼都缺,缺的只是一個程序員或幾個程序員,可是,真的是這樣麼?沒有,哪怕有幸被你招到了一位能獨挑大樑的優秀程序員,每每也會因爲與企業文化和管理理念極度的不適應而離去。 


在互聯網概念已經深刻人心的今天,從某種意義上講,或許對於企業,只要掌握了合適的時機加上一些機遇,也許老是能得到成功。可是,真的能存活超過十年的時間,並保持持續的增加麼?在偌大的中國,近些年以來有許多優秀的企業憑藉優秀的產品得到了短時間的成功,卻深入反映出中國經濟發展全靠吃人口紅利的客觀事實。 


尤爲是那些看起來短時間依靠員工的創新能力得到快速發展的中小型或者獨角獸企業,越是容易由於創新能力枯竭而最終內卷化。每家公司都有機會火五分鐘,可是有的公司大概只能火那麼幾分鐘。 


任何IT公司,撇開軟件管理之道談純粹的技術實現或產品輸出,或許都不過是一瞬間的爆發,越是看起來成功的優秀的互聯網公司越是必須基於軟件工程學的理論出發,創建一套切實可行,持續迭代的管理體系才能得到長久的生命力。 


可是,哪怕有了構建之法,又該如何打破中國IT企業平均壽命不過2.8年的客觀事實呢?我想我仍是好好搬磚吧。。

 
 

  插播廣告,長沙.NET 技術社區已經成立,各類技術活動正火熱的開展中,歡迎各地高手前來指教,公衆號:DotNET技術圈(MoreDotNetCore),也能夠添加微信(xuehua0602),加入社區與你們共同探討技術。

相關文章
相關標籤/搜索