2個最重要的非技術性的軟體開發技能

banq發表於2019-03-08

軟體開發是一項需要獨特技能的專業。然而,在我的職業生涯中,我開始欣賞優秀開發人員的兩個重要特徵,這些特徵根本不是軟體技術專業所特有的。
我發現這些特徵對我的工作非常有幫助,而且這兩個特徵都涉及到我不得不努力改進的習慣。

1.注重細節
為了獲得編譯的軟體程式,必須要做的事情很多。這就是為什麼對細節的關注在很多方面都非常重要,而且它通常是新開發人員學習的第一批技能之一。
在我的職業生涯早期,我經常過早宣佈工作完成。我記得有幾次,在讓我的團隊負責人知道我完成了一項功能後,他們會對其進行稽核並立即發現問題。即使程式碼執行得很好,我的拉取請求仍會充滿評論 - 可能是關於風格不一致或我忽略的優秀程式碼的其他特性。像這樣的情況往往是由於對細節的關注不夠。
軟體很複雜,其建模任務的業務邏輯也是如此。把事情做對很難。這需要大量的紀律和仔細的審查。
我使用的一些策略幫助我開發了高質量的程式碼,同時確保對細節的強烈關注包括:

  • 測試 - 確保程式碼適用於完整輸入域的一種方法是測試它。通常,這意味著單元測試,甚至可能編寫測試驅動的程式碼。有時它意味著更廣泛的測試。例如,我真的很喜歡觸控測試資料庫或其他依賴項的測試。它們讓我相信我的程式碼是正確和健壯的。
  • 自我程式碼稽核 - 第一個稽核我的程式碼的人是我 - 不止一次。我通常只為自己開啟拉取請求。我確保所有的變化都有意義。然後我確保我的程式碼在風格上與現有程式碼保持一致。你總是有一些預算可以抵消趨勢,但並不多。
  • 功能審查 - 我總是確保審查我正在處理的故事或功能,以確保我的程式碼滿足所有要求和驗收標準。很容易迷失在實施中,錯過森林的樹木。有幾次我認為自己已經完成了,只是意識到我還沒有解決過這個故事的另一個需求。
  • 記筆記 - 我嘗試記錄我在處理任何程式碼時所做的決定,以及它們的基本原理。現在很容易做出決定,只有在有人問你為什麼以你的方式實現某些事情時才忘記它。


2.耐心
大多數軟體專案需要很長時間才能正確編寫。
有些人將軟體開發與園藝比較。隨著花園的成長,控制花園可能很困難。有時候,你能做的最好的事情就是努力保持並保持良好的整潔。以同樣的方式,編寫軟體可能是一個緩慢而乏味的過程,並且在此過程中保持耐心至關重要。
在開發軟體時,最好的解決方案通常不是第一個想到的解決方案,也不一定是最容易實現的解決方案。到達最佳解決方案(或有時只是任何解決方案)可能很困難,這通常會導致沮喪。
有耐心並積極地看待挫折很重要。這樣做通常可以實現最大程度的學習,並且它將最好的開發人員與其他開發人員區分開來。有耐心也有助於防止你感到不知所措。
我不知道我是否有任何有用的技巧來培養耐心。相反,我認為接受編寫軟體會令人沮喪並且將會令人沮喪是很重要的。這就是你如何接受讓你成為更好的開發者的挫敗感。
軟體是一個擁有各種專業的巨大領域。要成為一個專家需要付出巨大的努力。接受緩慢的增量增長非常重要,只要有耐心,就會加入專業知識。

相關文章