0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

軟件工程師應該怎樣培養(yǎng)

工程師人生 ? 來源:工程師吳畏 ? 2019-07-15 17:01 ? 次閱讀

軟件工程師應該算是稀缺人才了,會編程的人一抓一筐,可是會做軟件的人就不那么多了,而軟件工程師更是這些人中的鳳毛麟角。軟件工程師的培養(yǎng)是有難度的,而且這個培養(yǎng)過程沒有章法可循,更重要的是培養(yǎng)出的產(chǎn)品的合格率比較低,因為我們培養(yǎng)出的大部分人都將成為碼農(nóng),而碼農(nóng)顯然是與軟件工程師有較大差距的。幾篇文章也在談論軟件工程師培養(yǎng)的困難和軟件工程這個學科本身面臨的問題,我總結(jié)一下幾篇文章的主要內(nèi)容,即為對于軟件工程師的培養(yǎng)還沒有形成一個很好的體系與方法,而軟件工程不等于計算機科學所提出的觀點正是這一大問題的子問題,就是我們著重于培養(yǎng)軟件工程師的計算機方面相關素養(yǎng)而忽略了其它,歸根結(jié)底還是因為沒有很好的培養(yǎng)體系,不知道如何培養(yǎng)所致,所以我把它歸為主要內(nèi)容的子問題。

那我們先來看看子問題,我覺得這個問題是普遍存在的,如果說有解決辦法的話,我認為需要讓計算機系畢業(yè)的同學繼續(xù)深造,在文科專業(yè)深造,或者,讓學文科的人來編程。第一種辦法周期太長,恐怕計算機系的同學不愿意干也干不了,這純粹屬于趕鴨子上架,讓計算機系這種典型的工科男學習文科,還不如把我們殺了來的痛快是吧;第二種方法,顯然不可行,不是我有對文科的偏見,畢竟術(shù)業(yè)有專攻,文科的人很難理會計算機的本質(zhì),讓他們學個C語言還行,到計算機組成原理就不太吃得消了,到了編譯原理的話恐怕得有一半人跳樓,然后剩下一半人回家。所以,這兩個方法均不行。軟件工程這個活真不是什么好活,一邊是計算機,一邊是人,明明軟件工程師是人,可是非得把他們變成人和計算機的紐帶,這個要求就高了,一邊他得懂計算機,一邊他得懂人。所以好的軟件工程師為什么這么難就可以理解了,我們真的沒有辦法培養(yǎng)這樣的人才嗎?我覺著還是有的,我們在課余是否可以培養(yǎng)一些人文素養(yǎng),其實不要求我們專門去一心一意做這件事,這件事只要穿插在日常的計算機相關課程中間就好,比如學一些溝通,比如學一些經(jīng)濟,不需要十分深入,只要了解大概就好,不需要把我們帶入這些相關領域的大門,只需要讓我們在大門口往里一窺就好。而現(xiàn)在學校的培養(yǎng)在這方面是很欠缺的,不說開設專門的課了,就連全校性的關于人文的大講座都很少,關注一下學校的講座信息,不是關于出國考研,就是關于就業(yè)的,要不然就是幾個有頭腦的碼農(nóng)不小心變成了高富帥的成功經(jīng)歷(比如李彥宏),可這有什么用,我們畢竟不是他們,他們的成功是不可復制的。軟件是人寫的,這些人正是軟件工程師,試想寫軟件的工程師都不能了解客戶的需求,不能與客戶有效溝通,他們可以寫出客戶需要的軟件嗎?一旦軟件寫出的軟件和客戶需要的軟件差別過大,無論這個軟件運行多流暢、bug再少、算法再好,這些又有什么意義呢?我們做軟件的最根本的目的不正是要能解決需求問題嗎?至于其它的,只是在這個繼承上的點綴而已。就好比是顧客想買一斤水果,可你遞給顧客一碗佛跳墻,你說,這是國宴里的招牌菜,他,他接不接受還真難說,這個例子有待完善。以上我想說明溝通很重要,能想人所想也很重要。畢竟做軟件不是寫C語言作業(yè),需求就那些,也不用顧及界面友好等等,軟件是解決問題的,而且很大一部分軟件解決的問題不在計算機領域內(nèi),這就要懂相關領域的知識并且能在給領域為客戶著想,比如做財務報表,本來需要做一些假賬,結(jié)果做成了真帳,出了這種事顧客只會責怪軟件工程師,而不會承認自己的錯誤,有些東西就是不言而喻的,但對于天天coding的程序猿來說,還真未必知道。其實這也不能全怪工程師,畢竟你讓人家一邊搞技術(shù)一邊搞人事,這很難的,要怪只能怪我們這是中國,誰讓中國人說話只說三分,剩下七分要靠猜呢?

關于總問題,上面篇幅也涵蓋了一些內(nèi)容,關于把計算機人員當成板磚哥一樣的培養(yǎng),不對,是建筑設計師,這是個新穎的想法,這兩個職業(yè)確實有很多共同之處。有一篇文章也舉了一些例子來說明它們的共同之處,但我認為有幾個比較大的區(qū)別還是需要考慮的:1、建筑師只管規(guī)劃圖紙,至于建設過程的細節(jié)問題可以不予考慮,而且少了很多人事上的擔憂,比如說需求比較明確,設計的是學校宿舍就要有配套的浴室和開水房,設計的是商場就要有逃生避難場所,很多需求是硬性的也是相同的,需求的種類有限,更進一步,這些需求是在大框架下小的需求,和大框架可以毫無關系,比如過道中安排椅子等,這就表明考慮具體需求的人和建筑設計師可以是不同的人;反觀軟件工程師,就比較苦逼了,他們需要考慮的事情很多,而且各種各樣的軟件工作的領域跨度很大,更要命的是細節(jié)上的考慮是和通盤考慮糅合在一起的,如果不考慮周全,一個細節(jié)上的改變就可能引起程序很大的改動,這也就是說一切事情必須自己搞定,沒有除了工程師的人可以代替你完成任務。2、就是這兩個體系的差別了,建筑業(yè)已經(jīng)形成了培養(yǎng)工程師的教學體系,所以才可以有導師帶領來更好的實踐它,而軟件工程就沒有這樣完備的并且有效的培養(yǎng)體系,不同的老師帶出的軟件工程師可以是長得不一樣的。在知識傳承過程中沒有形成教學體系的一個典型的行業(yè)就是算命,同一個老師帶出的學生,領悟多少就是自己的事了,不同老師帶出的學生那更是千差萬別,如果讓他們給同一個人算命,肯定每個人又不同的答案。不過軟件工程還沒有淪落到這個地步,否則這些軟件工程師也就都到街邊自己打個什么半仙的橫幅擺攤?cè)チ?。至于其他的區(qū)別,我現(xiàn)在還沒想到。有區(qū)別但也不是說這種思路行不通,只要有共性就必然有行得通的地方,老師可以在實戰(zhàn)中教會學生領悟需求的能力、溝通的能力等等。

綜上,培養(yǎng)軟件工程師是個體力活加技術(shù)活,不過我們也不能操之過急,畢竟中醫(yī)都傳承了幾千年了,到現(xiàn)在也是沒弄明白什么是冷啊熱啊,什么氣啊虛啊的,不是照樣一代傳一代,照樣治病嗎?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件工程師
    +關注

    關注

    8

    文章

    217

    瀏覽量

    21090
收藏 人收藏

    評論

    相關推薦

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,還需要與軟件工程師、硬件工程師緊密合作,對整個系統(tǒng)進行集成和測試。 總的來說,F(xiàn)PGA 算法工程師著重于算法優(yōu)化,F(xiàn)PGA 邏輯工程師專注于邏輯設計,F(xiàn)PGA 原型驗證
    發(fā)表于 09-23 18:26

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個充滿機遇和挑戰(zhàn)的領域里,如何提升自己顯得非常重要,它決定了你未來的發(fā)展方向和成就。接下來,我們一起探討一下。 1.奠定扎實
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設計

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責設計PlayStation的免費手機游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?624次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師軟件開發(fā)領域中的一種專業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    一個電源工程師的成長路徑

    即將走馬上任電源工程師這個崗位,請問各位大佬,這個崗位的職業(yè)路徑一般是怎樣的?
    發(fā)表于 04-08 14:19

    如何入門硬件工程師

    想跨行業(yè)做硬件設計工程師應該如何學習規(guī)劃呢
    發(fā)表于 03-17 21:49

    Cognition發(fā)布首款AI軟件工程師Devin

    據(jù)報道,Cognition公司今日公布了其首款人工智能軟件工程師——Devin,掀起了打造軟件模式變革的序幕。該產(chǎn)品在SWE-bench代碼測驗中展現(xiàn)出卓越表現(xiàn),甚至超過了部分頂級人類工程師的水準。
    的頭像 發(fā)表于 03-13 10:57 ?528次閱讀

    如何構(gòu)建linux開發(fā)環(huán)境和編譯軟件工程、應用程序

    前文介紹了如何使用官方提供的鏡像文件啟動開發(fā)板,本文將說明如何構(gòu)建linux開發(fā)環(huán)境和編譯軟件工程、應用程序。
    的頭像 發(fā)表于 01-03 12:31 ?1545次閱讀
    如何構(gòu)建linux開發(fā)環(huán)境和編譯<b class='flag-5'>軟件工程</b>、應用程序

    嵌入式軟件工程師常用的

    最近我換工作了,看見不同嵌入式軟件工程師用的平臺都不一樣,所以我整理了一下。PlatformIO:多平臺支持:PlatformIO支持多種嵌入式平臺,包括Arduino、ESP8266、ESP32
    的頭像 發(fā)表于 12-24 08:00 ?524次閱讀
    嵌入式<b class='flag-5'>軟件工程師</b>常用的

    一文讀懂機器學習:基本概念、五大流派與九種常見算法

    軟件工程師編寫程序來解決問題。首先存在一些數(shù)據(jù)→為了解決一個問題,軟件工程師編寫一個流程來告訴機器應該怎樣做→計算機遵照這一流程執(zhí)行,然后得出結(jié)果
    的頭像 發(fā)表于 11-17 17:37 ?362次閱讀