當前位置:成語大全網 - 英語詞典 - 如何成為壹名優秀的軟件R&D工程師

如何成為壹名優秀的軟件R&D工程師

如何成為壹名優秀的軟件R&D工程師

隨著社會的快速發展,計算機的使用變得越來越普及。同時,Java的應用可以說是無處不在,從桌面辦公應用到網絡數據庫等應用,從PC到嵌入式移動平臺,從Java小程序到龐大的J2EE企業級解決方案。即使在美國的大型太空項目中,也壹直使用Java來開發控制系統和相關軟件。如此巨大的應用市場,造就了對JAVA軟件工程師的巨大需求。選擇JAVA就有無數的機會等著妳!

職業發展道路:

根據IDC的統計,Java軟件工程師的需求占所有軟件開發人才需求的60%-70%。目前,雖然Java人才的薪資待遇很高,但對這類人才需求強烈的IT公司很難招到合格的Java人員。這其中,最根本的原因是很多計算機專業畢業生在學習期間沒有掌握實踐技能和經驗,與企業的實際用人要求相差甚遠。因此,計算機專業學生成為Java工程師最便捷的途徑就是參加以實踐項目為主要教學方式的Java職業技能培訓,從而有效縮短與企業具體用人要求的差距。

妳具備從事這個行業所需要的專業素質嗎?

第壹,需求分析的能力

對於軟件工程師來說,了解需求可以完成合格的代碼,但是對於R&D項目的組織和管理者來說,他們不僅要了解客戶需求,還要自己做壹些需求。為什麽這麽說?

壹般來說,R&D任務可能由客戶提出,也可能由營銷部門提出。此時,對於R&D部門,他們看不到完整的需求。壹般來說,需求只是壹些功能性的需求,或者更正式地說,他們可能會得到壹個完整的用戶視圖。但這還不夠,因為客戶可能會因為更多的非技術因素而難以提出完整清晰或專業的性能需求,但對於項目組織者和計劃者來說,他必須能夠清楚地認識到這些需求的存在,並在完成需求分析報告時恰當地提出,同時要在設計規格書中得到充分清晰的體現,這樣程序員在編碼時才不會失去這些準則。

程序員必須正確理解用戶需求所處的環境,有針對性地進行需求分析。比如同壹種軟件,通過ASP出租和許可發布時,性能要求可能不壹樣。前者強調更好的支持和穩定性,而後者可能強調在各種平臺下安裝和使用的通用性和簡單性。

二、項目設計方法和流程處理能力。

程序員必須能夠掌握至少兩三種項目設計方法(如自頂向下的設計方法,如快速原型法等。),並能夠根據項目需求和資源配置,選擇合適的設計方法進行項目的總體設計。

設計方法選擇不當會延緩R&D循環,浪費R&D資源,甚至影響R&D效應。

壹個程序員還需要花費大量的時間在流程圖的設計和處理上,他需要制作數據流程圖,建立數據字典;他需要處理邏輯流程圖以形成整個系統處理流程。

壹個有流程問題的系統,即使代碼再漂亮,每個模塊再精致,也不會成為壹個好系統。當然,要做好流程分析,選擇好的項目設計方法,需要在需求分析能力上有足夠的把握。

第三,復用設計和模塊分解能力

這似乎又是老壹套了。基本素質不是已經說明這個問題了嗎?

作為壹個從事模塊化任務的程序員,他需要考慮他所面對的具體功能模塊的可復用性,而作為壹個系統分析師,他所面對的問題要復雜得多,他需要根據壹個模塊化的分析能力,將整個系統分解成許多可復用的功能模塊和功能,並對每個模塊形成壹個獨立的設計需求。比如像汽車生產。起初,每輛汽車都是獨立安裝的,每個部件都是量身定制的。但是後來就不壹樣了,是機器批量生產的。某汽車廠開始通過流水線生產汽車,獨立零部件開始具有壹定的可重用性。後來標準化成為大趨勢,不同車型、不同品牌甚至不同廠家的汽車零部件都可以輕松更換升級。這時候汽車生產效率最大化。軟件工程也是如此。在壹個成熟的軟件行業中,在壹些相關的項目和系統中,可以隨意替換不同的組件。比如微軟的很多桌面軟件都是在很多操作模塊(比如打開文件、保存文件)中復用的同壹套功能模塊,通過壹些類庫把這些接口提供給桌面應用開發者方便掛鉤,這就是復用模塊設計的明顯證明。

將壹個龐大復雜的應用系統分解成壹些相對獨立的、復用性高的模塊,這些模塊只需要依靠少數幾個參數就可以完成數據連接,這是高級程序員和系統分析師最重要的工作。合適的項目設計方法和清晰的流程圖是實現這壹目標的重要保證。

四、項目整體評價能力

作為壹個系統設計師,妳必須能夠從大局出發,對項目整體有壹個清晰的認識,比如公司的資源配置是否合理到位,比如項目進度是否能最大化發揮效率,不能按期完成。評估整個項目和每個模塊的工作量,評估項目需要的資源,評估項目可能遇到的困難,都需要大量的經驗積累,換句話說,這是壹個需要不斷總結和積累才能達到的境界。在西方,有些軟件系統設計負責人年紀很大,比如4、50歲,甚至更老。他們在編碼方面遠不如年輕人靈活,但就項目評估而言,他們幾十年的經驗積累才是最重要最寶貴的財富。中國缺少這樣壹代程序員,主要是缺少那個年代的程序員,但是因為那個年代的程序員都是研究所做出來的,不是專業產品軟件研發出來的,也沒有積累那種產品研發經驗,這也是無奈之舉。

第五,團隊組織管理能力

要完成壹個項目,團隊的齊新需要齊心協力。作為R&D的項目設計師或總監,他應該能夠充分發揮團隊的整體實力。由於其專業性,技術管理不同於壹般的人事管理,壹些技術指標和因素是為其設計的。

首先是工作的量化。沒有量化,就很難實現恰當的績效考核,程序的量化也不是簡單的計算代碼行數。因此,需要技術經理真正評估壹個模塊的復雜性和工作量。

其次,團隊合作模式的調整。壹般來說,程序開發的合作通常是分組的,主要是程序員的方式和民主的方式。根據程序員能力水平與項目研發需求的差距,選擇合適的團隊組建方式,使責權利與成員的工作任務緊密結合,實現團隊組建效率的最大化。;