2個最重要的非技術性的軟體開發技能
軟體開發是一項需要獨特技能的專業。然而,在我的職業生涯中,我開始欣賞優秀開發人員的兩個重要特徵,這些特徵根本不是軟體技術專業所特有的。
我發現這些特徵對我的工作非常有幫助,而且這兩個特徵都涉及到我不得不努力改進的習慣。
1.注重細節
為了獲得編譯的軟體程式,必須要做的事情很多。這就是為什麼對細節的關注在很多方面都非常重要,而且它通常是新開發人員學習的第一批技能之一。
在我的職業生涯早期,我經常過早宣佈工作完成。我記得有幾次,在讓我的團隊負責人知道我完成了一項功能後,他們會對其進行稽核並立即發現問題。即使程式碼執行得很好,我的拉取請求仍會充滿評論 - 可能是關於風格不一致或我忽略的優秀程式碼的其他特性。像這樣的情況往往是由於對細節的關注不夠。
軟體很複雜,其建模任務的業務邏輯也是如此。把事情做對很難。這需要大量的紀律和仔細的審查。
我使用的一些策略幫助我開發了高質量的程式碼,同時確保對細節的強烈關注包括:
- 測試 - 確保程式碼適用於完整輸入域的一種方法是測試它。通常,這意味著單元測試,甚至可能編寫測試驅動的程式碼。有時它意味著更廣泛的測試。例如,我真的很喜歡觸控測試資料庫或其他依賴項的測試。它們讓我相信我的程式碼是正確和健壯的。
- 自我程式碼稽核 - 第一個稽核我的程式碼的人是我 - 不止一次。我通常只為自己開啟拉取請求。我確保所有的變化都有意義。然後我確保我的程式碼在風格上與現有程式碼保持一致。你總是有一些預算可以抵消趨勢,但並不多。
- 功能審查 - 我總是確保審查我正在處理的故事或功能,以確保我的程式碼滿足所有要求和驗收標準。很容易迷失在實施中,錯過森林的樹木。有幾次我認為自己已經完成了,只是意識到我還沒有解決過這個故事的另一個需求。
- 記筆記 - 我嘗試記錄我在處理任何程式碼時所做的決定,以及它們的基本原理。現在很容易做出決定,只有在有人問你為什麼以你的方式實現某些事情時才忘記它。
2.耐心
大多數軟體專案需要很長時間才能正確編寫。
有些人將軟體開發與園藝比較。隨著花園的成長,控制花園可能很困難。有時候,你能做的最好的事情就是努力保持並保持良好的整潔。以同樣的方式,編寫軟體可能是一個緩慢而乏味的過程,並且在此過程中保持耐心至關重要。
在開發軟體時,最好的解決方案通常不是第一個想到的解決方案,也不一定是最容易實現的解決方案。到達最佳解決方案(或有時只是任何解決方案)可能很困難,這通常會導致沮喪。
有耐心並積極地看待挫折很重要。這樣做通常可以實現最大程度的學習,並且它將最好的開發人員與其他開發人員區分開來。有耐心也有助於防止你感到不知所措。
我不知道我是否有任何有用的技巧來培養耐心。相反,我認為接受編寫軟體會令人沮喪並且將會令人沮喪是很重要的。這就是你如何接受讓你成為更好的開發者的挫敗感。
軟體是一個擁有各種專業的巨大領域。要成為一個專家需要付出巨大的努力。接受緩慢的增量增長非常重要,只要有耐心,就會加入專業知識。
相關文章
- 軟體開發中最重要的一項技能
- 識別不必要的複雜性是軟體開發中最重要的技能之一
- 雲技術是軟體技術,並非硬體技術
- 從Java談軟體開發前期規劃的重要性Java
- 軟體功能測試在軟體開發中的重要性。在哪裡做軟體測試?
- 軟體開發技術問答
- 談談軟體專案管理的重要性2(轉)專案管理
- 軟體開發的自然屬性
- 當前最火的web開發技術Web
- 原始碼安全加密系統對軟體開發企業的重要性原始碼加密
- 軟體開發中的資料庫測試技術資料庫
- 程式設計師常犯的 5 個非技術性錯誤程式設計師
- 無線覆蓋技術的重要性
- 對程式設計師非常重要的24個軟技能程式設計師
- 敏捷開發大家談(三)--敏捷開發技術在電子商務軟體中的應用(2)敏捷
- 幽默:軟體開發技術中的縮寫短語 - Eleftheria
- [全程建模]傾聽——軟體開發中的重要手段
- ERP專案失敗的四個非技術性陷阱(轉)
- 談談技術人成長中的軟技能
- 非梵藝術NFT數藏開發/系統技術開發/非梵藝術NFT模式模式
- 軟體開發:告別技術精英時代 工程化管理(2)(轉)
- 軟體開發2
- 看看你會幾個?9大最火的移動開發技能移動開發
- NFT非梵藝術/數藏系統開發/非梵藝術技術開發NFT詳情
- 論軟體開發中的三種重要角色(轉)
- 開發直播app軟體除了技術還缺少一個“高效輔助”APP
- 非易失性記憶體技術及資料庫記憶體資料庫
- 一個非技術問題的問題
- 2020年最流行的Java開發技術,最為主流的技術與工具你懂嗎?Java
- 淺談軟體開發中設計的重要性以及錯誤設計的避免和修正
- 我是否適合學習軟體開發技術?
- 2011年10個最重要的開源軟體
- 字元畫軟體的四個關鍵技術 (轉)字元
- 基於軟體分析的智慧化開發新型服務與技術
- 【分享】具有“魔性”的通用軟體開發框架框架
- MQ系列2:訊息中介軟體的技術選型MQ
- 談談軟體專案管理的重要性(轉)專案管理
- 技術成長中的3個重要問題