要突破技術瓶頸?80 的人忽略了這個因素

2021-09-17 06:56:22 字數 1636 閱讀 3028

大學時候學的軟體工程有用嗎?這是很多人經常問我的問題。大多數人覺得這門課很虛,似乎都是一些條條框框的知識點。比如說書中提到的軟體過程、敏捷方法、需求分析等等內容,讀起來有些道理,但細想又覺得是正確的廢話。

當我們結束學生時代,開始投入軟體開發工作,回過頭來想想,是不是經常遇到這樣的場景:

可以確定的說,不管你用什麼開發語言,不管是前端和後端,現代軟體專案開發,都離不開軟體工程知識的應用。

既然工作中在用,為什麼很多人會覺得大學時候學的軟體工程很「虛」,卻又能作為國家教育體系中的一門必修學科呢?

那是因為大學期間的「軟體工程」更側重理論,缺少問題導向意識,理解起來枯燥乏味,很難學以致用,但眾所周知「程式 = 資料結構 + 演算法」,而「軟體 = 程式 + 軟體工程」,跟資料結構、演算法一樣,軟體工程也是技術人的「基本功」。

從當下考慮,學好了軟體工程,你的工作可以按時完成,你的軟體質量***,你做開發的時間和成本都可控。

經常有人說程式設計師是吃「青春飯的」,「中年危機、碼農、搬磚」,這些程式設計師的日常焦慮,究其根本,是計算機技術更新迭代太快,大家總在追趕潮流,擔心被淘汰。

更長遠的去想,在軟體開發領域,有哪些知識是 10 年前很重要,現在仍然重要,未來可能同樣重要的?哪些知識會決定你發展的高度?

相信大家心裡是有答案的,無外乎就是資料結構與演算法、作業系統、計算機網路、編譯原理,以及軟體工程這些「基本功」。

技術更新迭代速度再快,軟體開發背後的邏輯和知識體系卻萬變不離其宗,這些過去在用,現在在用,未來還會用的知識,就是經典的價值,就是行業最為本質的東西。

我經常會跟身邊的朋友「安利」軟體工程的重要性,絕大部分人對這門學科的印象是枯燥、難學。2015 年,我到美國攻讀計算機的碩士學位,學校經常會聘請企業的專家作為兼職講師,他們總能把一些知識點和鮮活的案例結合起來,和學生一起**這些知識點背後的歷史和邏輯。

受此啟發,經過數月打磨,我在極客時間的專欄《軟體工程之美》上線了,與學校常規的軟體工程學科不同的是,希望它既有趣又有用,我將結合國內外前沿的、典型的專案案例進行講解,教你如何將軟體工程運用在實際專案開發中,真正地解決程式設計師在軟體開發全流程中的疑難雜症。

我是寶玉,碩士畢業於美國德保羅大學,現在是**鼻祖** groupon 的資深開發工程師,出國前是上海眾遊的技術總監,曾深度參與過中國移動飛信專案的核心研發,也是微軟最有價值技術專家。我的個人從業經歷比較獨特,做過普通程式設計師,也做過技術總監,參與過大大小小很多的專案,這些豐富的經歷,讓我更好地理解了軟體工程的價值,也知道如何應用它可以發揮最大的功效。我希望將我這些年的思考,系統分享給你。

我會從道、術、器三個維度來講解軟體工程的知識內容。

我做了張軟體工程的思維導圖,把各個關鍵知識點展示出來,結合專欄學習中的日常工作真實場景,及谷歌、微軟等公司的最佳實踐案例,幫你系統化的學習,真正做到即學即用。

要突破技術瓶頸?80 的人忽略了這個因素

大學時候學的軟體工程有用嗎?這是很多人經常問我的問題。大多數人覺得這門課很虛,似乎都是一些條條框框的知識點。比如說書中提到的軟體過程 敏捷方法 需求分析等等內容,讀起來有些道理,但細想又覺得是正確的廢話。當我們結束學生時代,開始投入軟體開發工作,回過頭來想想,是不是經常遇到這樣的場景 可以確定的說,...

要突破技術瓶頸?80 的人忽略了這個因素

大學時候學的軟體工程有用嗎?這是很多人經常問我的問題。大多數人覺得這門課很虛,似乎都是一些條條框框的知識點。比如說書中提到的軟體過程 敏捷方法 需求分析等等內容,讀起來有些道理,但細想又覺得是正確的廢話。當我們結束學生時代,開始投入軟體開發工作,回過頭來想想,是不是經常遇到這樣的場景 可以確定的說,...

要突破技術瓶頸?80 的人忽略了這個因素

大學時候學的軟體工程有用嗎?這是很多人經常問我的問題。大多數人覺得這門課很虛,似乎都是一些條條框框的知識點。比如說書中提到的軟體過程 敏捷方法 需求分析等等內容,讀起來有些道理,但細想又覺得是正確的廢話。當我們結束學生時代,開始投入軟體開發工作,回過頭來想想,是不是經常遇到這樣的場景 可以確定的說,...