我強烈建議任何,不論老手或者新手,只要是還沒有機會讀這本書的軟件開發(fā)人員都應(yīng)該找時間讀一下。關(guān)于成為一名專業(yè)軟件開發(fā)人員的意義,這本書提供了許多有價值和有趣的信息。
我學(xué)到的9件事
一名專業(yè)開發(fā)人員了解所開發(fā)項目的領(lǐng)域
一名專業(yè)開發(fā)人員是具有團隊精神的人
一名專業(yè)軟件開發(fā)人員能肩負(fù)責(zé)任
一名專業(yè)開發(fā)人員知道模式和準(zhǔn)則
一名專業(yè)開發(fā)人員能夠在忙碌中保持冷靜
一名專業(yè)開發(fā)人員會不斷訓(xùn)練自己的專業(yè)技能
一名專業(yè)開發(fā)人員會適當(dāng)休息
一名專業(yè)開發(fā)人員懂得時間的寶貴
一名專業(yè)開發(fā)人員從不害怕說不
1. 一名專業(yè)開發(fā)人員了解所開發(fā)項目的領(lǐng)域
作為一名專業(yè)開發(fā)人員,你的工作不僅僅是閱讀需求說明書和編寫軟件代碼。你還應(yīng)該知道項目在現(xiàn)實中是如何使用的。
這就意味著如果你要編寫一個記賬軟件,你至少應(yīng)該具備一些基本的財務(wù)知識。你不需要成為這個領(lǐng)域的專家,但是有一點這方面的知識的話,在解決問題和提出解決方案時將有很大幫助。
2. 一名專業(yè)開發(fā)人員是團隊的一員
作為一名專業(yè)開發(fā)人員,你當(dāng)然應(yīng)該對其他人禮貌并樂于助人。當(dāng)別人向你尋求幫助時,你應(yīng)該換位思考,像你自己所期望的那樣去幫助別人。你應(yīng)該樂于助人并樂于接受別人的幫助。
而且,你不應(yīng)該把自己和代碼獨立于團隊之外。記住!這些代碼不是屬于你的,是屬于整個團隊的。所以,不要不理會參與工作的其他人,甚至不讓他們看代碼,而是應(yīng)該鼓勵。這將幫助你成長為一名開發(fā)人員,因為這樣就產(chǎn)生了反饋,而這對團隊和項目都是大有裨益的。
團隊隨著時間推移,也會變得越來越好,最后團隊成員會了解彼此的優(yōu)點和弱點。當(dāng)團隊能夠如此時,作為一個團隊就能很高效地解決問題了。由于需要時間來建立這樣堅實的團隊,當(dāng)一個項目完成時,給團隊一個新項目比解散整個團隊要明智得多。
3. 一名專業(yè)軟件開發(fā)人員能肩負(fù)責(zé)任
作為一名專業(yè)開發(fā)人員,你要對你的代碼負(fù)責(zé)。你的工作就是了解你代碼的作用和所有代碼的功能。當(dāng)你編碼時,你應(yīng)該注意不要對你的項目產(chǎn)生危害,并且盡可能的將錯誤率降至接近于零。
這能夠通過簡單的測試完成。測試代碼使你對工作更有信心,了解怎樣編寫最好的代碼并且避免錯誤。Robert C. Martin最近說最高的目標(biāo)是QA部門找不到任何小錯誤。一個具有測試代碼的完整項目也給開發(fā)人員更多的信心來處理漏洞。
單元測試和驗收測試應(yīng)當(dāng)利用持續(xù)集成系統(tǒng)自動完成(因為它比手動測試更加便宜)。這種測試應(yīng)該一直運行,即使是開發(fā)人員向項目提交代碼的時候。如果測試間斷,應(yīng)該盡快修復(fù)。
Robert C. Martin也強烈支持測試驅(qū)動開發(fā)。TDD致力于訓(xùn)練開發(fā)人員考慮更好的設(shè)計并構(gòu)建他們的代碼,使之易于測試。據(jù)Robert C. Martin所說,不使用TDD是不專業(yè)的。
4. 一名專業(yè)開發(fā)人員了解模式和準(zhǔn)則
作為一名專業(yè)開發(fā)人員,編寫高質(zhì)量的、已測試的、干凈的代碼是你的責(zé)任。這包括了解設(shè)計模式、規(guī)范、方法、準(zhǔn)則和技巧。
由于軟件產(chǎn)業(yè)發(fā)展的不斷變化,不斷使用新的思路和工具,保持更新到最新的標(biāo)準(zhǔn)和技術(shù)同等重要。
你在任何時候都不能因為忽視標(biāo)準(zhǔn)而降低你的質(zhì)量,即使是繁忙和緊張的情況下為了縮短時間。
5. 一名專業(yè)開發(fā)人員能夠在忙碌中保持冷靜
作為一名專業(yè)開發(fā)人員,你應(yīng)該在忙碌和有壓力的情況下始終保持冷靜。嘗試想出最好的解決問題的辦法并將情況告知你的上司,尋求他們的反饋和意見。
忙中更易出錯。在緊急情況下,你可以嘗試與同事結(jié)對編程。這樣不僅可以減少新增的錯誤而且也是一個與團隊成員分享知識的好方法。
6. 一名專業(yè)開發(fā)人員會不斷訓(xùn)練自己的專業(yè)技能
作為一名專業(yè)開發(fā)人員,你應(yīng)該花時間關(guān)心你的技能。就像其他專業(yè),實踐帶來能力、技巧和經(jīng)驗。
通過讀、練和學(xué)習(xí)一直訓(xùn)練你自己是你的責(zé)任——實際上,任何幫助你成長為軟件開發(fā)人員和幫助你起步的事物都在不停變化著。
重要的一點是,你應(yīng)該在你自己的私人時間里完成,而不是在工作時間里。培訓(xùn)你不是他們的責(zé)任,而是你自己的責(zé)任。當(dāng)然,不要和你應(yīng)該工作的時間弄錯。這個時間應(yīng)該專門針對你和你的興趣。你可以做任何感興趣的事。據(jù)Robert C. Martin所說,如果你每周工作40小時,你應(yīng)該花20小時提高你的專業(yè)技能。
7. 一名專業(yè)開發(fā)人員會適當(dāng)休息
作為一名專業(yè)開發(fā)人員,你應(yīng)該知道做一名軟件開發(fā)人員是很費腦子和累人的工作。注意不要勞累過度是很重要的,你需要在工作和生活之間尋找平衡。做一個休息好的開發(fā)人員使你能更專注并且在工作中表現(xiàn)得更好。這也是對抗心理阻滯的良方。
8. 一名專業(yè)開發(fā)人員懂得時間的寶貴
作為一名專業(yè)開發(fā)人員,你應(yīng)該知道時間的寶貴。它們不應(yīng)該被隨意浪費,這就要求你要合理安排你的時間,比如開會,就很浪費時間。婉言謝絕會議對你不利,但如果參加則不利于任何人。
會議也應(yīng)有明確的議程和目標(biāo)。如果你注意到會議開始變得乏味并且對你不再有益,或者議程被放棄抑或會議變成簡單唱高調(diào),你要么換個新的話題要么禮貌地離開。你也許有更好的事情去做而不是繼續(xù)坐在那里。
9. 一名專業(yè)開發(fā)人員從不害怕說不
作為一名專業(yè)開發(fā)人員你不應(yīng)該害怕說不。如果你發(fā)現(xiàn)一些事情是不現(xiàn)實的(例如一個意見、期限、要求等等)這些需要你提出來。不是大多數(shù)時候——而是每一次。
你甚至不應(yīng)該說你可以試試,因為這樣將會提供一個假象那就是這個任務(wù)是可行的,也可能更糟,這使你變成一個騙子,有損你在上司和同事之間的名聲。相反,嘗試改換措辭并解釋你所關(guān)心的問題。清晰和具體地明確問題的時間和日期。
如果你的上司不聽你的或者不接受否定的回答,你應(yīng)該想想更進一步行動。雖然越級不太好,但是最后會帶來對所有參與者最好的結(jié)果。
據(jù)Robert C. Martin說,判斷的定義因人而異。對于商務(wù)人士,判斷方法是承諾。對軟件開發(fā)人員,判斷是猜測,概率計算。
你應(yīng)該只對能夠確保完成的工作做出承諾。當(dāng)專業(yè)地對一些事承諾后,提供硬性標(biāo)準(zhǔn)并且確保在期限內(nèi)完成工作。
-
開發(fā)工程師
+關(guān)注
關(guān)注
1文章
91瀏覽量
14944
發(fā)布評論請先 登錄
相關(guān)推薦
評論