第一篇:軟件工程師的十個“不職業”行為
職業化之于軟件工程師非常重要。因為:軟件是看不見也摸不著的,它的進度也看不見摸不著,需要軟件工程師嚴格自律、善于溝通;軟件開發是創造性的勞動,創造性勞動依賴個人主觀能動性,沒有自我激勵是不可能成為出色的軟件工程師的;軟件在國民經濟和人們日常生活中發揮著越來越重要的作用,軟件工程師的道德行為規范成為備受關注的問題。
下面是軟件工程師十個“不職業”行為。在一些特定領域工作的人們可能會認為這些不具有非常廣泛的代表性。例如,IEEE和ACM聯合發布的關于軟件工程師職業道德規范里,認為軟件工程師首先要遵守的是社會公眾原則,即所開發的軟件要給人類帶來福利,不能制造類似于計算機病毒那樣的具有危害性的軟件。由此,制作病毒顯然是最大的“不職業”。然而,在一般的商業型公司里這個問題不是最突出的,因此制作病毒并沒有包含在本文列舉的十大不職業行為之內。
行為一:對外交付半成品
我們的態度反映在我們的工作上,職業化的人士從不從自己手上交出不合格的工作產品。那些不職業的軟件工程師滿足于把工作做成半成品,等著讓別人來糾正他們的錯誤。
開發者總是不好好做單元測試,沒有確認自己的代碼符合不符合要求,就盲目自信地認為沒有問題,提交給別人供集成和測試。殊不知,沒有經過單元測試的代碼,往往在集成和系統測試階段發現大量的問題,要修復這些問題需要付出更大的代價,這個代價比你自己發現并修復要大得多,給組織造成了巨大損失。
行為二:不遵守標準和規范
職業化的重要特征是遵守行業標準,不能肆意按照自己的想象來發揮。每個行業都有自己的技術規范,軟件行業也同樣如此,如IEEE發布的國際軟件工程標準等;各個軟件開發組織也有相應的代碼規范、文檔模板、代碼審查清單等;有一定管理水平的軟件開發組織還有相應的過程文件。
這些都是軟件工程師在軟件開發過程需要遵守的規定。特別強調的是,自人們認識到軟件危機以來,無論是學術界還是工業界都在不斷地總結出軟件開發的失敗教訓和成功經驗,并把他們總結成為最佳實踐,進而形成標準,這些最佳實踐是在大量實踐的基礎上提煉而成的,要充分利用這些最佳實踐和標準指導自己的行動。
行為三:不積極幫助他人
技術人員最容易犯的錯誤是“保守秘密”,覺得自己開發的成果屬于自己,不喜歡和別人共享。生怕影響自己在組織內的地位。
幫助別人也是幫助自己,這個簡單的道理卻被高智商的軟件開發人士忽視。在其他行業中,幫助別人可能僅僅是一個美德,但在軟件開發組織中,幫助別人還能為組織降低成本、縮短開發周期、提高產品質量,所有這些正是軟件工程學科所研究、并試圖解決的問題。
行為四:版權意識不敏感
我們既是軟件的制造者,也是軟件最積極的使用者。如果我們自身不遵守版權,就會給其他人造成極大的、負面的示范作用,也是對我們自己勞動成果的不尊重。在實際生活中我們看到太多的例子,大量的軟件工程師盜版使用了其他公司的產品,并以此炫耀自己的能力。
不尊重版權的另一個例子是:不認真閱讀開源代碼的使用限制條款就隨意使用;隨便找到一個開發包,不問來龍去脈就嵌入到自己的系統;錯誤地認為它在組織內所做的工作成果是自己的,在離職后轉讓給他人;看到別人使用盜版軟件不制止,而且還繼續傳播。
行為五:對待計劃不嚴肅
軟件工程強調計劃性。在軟件項目管理里,任何項目都要經過策劃(Planning),策劃的結果是項目計劃。項目管理者跟蹤項目計劃的執行情況,記錄計劃執行過程中存在偏差的地方,對任何與計劃有出入的想法都要事先經過評審和批準,然后才能付諸行動。
因此計劃是嚴肅的。計劃是大家溝通的平臺,是檢查項目狀態(Project Status)的依據,也是控制項目變更的手段。計劃還是一種承諾,因為策劃過程是所有開發者都參與的,或者是征求過開發者意見的,承認了計劃中的各種安排,就意味著你已經對外承諾了這些。
軟件計劃具有難以精確估計并動態變化的特性,因此需要我們軟件工程師更加嚴肅地對待計劃,而不應該成為我們不按計劃行事的借口。
行為六:公事私事相混淆
公私分明是職業化的另一個重要特征。利用公司設備做自己的事情;在上班時間瀏覽自己感興趣、和工作無關的網站,如上班炒股票,都是不職業化的行為和習慣,屬于假公濟私。
反過來也一樣是不職業的:用自己私人的設備處理公司的事務,用免費的郵箱發送和接收公司的郵件;帶個人的電腦來辦公室處理公司的業務。這樣做,可能給組織的軟件安全性造成危害,也可能對組織的工作造成麻煩、惹出版權官司。在公和私之間畫上一道紅線,做到公私分明,是職業化軟件工程師必備的素質。
行為七:不注意更新自己
職業的與非職業的軟件工程師一個重要區別就在于職業化的人士經常學習,不斷更新自己的知識,保持自己在本行業的競爭能力。
我接觸到的很多工程師,他們想走捷徑,對技術淺嘗轍止;知其然不知其所以然;他們畏難而退:不想在一線戰斗,喜歡搞他們想象的所謂的管理;想做測試,因為他們錯誤地認為測試對技術的要求不高??這些都是和職業化的軟件工程師很不相稱的。
行為八:不主動與人溝通
溝通,在軟件開發領域,是責任問題,不是性格問題。
不主動溝通,其背后隱藏的更為重要的原因是工程師的責任感不夠。主動和上級、同行、下屬溝通是職業化所必需的,因為軟件開發需要團隊協作,任何一個工程師的工作都可能會影響別人,進而影響全局。軟件工程的實踐表明,個別人缺乏主動溝通,往往導致整個團隊的技術方案出現偏差,或整個項目的進度受到影響。
報告(Report)是溝通的一個方式,有時顯得特別重要。當你承擔的任務進展順利的時候,要報告;特別當任務進展遇到困難、可能會影響別人或引起變更的時候,更要報告。配合項目經理和QA人員跟蹤項目的計劃執行情況,是每一個工程師分內的職責。
行為九:不遵守職場規則
一些工程師不能很好地遵守軟件行業的職場規則。比如:互相告知或打聽工資和獎金的多少;離職時帶走公司的源代碼和文檔;或急于到新單位工作而不專心交接等等。
軟件計劃的不精確性,導致開發任務的分布不均勻,特別是重要里程碑(如產品發布)之前,往往需要一定程度的加班。對此,職業化的軟件工程師應給予理解和配合。
行為十: 不夠誠實和正直
配合項目經理做好計劃是工程師不可推脫的職責。進度的安排是根據任務承擔者的經驗、水平來確定的,對所安排的任務,工程師本人應該有比較正確的判斷。實際工作中,卻
碰到有些工程師一天能完成的任務故意說成是兩天,為自己爭取到過分寬松的環境。雖然,也有組織要求軟件工程師對工作量和進度有一定的判斷和估計能力,但這和故意虛報計劃的性質是不一樣的,前者是水平問題,后者是誠信問題。
工程師的正直來自于強烈的社會責任感。只有維護行業的道德水準和職業規范,軟件行業才能持久健康發展。犧牲職業道德和規范水準,換來了暫時的經濟利益,傷害的卻是整個軟件職業的榮譽和信任度。
注:本文由唱歌軟件http:// 收集整理供稿,如需轉載,請注明出處。
第二篇:軟件工程師的十個“不職業”行為
軟件工程師的十個“不職業”行為
職業化是軟件工程師的必然選擇。本文根據我在教學和軟件開發管理方面的實踐,列舉幾個軟件工程師“不職業”的行為或習慣,從另外一個側面進一步探討什么是真正的軟件工程師職業化。
職業化之于軟件工程師非常重要。因為:軟件是看不見也摸不著的,它的進度也看不見摸不著,需要軟件工程師嚴格自律、善于溝通;軟件開發是創造性的勞動,創造性勞動依賴個人主觀能動性,沒有自我激勵是不可能成為出色的軟件工程師的;軟件在國民經濟和人們日常生活中發揮著越來越重要的作用,軟件工程師的道德行為規范成為備受關注的問題。下面是軟件工程師十個“不職業”行為。在一些特定領域工作的人們可能會認為這些不具有非常廣泛的代表性。例如,IEEE和ACM聯合發布的關于軟件工程師職業道德規范里,認為軟件工程師首先要遵守的是社會公眾原則,即所開發的軟件要給人類帶來福利,不能制造類似于計算機病毒那樣的具有危害性的軟件。由此,制作病毒顯然是最大的“不職業”。然而,在一般的商業型公司里這個問題不是最突出的,因此制作病毒并沒有包含在本文列舉的十大不職業行為之內。
行為一:對外交付半成品
我們的態度反映在我們的工作上,職業化的人士從不從自己手上交出不合格的工作產品。那些不職業的軟件工程師滿足于把工作做成半成品,等著讓別人來糾正他們的錯誤。開發者總是不好好做單元測試,沒有確認自己的代碼符合不符合要求,就盲目自信地認為沒有問題,提交給別人供集成和測試。殊不知,沒有經過單元測試的代碼,往往在集成和系統測試階段發現大量的問題,要修復這些問題需要付出更大的代價,這個代價比你自己發現并修復要大得多,給組織造成了巨大損失。
行為二:不遵守標準和規范
職業化的重要特征是遵守行業標準,不能肆意按照自己的想象來發揮。每個行業都有自己的技術規范,軟件行業也同樣如此,如IEEE發布的國際軟件工程標準等;各個軟件開發組織也有相應的代碼規范、文檔模板、代碼審查清單等;有一定管理水平的軟件開發組織還有相應的過程文件。
這些都是軟件工程師在軟件開發過程需要遵守的規定。特別強調的是,自人們認識到軟件危機以來,無論是學術界還是工業界都在不斷地總結出軟件開發的失敗教訓和成功經驗,并把他們總結成為最佳實踐,進而形成標準,這些最佳實踐是在大量實踐的基礎上提煉而成的,要充分利用這些最佳實踐和標準指導自己的行動。
行為三:不積極幫助他人
技術人員最容易犯的錯誤是“保守秘密”,覺得自己開發的成果屬于自己,不喜歡和別人共享。生怕影響自己在組織內的地位。
幫助別人也是幫助自己,這個簡單的道理卻被高智商的軟件開發人士忽視。在其他行業中,幫助別人可能僅僅是一個美德,但在軟件開發組織中,幫助別人還能為組織降低成本、縮短開發周期、提高產品質量,所有這些正是軟件工程學科所研究、并試圖解決的問題。
行為四:版權意識不敏感
我們既是軟件的制造者,也是軟件最積極的使用者。如果我們自身不遵守版權,就會給其他人造成極大的、負面的示范作用,也是對我們自己勞動成果的不尊重。在實際生活中我們看到太多的例子,大量的軟件工程師盜版使用了其他公司的產品,并以此炫耀自己的能力。
不尊重版權的另一個例子是:不認真閱讀開源代碼的使用限制條款就隨意使用;隨便找到一個開發包,不問來龍去脈就嵌入到自己的系統;錯誤地認為它在組織內所做的工作成果是自己的,在離職后轉讓給他人;看到別人使用盜版軟件不制止,而且還繼續傳播。
行為五:對待計劃不嚴肅
軟件工程強調計劃性。在軟件項目管理里,任何項目都要經過策劃(Planning),策劃的結果是項目計劃。項目管理者跟蹤項目計劃的執行情況,記錄計劃執行過程中存在偏差的地方,對任何與計劃有出入的想法都要事先經過評審和批準,然后才能付諸行動。
因此計劃是嚴肅的。計劃是大家溝通的平臺,是檢查項目狀態(Project Status)的依據,也是控制項目變更的手段。計劃還是一種承諾,因為策劃過程是所有開發者都參與的,或者是征求過開發者意見的,承認了計劃中的各種安排,就意味著你已經對外承諾了這些。
軟件計劃具有難以精確估計并動態變化的特性,因此需要我們軟件工程師更加嚴肅地對待計劃,而不應該成為我們不按計劃行事的借口。
行為六:公事私事相混淆
公私分明是職業化的另一個重要特征。利用公司設備做自己的事情;在上班時間瀏覽自己感興趣、和工作無關的網站,如上班炒股票,都是不職業化的行為和習慣,屬于假公濟私。
反過來也一樣是不職業的:用自己私人的設備處理公司的事務,用免費的郵箱發送和接收公司的郵件;帶個人的電腦來辦公室處理公司的業務。這樣做,可能給組織的軟件安全性造成危害,也可能對組織的工作造成麻煩、惹出版權官司。在公和私之間畫上一道紅線,做到公私分明,是職業化軟件工程師必備的素質。
行為七:不注意更新自己
職業的與非職業的軟件工程師一個重要區別就在于職業化的人士經常學習,不斷更新自己的知識,保持自己在本行業的競爭能力。
我接觸到的很多工程師,他們想走捷徑,對技術淺嘗轍止;知其然不知其所以然;他們畏難而退:不想在一線戰斗,喜歡搞他們想象的所謂的管理;想做測試,因為他們錯誤地認為測試對技術的要求不高??這些都是和職業化的軟件工程師很不相稱的。
行為八:不主動與人溝通
溝通,在軟件開發領域,是責任問題,不是性格問題。
不主動溝通,其背后隱藏的更為重要的原因是工程師的責任感不夠。主動和上級、同行、下屬溝通是職業化所必需的,因為軟件開發需要團隊協作,任何一個工程師的工作都可能會影響別人,進而影響全局。軟件工程的實踐表明,個別人缺乏主動溝通,往往導致整個團隊的技術方案出現偏差,或整個項目的進度受到影響。
報告(Report)是溝通的一個方式,有時顯得特別重要。當你承擔的任務進展順利的時候,要報告;特別當任務進展遇到困難、可能會影響別人或引起變更的時候,更要報告。配合項目經理和QA人員跟蹤項目的計劃執行情況,是每一個工程師分內的職責。
行為九:不遵守職場規則
一些工程師不能很好地遵守軟件行業的職場規則。比如:互相告知或打聽工資和獎金的多少;離職時帶走公司的源代碼和文檔;或急于到新單位工作而不專心交接等等。
軟件計劃的不精確性,導致開發任務的分布不均勻,特別是重要里程碑(如產品發布)之前,往往需要一定程度的加班。對此,職業化的軟件工程師應給予理解和配合。
行為十: 不夠誠實和正直
配合項目經理做好計劃是工程師不可推脫的職責。進度的安排是根據任務承擔者的經驗、水平來確定的,對所安排的任務,工程師本人應該有比較正確的判斷。實際工作中,卻碰到有些工程師一天能完成的任務故意說成是兩天,為自己爭取到過分寬松的環境。雖然,也有組織要求軟件工程師對工作量和進度有一定的判斷和估計能力,但這和故意虛報計劃的性質是不一樣的,前者是水平問題,后者是誠信問題。
工程師的正直來自于強烈的社會責任感。只有維護行業的道德水準和職業規范,軟件行業才能持久健康發展。犧牲職業道德和規范水準,換來了暫時的經濟利益,傷害的卻是整個軟件職業的榮譽和信任度。
作者簡介:
陳尚義,1989年畢業于北京航空航天大學計算機系。現任中軟通用產品研發中心總經理,北京航空航天大學兼職教授、碩士研究生導師,中科院研究生院碩士生導師,IEEE授權培訓結構高級講師。
第三篇:軟件工程師職業分析
軟件工程師職業分析
首先什么是軟件工程師?軟件工程師主要進行軟件前期的項目需求的分析,然后對項目進行風險評估并試圖解決這些風險,然后開始進行軟件的開發,后期對軟件的進度做相關的評估。軟件工程師是從事軟件開發相關工作的人員的統稱。它是一個廣義的概念,包括軟件設計人員、軟件架構人員、軟件工程管理人員、程序員等一系列崗位。這些崗位的分工不同,職位和/或級別不同,但工作內容都是與軟件開發生產相關的。
軟件工程師是IT行業需求量最大的職位,穩居IT行業職位需求TOP10的第一位(第二位是高級軟件工程師)。軟件工程師的技術要求是比較全面的,除了最基礎的編程語言(C語言/C++/JAVA等)、數據庫技術(SQL/ORACLE/DB2等)、.NET平臺技術、C#、C/S B/S程序開發,還有諸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技術。
除此之外,關于網絡工程和軟件測試的其他技術也要有所涉獵,以利于操控全局。軟件工程師可謂是軟件項目開發的掌舵者。一名優秀的軟件工程師應當具有較強的邏輯思維能力,對于技術的發展有敏銳的嗅覺。雖然要求技術全面,但無須偏執于門門技術都精通,任何軟件工程師都有自己的技術特長和偏向,對于自己手中的技術,可有精通-掌握-熟悉-了解之分,根據工作需要和職業發展的具體情況來劃分。
從最新的數據看出目前軟件行業成為目前最熱的行業之一,3G工程師、嵌入式工程師、Java軟件工程師、.net軟件工程師的開發前景怎么樣,成為我們即將畢業的大學生們最關心的問題,下面筆者就從這四個方面分析軟件開發工程師的就業前景,參考來源《2013-NIIT軟件行業分析》;
3G工程師就業前景分析:中國被世界公認為全球最大的3G移動市場,但是,3G相關的人才卻嚴重失調。專業從事3G應用軟件開發從業人員不足千人,據工信部預測,僅2010年,中國3G人才市場缺口就在100萬以上,其中3G軟件工程師缺口就在50萬左右。
3G人才短缺現狀,使得3G行業已經成為新的高薪行業,基于3G軟件開發人員變得格外搶手。人力資源專家表示,3G軟件開發是未來幾年最熱門和最受
歡迎的職業之一。根據前程無憂網發布的薪資報告,具有10年工作經驗的高級嵌入式軟件工程師年薪在30萬元左右。即使是初級的嵌入式軟件開發人員,平均月薪也在5000元左右,中高級的嵌入式軟件工程師月薪平均已超過萬元,而且隨著3G應用的進一步深入發展,3G軟件研發人才的薪水還會進一步水漲船高!
嵌入式工程師就業前景分析:嵌入式領域較新,目前發展非常快,很多軟硬件技術出現的時間都不太長(如ARM處理器、嵌入式操作系統、LINUX操作系統),大多數人沒有條件接觸或進入嵌入式行業,更談不上能有機會接受專業人士的指導。因此,踏進這個行業的難度比較大,嵌入式人才稀缺。
權威部門統計,我國嵌入式人才缺口每年50萬人左右。根據相關的的調查報告稱,嵌入式軟件開發是未來幾年最熱門和最受歡迎的職業之一,具有10年工作經驗的高級嵌入式工程師年薪在30萬元左右。即使是初級的嵌入式軟件開發人員,平均月薪也達到了3000-5000元,中高級的嵌入式工程師月薪平均超過10000元。
Java軟件工程師就業前景分析:目前,雖然Java人才的薪水很高,但是對該類人才需求旺盛的IT企業卻很難招聘到合格的Java軟件工程師。其中,最根本的原因就是許多計算機專業的畢業生在讀期間沒有掌握實用的技能與經驗,距離企業的實際用人要求有較大的差距。因此,計算機專業的大學生欲成為Java軟件工程師,最便捷的一條路就是參加以實戰項目為主要教學方法的Java職業技能培訓,從而有效地縮短同企業具體用人要求之間的差距。Java軟件工程師的未來發展方向大致分為兩類: 一是成為管理人員,例如產品研發經理,技術經理,項目經理等;
二是繼續他的技術工作之路,成為高級軟件工程師、需求工程師等。.net軟件工程師就業前景分析:據有關權威部門統計,未來幾年內我國軟件行業的從業機會十分龐大,每年對軟件人才的需求將達到 80萬-100 萬人,而現有行業從業人員只有 50 萬人左右,專業開發人員不到25萬,目前大部分院校出來的應屆計算機系學生,真正能當年進入軟件公司工作的只有10%~20%左右,缺口很大。
.Net作為新一代的程序開發語言其中的一員,同樣也具有很多的優勢,并且彌補了前一代語言的缺點,因而更加受到人們的喜愛。.Net具有很多明顯的優點,可以提高開發人員的效率,減少bug,加快應用開發并簡化使用。IT人員對.Net保持了應有的警惕,因為它畢竟還是個新事物,需要有一個比較艱難的學習曲線。但是對于大多數組織而言,其優點遠遠多于缺點。有了.Net,可以在未來的開發項目中贏得更高的生產力。越來越多的人開始加入到.Net學習的隊伍中來,其中也有不少人參加培訓。
第四篇:軟件工程師職業規范
軟件工程師職業道德規范和實踐要求
原則
原則0守則
軟件工程師的基本要求,樹立軟件產業界整體優良形象:
0.01自覺遵守公民道德規范標準和中國軟件行業基本公約。
0.02講誠信,堅決反對各種弄虛作假現象,不承接自己能力尚難以勝任的任務,對已經承諾的事,要保證做到,在情況變化和有特殊原因,實在難以做到時,應及早向當事人報告和說明;忠實做好各種作業記錄,不隱瞞、不虛構,對提交的軟件產品和及其功能,在有關文檔上不作夸大不實的說明。
0.03講團結、講合作,有良好的團隊協作精神,善于溝通和交流,在業務討論上,積極坦率地發表自己的觀點和意見,對理解不清楚和有疑問的地方,決不放過,在做同級評審和技術審核時,實事求是地反映和指出問題,對事不對人,要自覺協助項目經理做好項目管理,積極提出工作改進建議。
0.04有良好的知識產權保護觀念,自覺抵制各種違反知識產權保護法規的行為,不購買和使用盜版的軟件,不參與侵犯知識產權的活動,在自己開發的產品中不拷貝、復用未獲得使用許可的他方內容。0.05樹立正確的技能觀,努力提高自己的技能,為社會和人類造福,絕不利用自己的技能去從事危害公眾利益的活動,包括構造虛假信息和不良內容、制造電腦病毒、參與盜版活動、非法解密存取、黑客行為和攻擊網站等行為,提倡健康的網絡道德準則和交流活動。應大力鼓勵和提倡利用自己的計算機知識,積極參與科學普及活動和應用推廣活動。
0.06認真履行簽定的合同和協議規定,有良好的工作責任感,不能以追求個人利益為目的,而不顧協議合同規定,不顧對已承諾的項目開發任務的影響,甚至以攜帶原企業的資料提高自己的身價。應自覺遵守保密規定,不隨意向他人泄露工作和客戶的機密。
0.07面對飛速發展的技術,能自覺跟蹤技術發展動態,積極參與各種技術交流、技術培訓和繼續教育活動,不斷改進和提高自己的技能,自覺參與項目管理和軟件過程改進活動。能注意對個人軟件過程活動的監控和管理,積累工程數據,研究和不斷改進自己的軟件生產效率和質量,并積極參與發展高效的團隊軟件過程管理,使各項軟件產出,都能達到國際和國家標準與規范。
0.08努力提高自己的技術和職業道德素質,力爭做到與國際接軌,提交的軟件和文檔資料能符合國際和國家的有關技術標準,在職業道德規范上,也能符合國際軟件工程師職業道德規范標準。
原則1公眾
軟件工程師應當以公眾利益為目標,特別是在適當的情況下軟件工程師應當:
1.01對他們的工作承擔完全的責任;
1.02以公眾利益為前提,合理分配軟件工程師、雇主、客戶和用戶的利益;
1.03批準軟件,應該在確信該軟件是安全的、符合規格說明的、經過合適測試的、不會降低生活品質、不影響隱私權或者有害環境的前提之下;
1.04當他們有理由相信有關的軟件和文檔,可以對用戶、公眾或環境造成任何實際或潛在的危害時,應該向適當的人員或當局舉報;
1.05通過合作解決由于軟件本身及其安裝、維護、支持或文檔引起的社會嚴重關切的各種事項;1.06在所有有關軟件、文檔、方法和工具的申述中,特別是與公眾相關的,力求公正,避免欺騙;1.07認真考慮諸如使用者身體殘疾、資源分配限制、經濟貧困和其他可能影響軟件使用的各種因素;1.08應致力于將自己的專業技能應用于公益事業和公共教育。
原則2客戶和雇主
在保持與公眾利益一致的原則下,軟件工程師應注意滿足客戶和雇主的最高利益,特別是在適當的情況下軟件工程師應當:
2.01在其可勝任的領域提供服務,對其經驗和教育方面的不足應持誠實和坦率的態度;
2.02不使用非法或非合理渠道獲得的軟件,不明知故犯;
2.03 在客戶或雇主知曉和同意的情況下,只在準許的范圍內使用客戶或雇主的資產;
2.04 保證他們所遵循的文檔是按要求經過授權批準的;
2.05只要工作中所接觸的機密文件不違背公眾利益和法律,對這些文件所記載的信息須嚴格保密;2.06根據判斷,如果一個項目有可能失敗,或者費用過高,或違反知識產權法規,或者存在其它問題,應立即確認,將文檔記錄、收集的證據和報告提交客戶或雇主;
2.07當他們知道軟件或文檔有涉及到社會明顯關切的問題時,應進行確認,并將文檔記錄和報告提交給雇主或客戶;
2.08 不接受不利于當前雇主工作的外部工作;
2.09不提倡與雇主或客戶的利益沖突,除非出于符合更高道德規范的考慮。在后者情況下,應通報雇主或其他涉及這一道德規范的適當的當事人。
原則3產品
軟件工程師應當確保他們的產品和相關的改進符合最高的專業標準,特別是在適當的情況下軟件工程師應當:
3.01 努力保證高質量、可接受的成本和合理的進度,確保任何有意義的折衷方案是雇主和客戶清楚和接受的,且從用戶和公眾角度是適合的;
3.02確保他們所從事或建議的項目有適當和可達到的目標;
3.03識別、定義和解決他們工作項目中有關的道德、經濟、文化、法律和環境問題;
3.04通過適當地結合教育、培訓和實踐經驗,保證他們能勝任正從事和建議開展的工作項目;3.05保證他們在從事或建議的項目中使用合適的方法;
3.06只要適用,遵循最適合當前工作的專業標準,除非出于道德或技術考慮,并在可認定的情況下才允許有所變通;
3.07努力做到充分理解所從事軟件的規格說明;
3.08保證他們所從事的軟件說明是良好的文檔、可滿足用戶需要和經過適當批準的;
3.09保證對他們從事或建議的項目,做出實際和定量的估算,包括成本、進度、人員、質量和輸出,并對估算的不確定性做出評估;
3.10確保對其從事的軟件和文檔資料有合適的測試、排錯和評審;
3.11保證對其從事的項目,有合適的文檔,包括列入從中發現的重要問題和采取的解決辦法;
3.12開發的軟件和相關的文檔,應尊重那些受軟件影響的人的隱私;
3.13謹慎使用從正當、合法渠道獲得的精確數據,并保證只在準許的范圍內使用;
3.14注意維護那些容易過時或有出錯情況時的數據的完整性;
3.15 處理各類軟件維護時,應保持與開發時一樣認真的職業態度。
原則4判斷
軟件工程師應當維護他們職業判斷的完整性和獨立性,特別是在適當的情況下軟件工程師應當:4.01所有技術性判斷應服從支持和維護人類價值的需要;
4.02只有在對本人監督下準備的文檔,或在本人專業知識范圍內并經本人同意的情況下才簽署文檔;4.03對受他們評估的軟件或文檔,應保持職業的客觀性;
4.04不參與欺騙性的經濟行為,如行賄、重復收費或其他不正當經濟行為;
4.05對無法回避和避免的利益沖突,應告示所有有關方面;
4.06當他們、他們的雇主或客戶之間存有未公開和潛在利益沖突時,拒絕以會員或顧問身份參加與軟件事務相關的私人、政府或職業團體;
原則5管理
軟件工程的經理和領導人員應贊成和促進對軟件開發和維護合乎道德規范的管理,特別是在適當的情況下軟件工程師應當:
5.01對其從事的項目保證良好的管理,包括提高質量和減少風險等有效手段;
5.02保證軟件工程師在遵循標準之前便知曉它們;
5.03保證軟件工程師知道雇主是如何保護對雇主或其他人保密的口令、文件和信息的有關策略和方法;5.04布置工作任務應先考慮其教育和經驗有相應的水平,再加上有進一步教育和成長的要求;
5.05保證對他們從事或建議的項目,做出現實和定量的估算,包括成本、進度、人員、質量和輸出,并對估算的不確定性做出評估;
5.06在雇傭軟件工程師時,需實事求是地介紹雇傭條件;
5.07提供公正和合理的報酬;
5.08不能不公正地阻止一個人取得可以勝任的崗位;
5.09保證對那些在軟件、過程、研究、寫作、或其它知識產權的所有權方面做出貢獻的軟件工程師,有一個公平的協議;
5.10應對違反雇主利益或道德觀念的指控,提供正規的聽證過程;
5.11不要求軟件工程師去做任何與道德規范相違背的事;
5.12不能處罰對項目表露出道德關切的人;
原則6專業
在與公眾利益一致的原則下,軟件工程師應當保證其專業的完整性和聲譽,特別是在適當的情況下軟件工程師應當:
6.01協助發展一個適合執行道德規范的組織環境;
6.02推進軟件工程的共識性;
6.03通過適當參加各種專業組織、會議和通過出版物,擴充軟件工程知識;
6.04作為一名職業人員,支持其他軟件工程師努力遵循本道德規范;
6.05不以犧牲職業、客戶或雇主利益為代價,謀求自身利益;
6.06服從所有監管作業的法規,除非這種要求與公眾利益有不一致時例外;
6.07要精確敘述自己所從事軟件工作的特性,不僅避免錯誤的斷言,也要防止那些可能造成猜測投機、空洞無物、欺騙性、誤導性或者有疑問的斷言;
6.08對所從事的軟件和相關文檔,負起檢測、修正和報告錯誤的責任;
6.09保證讓客戶、雇主和主管人員知道軟件工程師對本道德規范的承諾,以及這一承諾帶來的后果和影響;
6.10避免靠近與本道德規范有沖突的業務和組織;
6.11 要認識違反本規范是與成為一名專業工程師不相稱的;
6.12在出現明顯違反本規范時,應向有關當事人表達自己的擔憂,除非在沒有可能、會影響生產或有危險時才可例外;
6.13當與明顯違反道德規范的人無法磋商,或者會影響生產或有危險時,應向有關當局報告;
原則7同行
軟件工程師對其同行應持平等、互助和支持的態度,特別是在適當的情況下軟件工程師應當:
7.01鼓勵同行遵守本道德規范;
7.02在專業發展方面幫助同行;
7.03充分信任和贊賞其他人的工作,杜絕追逐不應有的贊譽;
7.04評審別人的工作,應客觀、直率和進行適當的文檔記錄;
7.05持良好的心態聽取同行的意見、關切和抱怨;
7.06協助同行充分熟悉當前的標準工作規范,包括保護口令、文件和保密信息等有關的政策和規定,以
及其他常規的安全措施;
7.07 出于客戶、雇主或公眾利益的考慮,軟件工程師可以以善意態度質詢同行的勝任能力,但不要以不公正的手段干涉同行的職業發展;
7.08在出現超越本人勝任范圍的情況時,應主動征詢其他熟悉這一領域的專業人員的意見;
原則8自身
軟件工程師應當參與終生職業實踐的學習,并促進合乎道德的職業實踐方法,特別是軟件工程師應不斷致力于:
8.01深化他們的開發知識,包括軟件的分析、規格說明、設計、開發、維護和測試、相關的文檔,以及開發過程的管理;
8.02提高他們在合理的成本和時限范圍內,開發安全、可靠和有用質量保證的軟件的能力;8.03提高他們編寫正確、有技術含量的和良好的文檔能力;
8.04提高他們對所從事軟件和相關文檔資料,以及應用環境的了解;
8.05提高他們對從事軟件和文檔的有關標準和法律的熟悉程度;
8.06提高他們對本規范,及其解釋和如何應用于本身工作的了解;
8.07不因為某些難以接受的偏見而不公正地對待他人;
8.08不影響他人在執行道德規范時所采取的任何行動;
8.09要認識到違反本規范是與成為一名專業軟件工程師不相稱的;
第五篇:軟件工程師職業分析
軟件工程師
一、職業簡介
我是中國科學技術大學07級計算機學院的學生,我的專業是計算機科學技術。科大的計算機研究軟件多于硬件,而且鑒于我的專業和興趣以及今后的發展,我選擇研究的職業是——軟件工程師。
軟件工程不等同于軟件開發或者簡單的編程工作,軟件工程是一個工程學科,其指導意義較之軟件開發更為廣泛。有一個比較貼切的比喻:把一款軟件比做一座大橋,那么軟件工程師相當于施工總指揮,而一般的軟件開發人員相當于建筑工人!
其次,我說軟件工程是一個工程學科,但它同時也是一個管理學科,你必須學會怎樣來領導你的小組是他們能夠完全理解貫徹你的意圖。應此必須具有良好的溝通能力當然這個東西不是讀一本書參加一個培訓班就能作到的,這要依賴于平時的培養。
另外,不要以為你掌握了軟件工程的理論就一定能做軟件工程相應的事情,軟件工程只是一個理論一個知道思想。搞軟件開發的都必須了解這些基本理論并在平時的工作中認真的去貫徹執行。
二、典型的生涯路徑
我將軟件工程師的職業路徑分為三個階段:
(1)初級階段:在這個階段,所作的工作相當于普通的軟件開發和編程人員,主要進行一些小的程序開發,熟練技術工作,學習一些與自己工作發展方向有關的技術知識。這是為以后在技術工作方面取得成就的基礎階段。
(2)發展階段:逐步在公司的一些大型研究項目中發揮更加重要更加核心的作用,對于大部分編程語言以及算法能熟練掌握,對于技術運用純熟,成為軟件開發的高級人才。(3)高級階段:由技術型人才逐漸向管理型人才轉化,由于自己的技術能力以及管理經驗在自己的工作領域成為公司的中堅力量,能領導一些企業大型項目,對于自己的研究項目有獨到的見解,傳授剛剛進入職場的職員一定的工作經驗。為企業以及該領域培養后備力量,這是職業生涯路徑的最后階段,也是職業生涯路徑最輝煌的階段。
大致的職位路徑:程序員——助理工程師——工程師——高級工程師——企業CEO
三、發展趨勢
信息產業是二十一世紀最具發展前景的工作領域之一,隨著經濟技術的持續快速發展,信息技術越來越展現出其突出的重要性,二十一世紀是信息時代,所以計算機科學也必然有著廣闊的市場與發展前景,再加上3G時代即將到來,未來對于軟件=工程師的需求量也會越來越大。08年至今金融危機席卷全球,軟件計算機行業也受到了很大的沖擊,大量計算機人員失業。IT業就業壓力增大,但這并不意味著計算機人才已經飽和!雖然整體上IT業不是很景氣,但對于高級軟件工程師的需求從未減少過,相比反而增長!只是大部分高校畢業生難以滿足各企業以及機關需要,缺少實際應用型人才。所以從總的趨勢來看,只要認真學好基礎課,提高自己的應用與就業能力,未來的信息產業的發展還是十分光明的。
四、薪水水平
薪水往往與其工作經驗有較大的關系。按照上文所說的不同的工作階段基本可以劃分不同的薪金水平。按科大畢業生的水平來說,本科畢業生直接進入到IT行業平均月薪可以達到四五千,博士畢業生可以拿到15萬-20萬的年薪,主要是因為博士生已經在學校里有了很長時間的研究和工作經驗。雖說薪金水平和工作經驗有關,但軟件方面的工作可以被稱為“青春飯”,因為這項工作壓力較大,耗費精力也很多。隨著年齡的增長,一些把握住機會的人的薪金可以達到很高的水平(50萬-100萬),并且呈上升趨勢,而那些沒把握住機會的人,他們的薪水并不會有較多的增長。
五、所需要的技能(1)編程能力
編程能力是軟件工作人員最基本也是最典型的能力,軟件工作人員至少熟練掌握兩到三種開發工具的使用,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是JAVA的優勢所在。
(2)軟件工程
作為一個軟件工程師,他應該具備一些普通程序員所沒有的素質或者技能,軟件工程就是這項技能。現代大型軟件系統的開發中,工程化的開發控制取代個人英雄主義,成為軟件系統成功的保證,一個優秀的軟件工程師是將出色的編程能力和開發技巧同嚴格的軟件工程思想有機結合,編程只是軟件生命周期中的其中一環,優秀的軟件工程師應該掌握軟件開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟件測試等。
(3)英語知識
由于計算機是美國人發明的,并且我們現在所用的系統都是國外的,很多軟件也是國外軟件工程師編出來的,我們想要看懂操作系統的源代碼、想要理解那些優秀軟件的編程思想、想要編寫出好程序,就必須要有過硬的英語基礎!僅僅一張4級或6級的證書是遠遠不夠的!
六、雇傭機構
對于軟件開發這個反映世界發展前沿的產業,高科技、信息化是其代名詞。但是由于計算機技術的快速發展,信息產業幾乎涉及生活中的方方面面,可以從事合資企業、金融服務業、制造業、商品流通業、服務業的信息采集、分析和處理、網絡營銷、商品進出口業務操作、網站的維護、信息安全等許多產業方向。所以雇傭機構也十分廣泛,雇傭機構多為高新企業,其中包括多數中外合資企業。也包括政府機構,軍事部門等。
七、婦女與少數民族
本職業對男女、民族沒有限制,但為男性較多,同等情況下,女士在競爭時略有劣勢。
八、被雇傭過程
以科大學生來談,主要的就業途徑是參加企業招聘會并向中意的企業投簡歷,并參加筆試或面試來競聘。也可以通過實習等方式參加工作。
九、工作條件
軟件工程師的工作主要都是在辦公室內面對著電腦完成的,軟件行業是很艱苦的,時時刻刻都面臨著各個方面的激烈競爭,所以工作壓力很大,加班工作是經常發生的事情。由于常需要合作交流,出差甚至出國機會也很多。甚至很多大型企業要求員工長期在外工作。
在工作初級階段,與客戶交流機會不會太多,但此工作需要團結協作,所以與員工領導交流較多,但隨職位發展,與客戶的良好交流也成為必備的素質之一。
十、教育/培訓
軟件開發技術以及程序開發人員往往在工作前就擁有良好的知識背景,但學習培訓對于此職業來說也是比較重要的,很多大公司為了增強職員的能力和歸屬感,幫助職員了解最新技術開展一定的培訓工作。但一般每次培訓工作不會經歷很長時間,對于很多初級工作者來說,培訓是經常經歷的也是很重要的發展階段。
十一、證書/資格證
要求具有國家計算機等級資格證書,具體工作會有不同的等級要求(科大學生不需要,名牌大學的優勢??)。軟件工程師還要通過“軟件工程師資格考試”,拿到證書。在職業高級階段擁有國家高級工程師是我的目標。但是,對于軟件開發而言,具有真正的工作能力才是最重要的。
十二、組織關系
由于軟件開發技術工作的可工作領域十分廣泛,所以具有一定能力水平的網絡技術工作者會在社會的各個方面發光發熱,對于杰出人才,在國防、軟件開發等等方面都會有較大成就與廣泛的組織會員關系。
十三、前景
雖然經過金融危機的沖擊,IT業受到了巨大的沖擊,但是我對我所向往的職業的就業前景還是比較樂觀的。以IT中心地帶北京市來看,北京市人事局發布近期的人才市場供需情況的排名卻顯示,用人單位招聘專業職位數量排名前20位的依次是:市場營銷、行政管理、財會、土建、機械與儀器儀表、企業管理、國際經濟、計算機網絡、計算機應用與維護、翻譯、計算機軟件、醫藥衛生、輕工糧食食品、人力資源管理、通信工程、自動控制、環境工程、廣告、材料、化工制藥。計算機軟件排在11位。就其排名來說,不是很理想,但是,根據軟件開發行業實際情況來說,現在的就業情況還算樂觀。
據有關權威部門統計:將來幾年內我國軟件行業的從業機會十分龐大:中國每年對軟件人才的需求將達到35萬-40萬人左右,而每年高校培養出來的計算機相關專業的畢業生只有6萬人左右。而處于軟件人才金字塔結構的底部的軟件“藍領”,需求自然是最大。
十四、對生活方式的影響
由于這個工作工作時間較長,壓力較大,可能會影響自己與家人的相處時間,相應的休閑時間也會相應減少。很多軟件工程師無奈走入“單身貴族”的行列。但總的來說,還是會有一定的空余時間供自己支配。總之,這種職業的生活節奏是比較快的,尤其是在外企工作,工作壓力較大,對于自己的婚姻、家庭、休閑也會受到一定的影響。
十五、總結
結合目前我所學習的專業以及我自己的興趣愛好,軟件工程師比較符合我今后的工作方向,但是這項職業畢竟是青春飯,在步入中年之后,工作以及生活壓力會逐漸加大,所以我希望在此職業有一定的業績后,逐步向管理者邁進,最好可以擁有自己的事業。雖然這項工作壓力較大,但我對這項工作的前景感到樂觀,雖然競爭比較激烈,但只要把握好自己,按照自己的規劃努力學習,相信一定會取得成功。
任何成功的道路都不是一帆風順的,做這份職業同樣如此,但我相信我會做好這份職業,也相信這份職業會適合我,幫助我一步一步的實現我的人生理想。