想要成為軟體開發中的王者,需要明白的 21 條準則

2021-09-12 16:51:08 字數 1285 閱讀 9387

1、軟體開發者的工作不是「寫**」,而是解決業務問題,「採用的新框架」常常不能解決業務問題。

2、我們與人一起工作,只是有時候寫**而已,所以人際關係是這份工作的重要組成部分。

3、軟體開發人員也是人,他們和所有人一樣都會受到認知偏差的影響。可以讀讀關於認知偏差、fae(fundamental attribution error,基本歸因錯誤)、特別是kahneman 的書。

4、每乙個新框架的出現,是因為前端開發者面臨的問題我們沒有理想的解決方案。每乙個成功的新框架都有其創新之處,所以得想想「這個框架/庫如何改變我的工作」這個問題。

5、軟體開發者不「只是寫**」,而是參與開發過程。所以如果公司在使用敏捷(agile),你必須對其認真對待,最起碼也要對其保有尊重。

6、**評審(code review)是軟體開發過程的重要組成部分。對**評審有所疏忽就不能成為優秀的軟體開發人員。

7、作為軟體開發者,我們對自己部署的**要負責。我們也負有道德上的責任,不要做不道德的事。

8、使用者也是人。我們的產品和我們的失敗都可能直接影響他們的生活,對你行為的後果要三思。

9、人與人並不相同,人們的思維方式也不同:有時候我們認為困難的東西從商業人士角度看來可能很容易。這是我們必須解決而不是逃避的矛盾。

10、對截止時間(deadline)負責。如果在截止時間前完成不了,你必須重新溝通新的截止時間。

11、任務有兩種複雜性:內部和外部複雜性。內部複雜性不可避免,因為這是任務本身;外部複雜性來自重新架構系統過程中異常決定的後果。要格外注意外部複雜性超過內部複雜性的情況。

12、如果開發者在寫**或架構系統時選擇容易而不是好的解決辦法,他欠下的技術債遲早有一天是要還的。

13、「別人」寫的**幾乎總是無法理解或著寫得很差,但並不總是因為**真的寫得不好。有時候這些「別人」就是過去的我們。

14、有時候在不改變**的情況下也能解決問題。

15、勇於改變需要改變的,接受那些無法改變的,用智慧型來分辨其中差異。

16、有時候對開發人員來說不重要的事情卻有極高的商業價值。商業是乙個好的角度,不要逃避它。

17、很少有公司關心你的個人成長。如果公司對你目前的水平不滿意,他們一開始就不會聘用你。

18、會議或者聚會的價值在於在場的人,其次是交談內容。

19、面試都是雙向的,不僅是公司在考察你,也是你考察公司。

20、我們選擇這份職業是因為我們對其很感興趣,但付我們薪水是因為我們創造了價值。了解一下公司的成本和利潤,看看自己屬於哪乙個。

21、作為自由職業者,花錢請你是因為客戶不具備這些技能:客戶不會告訴你你****不好、也不會指出其中錯誤,客戶用自己的方式提出這些意見。

想要成為軟體開發中的王者,需要明白的 21 條準則

1 軟體開發者的工作不是 寫 而是解決業務問題,採用的新框架 常常不能解決業務問題。2 我們與人一起工作,只是有時候寫 而已,所以人際關係是這份工作的重要組成部分。3 軟體開發人員也是人,他們和所有人一樣都會受到認知偏差的影響。可以讀讀關於認知偏差 fae fundamental attributi...

軟體開發中需要的文件

在專案開發過程中,應該按要求編寫好十三種文件,文件編制要求具有針對性 精確性 清晰性 完整性 靈活性 可追溯性。可行性分析報告 說明該軟體開發專案的實現在技術上 經濟上和社會因素上的可行性,評述為了合理地達到開發目標可供選擇的各種可能實施方案,說明並論證所選定實施方案的理由。專案開發計畫 為軟體專案...

軟體開發中的併發

併發作用 1.在互動式應用中,快速響應使用者的請求,提高感知響應的時間 2.充分利用硬體資源,計算資源 3.簡化應用設計 併發壞處 1.難於測試 2.併發應用執行在複雜的環境下,軟體不確定性增多 3.處理同步,通訊的問題,增加程式設計複雜性 4.併發開銷對效能的影響,包括上下文環境切換,同步等 併發...