2024.10.17(程式設計師的修煉之道)

xxc666發表於2024-10-19

好奇你傾向於問問題。這真不錯—你怎麼做到的?你對那個庫有意見嗎?總在聽人說起的量子計算到底是什麼?符號連結是怎麼實現的?你熱衷於收集各種細微的事實,堅信它們會影響自己多年後的決策。批判性的思考者你在沒有得到證實前很少接受既定的現實。當同事們說“因為就該這麼做”​,或者供應商承諾會解決所有的問題時,你會聞到挑戰的味道。現實主義你試圖理解所面臨的每個問題的本質。這種現實主義讓你對事情有多困難、需要用多長時間有一個很好的感知。一個過程應該很難,或是需要點時間才能完成,對這些的深刻理解,給了你堅持下去的毅力。多面手你努力熟悉各種技術和環境,並努力跟上新的進展。雖然目前的工作可能要求你在某個專門領域成為行家,但你總是能夠進入新的領域,迎接新的挑戰。
為了成為一名務實的程式設計師,我們要求你在做事的時候,思考一下自己正在做什麼。這不是對當前實踐做的一次性審計—而是對每天裡每一個專案所做的每一個決定進行的批判性評估。不要用自動輔助駕駛系統偷懶,而是要不斷地思考,即時地批判自己的工作。IBM公司的座右銘“思考!”​,實屬每個務實程式設計師的真言。
務實的個體,大型的團隊有些人認為在大型團隊或複雜的專案中沒有個性的空間。​“軟體是一門工程學科,​”他們說,​“如果團隊成員個體自行其是,軟體就會崩潰。​”我們強烈反對這種看法。誠然,軟體構造有工程的成分。然而,這並不妨礙個體的技藝。想想中世紀在歐洲建造的大教堂,每一座都需要數千人年的努力,時間跨度長達幾十年。從中吸取的經驗教訓被傳遞給下一代的建造者,最終一代代累積的造詣推動了結構工程的發展。而木匠、石匠、雕刻師和玻璃工人都是手工藝人—透過吃透工程要求,其創造所體現出的整體水準,已遠超建築中純機械的部分。正是他們對個人貢獻的信念支撐著這些專案:我們,採集的只是石頭,卻必須始終展望著未來的大教堂。

相關文章