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