軟體開發人員的「七重苦」(1)

2022-07-04 14:42:10 字數 1373 閱讀 5179

軟體開發這個行業無疑的是有快樂的,但這篇文章裡,我們先不關注他,而是要來看看那些讓人痛苦的地方。

有時候想想,人作為一種生物還是挺有意思的。

快樂的東西快樂過了,也就忘了,記的牢的的反倒是些讓人不快樂的東西。

佛家總講成住壞空,軟體亦莫能外。

唯一有點特別的是,軟體「住」的階段短,「壞」的階段來的快。

要想軟體保持不「腐敗」,其實要花的精力遠比想的多,這導致在商業利益比較強勢的世界裡,大多時候有的只是「能用就行」的軟體,而不是「好」的軟體。

「能用就行」的軟體裡,大多時候到處都是垃圾**。

如果說超過100

行的方法

/函式讓人痛苦的話,那麼時有出現的超過

200行的方法

/函式就是讓人絕望了。

不改不行,改了不知道對錯,一旦錯了很可能被抱怨。這就是垃圾**帶來的痛苦。

軟體行業已經存在超過30

幾年了,現存的軟體很多。所以軟體開發人員遇上垃圾**的可能性絕對高於

50%。

開源的世界要好很多,只可惜很多時候開源和飯碗的關聯有點艱難。

很多日程是把程式設計師的工作時間作為變數的。

簡單來講就是,要完成的工作是不確定的,但日程是確定的。

這樣一來,軟體開發人員必須加班。

但關鍵是乙個人每天能寫的既定質量水平的**大概就那麼多,一旦逼急了,只能放水,少想多做,進而貢獻更多的垃圾**。

因此說,這類加班很莫名其妙:目的可能是節約成本,縮短工期,但實際上垃圾**一出,大多時候是適得其反。

可以10

人月做完的專案,只計畫投入

5個人月,最終投入了

15個人月的例子其實不少。

專案越複雜,越容易出現這種情況。

沒什麼比,費了很大力氣完成一項功能,結果收到的反饋是「這不是我們想要的」或「這個功能不需要了」更讓人洩氣了。

需求變化是正常的,迭代也是正常的,可無用功太多一定是不正常的。

但軟體這個行業中,這事似乎沒法根絕。

這也許根本就不是個技術問題,或者說不只是技術問題。

人有偏好,偏好在變化。世界有走勢,走勢在變化。這些都會傳導到軟體裡來,進而使無用功成為一種宿命。

在很多任務程領域裡,確定性的東西比較多。但軟體開發裡恰恰相反,確定性較少,選擇太多。

這也許是好事,但有的時候確實也讓人痛苦。

假設說,我們要從頭開發一款軟體,那麼至少要做這些選擇:

每次面臨這類問題時,都讓人感覺,世界很大,自己不過是乙隻小小鳥。

所以痛苦的選擇題就總在那裡,不管你愛或不愛。

軟體開發人員的「七重苦」(2)

理想流 + 軟體 = 《完美軟體開發:方法與邏輯》

理想流 + 人生 = ??

理想流 + 管理 = ??

理想流 = 以概念和邏輯推演本質,追求真理。

軟體開發人員的出路

已經從事了一段時間的.net開發,目前在公司裡乙個人負責乙個系統,什麼都得自己去做,只能逼著自己去學啦。分析能力自我感覺還不錯,想以後轉行到系統分析師,請問各位有經驗的大俠,1.由開發人員走哪條路會比較順利的轉到系統分析師?2.目前系統分析師在軟體行業需求怎麼樣?3.系統分析師一般需要具備哪方面的知...

軟體開發人員的能力模型

不知覺做軟體開發已經有6年了,回看自己的經歷,可以說是相當有成就感,6年中通過不斷的學習的實踐,從乙個菜鳥成長為一名軟體架構師,這個過程可以說充 滿樂趣。通過學習各種理論 技術 方法,並有在實踐中應用,觀察它們的效果,思考它們之間的關係,再把不同事物融合在一起,形成乙個完整的能力體系,以此 來挑戰更...

軟體開發人員的最佳實踐

首先文章中提出,軟體開發人員需要不斷的練習,什麼是練習,為什麼要練習,練習意味著什麼?文章中給出了很好的解讀。練習是一種習慣,練習是乙個過程,練習並不意味著記住,練習需要不斷的實踐,練習需要專心致志的付出。射擊運動員需要不斷的練習才能射中更多的分數,開車也需要不斷的練習才能成為driver,寫字需要...