03.08 工程和算法哪個更吃香?

駕馭天都


作為一名IT行業的從業者,同時也是一名教育工作者,我來回答一下這個問題。

首先,工程和算法本身就存在較強的依賴關係,以IT行業為例,不論是從事大數據方向還是人工智能的相關方向,工程實現和算法設計本身就處在一個工作流當中,只不過各自的分工不同而已。

從流程來看,算法設計是首先進行的,算法設計師要根據實際情況設計適合的算法,同時要完成大量的算法訓練和驗證工作,在驗證的過程中往往也需要實現工程師的參與。當算法驗證通過之後,剩下的事情就需要工程實施人員來完成了。從這個角度來看,算法設計是項目實施的先決條件。

從知識結構來看,算法設計人員的知識結構要更豐富一些,算法設計人員不僅要掌握大量的算法知識,同時也要具備一定的實現知識,要能夠合理和充分地應用已有的數據和算力來達到更好的使用效果,這個過程也需要一定的積累。所以,目前從事算法設計的研發人員往往都具有較高的學歷。

從崗位任務的難度來看,算法設計人員的從業難度也要更大一些,雖然算法設計也有大量的案例可以參考,但是不同的應用場景往往在算法的設計上有巨大的差異,不同算法所呈現出來的效果也會有明顯的不同。因此,算法設計不僅要有豐富的經驗積累,也需要從業者有較強的創新能力。

最後,隨著技術的不斷髮展,主要是人工智能技術的推動,未來更多的工程實現人員需要具備一定的算法設計能力。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言!


IT人劉俊明


都重要,看你站在哪個角度而已。


IT界的泥石流


討論算法和工程哪個更重要,這個問題,其實比爭執C++和Java哪個更“好”要用意義的多,對這個問題的理解和闡釋,將給大一的計算機專業新生提供很多指點。

以往的討論基本上帶有偏見,這回,我以一個ACMer+有兩年實際項目開發經驗的大三計算機專業學生的身份,試著討論下這個問題。歡迎拍磚。

很多搞算法的人,比如說很多的ACMer,認為做工程搞開發無非是一些API函數的調用而已,沒有技術含量。其實不然,這個問題,可以從幾個方面來考慮。

第一,單單是調用API函數,就有很多東西需要學習,比如Windows下的TCHAR CString PWSTR wchar_t之類,有什麼區別?該如何正確的安全的轉換?僅此就需要好好掌握和積累好長一段時間了。

第二,做開發不僅僅是API的調用,開發環境的熟悉,其實很費時間和精力,比如說Java的開發環境的配置和維護,就有很多問題要解決。

第三,設計模式?這是軟件開發中思維層次比較高的部分,但是顯然,不是所有人的思維層次都可以達到相當的高度的。你承認麼?

第四,需求分析。我敢肯定,很多人不會做需求分析,或者做不好需求分析。不能很好把握用戶的實際需求和軟件使用習慣,這樣的軟件,當然算不得好軟件。第五,軟件的開發也是需要算法的,根本不懂算法的人,當然寫不出什麼好軟件,etc

很多做開發的人,很鄙視那些搞算法的。我們班就有很多人看不起做算法的,認為都是書呆子,除了數學和程序,什麼都不會。客觀說,有一點是必須承認的,很多認為算法極其重要,算法最重要,算法怎麼樣怎麼樣的人,其實是在掩飾自己除了算法什麼都不會的尷尬局面。會寫程序,但是不會寫註釋,變量命名隨心所欲的人大有人在。

但是,一個現實是,算法學的好的,工資很高,微軟、百度的面試題,基本上都是算法類的或者智力類的。其實,很多人誤解了,之所以這樣是因為公司考慮到很多大學生在本科裡並沒有做過什麼實際項目,但是基本上都有學數據結構和算法,而算法又確實重要,所以才有這樣的現實。你不得不承認,現在很多人的開發不怎麼需要算法,你要知道,是“很多人”,你想,能在微軟拿工資的人,多麼?大部分還是在二三流企業,這些開發,需要多少算法呢?園友心裡清楚。圖靈獎的都是搞理論的?你看有多少人獲得圖靈獎?

算法為開發做了支撐,可以讓程序更有效率,解決更大規模的問題。

但是,顯然算法不是全部。

---------------------

原文:https://blog.csdn.net/yebangyu/article/details/6082023


Tech數碼科技愛好者


工程沒有一個吃香的。像我年年接工程的人,沒有一天是好過


分享到:


相關文章: