很多程序員通常都認為自己的工作就是編寫相關代碼, 其實這種想法是不太正確的,程序員的工作除了寫代碼之外還有很多其他事情要做的,需求分析,設計等等,而寫代碼只是其中的一部分而已.
程序員的工作內容,其實就是幫助客戶去實現無紙化,或者是幫助客戶講日常的工作進行軟件化,這樣他們會在工作效率上面有一個很大的提升.
雖然說程序員往往在解決問題的時候也會涉及到一些編碼方面的工作,但這也是很小的一部分,更多時候還是在做一些設計.
在整個項目的構思和構建過程中,如何進行迭代是很重要的,他讓我們更加深入理解和怎樣完善產品,基本上軟件不會一次就設計成功,往往需要反復的設計,編碼,測試,重新設計,編碼,測試,迭代的過程主要用的是驗證功能,而非寫代碼,因為寫代碼的成本實在是太大了.
還有一個重點就是能用于測試、評估和篩選的系統也是不可少的,要是沒有的話,團隊的開發人員只會有自己的一套標準,這樣就完全統一不起來,還會各自將所有的精力投入到自己認為可行的方法上去,當發現有問題時就晚了,需要付出很多時間才能夠去做修改.
而上述的這些雖說和寫代碼沒太多的連貫,但想要做出一個成功的產品這些絕對是不可缺少的部分,實事上,很多開發人員還是關心是否能找到一個在內存中搜索二叉樹的最佳時間復雜度的解決方案.
可是我認為這并不是很重要,以我常年的經驗來說,我個人是不去借鑒類似于這些書籍里的內容的.
當然,我也從不否認算法和數據結構的重要性,我想說的是,是否有很多人用這個軟件還才最重要的,如果沒人用你覺得再好也是無用的,要有團結合作精神,還要很好的學習解決問題的技巧和構建迭代模型這才是重要的,至于代碼那真的是很小的一部分,所以作為一個優秀的開發人員,當然不僅是只有寫代碼了.