程式設計者多少都會有一點優越感的主觀意識,包括我以前也有這個毛病,就是自己撰寫的程式、規劃的架構才是最好的,只是,什麼叫做好的?它只有在你這裡使用可能是好的,但不見適用所有地方,如果換個作業環境、換個網路環境、換個OS、換個團隊、公司來做,你覺得它還是適用的嗎?這時候不見得了!軟體開發技術本身本來就沒有好與不好之分,它只是一種工具,好比剪刀 與 菜刀,你會說,剪刀比菜刀好?還是菜刀比剪刀好嗎?一定不會,因為不會有人拿剪刀來切菜,也不會有人拿菜刀來切開可樂果吧!這些都只是個工具,每一種工具有它適用的性質,這只是端看什麼情況該用什麼工具來使用比較適合而已,沒有好壞之分
前言
常有人說,IT 不是人幹的,寫程式不是人幹的!任何賺錢的事情,本來就沒有輕鬆的,從我出社會以來,我就相信,天下絕對沒有白吃的午餐,絕對沒有。錢多事少離家近,這只是理想,事實上,我工作,寫程式做專案已經整整 15個年頭,不過當然,年資長不等於經驗豐富,這也要看你做過多少專案,每一個專案裡參與的角色是什麼?哪一些專案你從頭到尾都有參與,完整做完的,這些才是有價值的經驗。
別人的設計都不好嗎?
程式設計者多少都會有一點優越感的主觀意識,包括我以前也有這個毛病,就是自己撰寫的程式、規劃的架構才是最好的,只是,什麼叫做好的?它只有在你這裡使用可能是好的,但不見適用所有地方,如果換個作業環境、換個網路環境、換個OS、換個團隊、公司來做,你覺得它還是適用的嗎?這時候不見得了!軟體開發技術本身本來就沒有好與不好之分,它只是一種工具,好比剪刀 與 菜刀,你會說,剪刀比菜刀好?還是菜刀比剪刀好嗎?一定不會,因為不會有人拿剪刀來切菜,也不會有人拿菜刀來切開可樂果吧!這些都只是個工具,每一種工具有它適用的性質,這只是端看什麼情況該用什麼工具來使用比較適合而已,沒有好壞之分。
我以前,也曾經犯相同的錯誤,但從我開始寫文章接觸點部落以及其他的社群之後,我發現,其實學越多不懂得越多,網路上有各式各樣專精於不同領域的專家,你根本不可能學的完所有的東西。
技術沒好壞之分,同樣的遭遇到問題的解決方法 (Solution) 也沒有好壞之分,只有適用不適用、有沒有對症下藥而已,這端看你要解決的是什麼問題,所以了解問題的本質相形更加重要,這可參考筆者另一篇文章 Troubleshooting 的藝術。
所以我們不能只是看表面就認定別人寫的程式、做的架構一定不好,這還要看它當時專案的情況,環境、團隊、公司、甚至政治因素也都有可能影響專案的進行方式,優秀的開發者,反而不會認為別人的作法都一定是錯的,如果對方也是有經驗的開發者,我想,它一定是遇到什麼問題,才會讓它這樣做。
學習,不是只有自己關起門來學習,還要學習別人的優點
回到剛剛,難道別人做的都是錯的,不見得,我們要知道,世界這麼大,天外有天,人外有人。在這個知識爆炸的時代,尤其 IT 技術進步日以千里的前進,一個人學習的速度絕對是不夠快的,在這個時代,如果你還關起門來,只是欣賞著自己的架構、程式碼,總覺得自己做的才是最好的,那麼我敢跟你說,你的學習絕對會永遠落後其他人,因為除了技術在變化外、知識也可能在變化、人也在變化,大家都會進步,今天你這樣想,解決一樣的問題,明天可能有另一個創新的觀念,推翻你現在的想法。有時,透過參與社群舉辦的活動、上課、FB 社團 等,彼此交換開發的心得、經驗,絕對會比你自己學習來的更快。
孔子云:三人行,必有我師。
這到今天其實一直都適用的。
簽名:
學習是一趟奇妙的旅程
這當中,有辛苦、有心酸、也有成果。有時也會有瓶頸。要能夠繼續勇往直前就必須保有一顆最熱誠的心。
軟體開發之路(FB 社團):https://www.facebook.com/groups/361804473860062/
Gelis 程式設計訓練營(粉絲團):https://www.facebook.com/gelis.dev.learning/
如果文章對您有用,幫我點一下讚,或是點一下『我要推薦』,這會讓我更有動力的為各位讀者撰寫下一篇文章。
非常謝謝各位的支持與愛護,小弟在此位各位說聲謝謝!!! ^_^