首页
/
每日頭條
/
科技
/
軟件工程師修煉内功
軟件工程師修煉内功
更新时间:2024-09-09 16:17:46

文 | 悅納閣主

軟件工程師修煉内功(一個女性軟件工程師的溫故而知新)1

作為軟件工程師,我一直保持着學習新知識的習慣。一路上做項目學了不少東西,以前覺得自己懂的很多,涉獵很多領域,也曾一度對自己的快速學習能力引以為傲。然而,近幾年,突然覺得心虛得不行,因為有很多曾經學過用過的東西的遺忘速度比我想象中要快很多。哪怕是曾經做某個項目時,自己做的設計,自己寫的方案,甚至自己敲的代碼,而且還維護了不短時間,離職之後,換了業務跑道,現如今,腦子裡隻剩下一個大概輪廓,很多細節想不起來了。畢竟那也是耗費了自己大量心血做出來的,如今它們也許還在原公司或客戶現場發光發熱,但在自己内心隻留下情感上的深刻痕迹,想進一步細究,它們又感覺像被刻在了沙地上,經過歲月的輕拂,竟已經被其他沙礫覆蓋得若隐若現,心中難免失落和遺憾。

這段時間接手一個虛拟化項目,涉及雲計算和虛拟化相關内容。

有關雲計算的内容在十年前雲剛興起時我就研究過,甚至還自己搗鼓過openstack的程序。但要真的把虛拟化技術給人講清楚,還真做不到。為了防止自己這次又落個一知半解的狀态,我邊學邊用。在解決自己遇到的問題後,并沒有就此停下來,而是把在解決問題過程中每一個遇到的問題都認真記錄。對找到的解決方法也不再僅僅秉承拿來主義,而是把其解決方案認真學習,甚至根據自己的經驗進行優化,反複測試,總結出自己的思路和關鍵算法,輸出對應文檔。

要是以前,這個過程我會覺得反正問題已經解決了,浪費時間沒有必要。這個過程開始的時候的确很占用時間,但做着做着,好處就慢慢體現出來了。首先,很直接地解決了自己的遺忘問題,好記性不如爛筆頭,一旦想不起來,不用再花時間百度搜索過濾,直接在自己的知識庫裡就有答案。其次,自己遇到的問題,他人也會遇到,與其一遍一遍地給他人講解,不如把解決問題的方案直接給他們,更直接地解放了自己,大大節省了自己的時間,也實現了知識分享。最後,随着一個一個用來解決問題的特性方案文檔的生成,很容易在心裡就形成一個體系化的完整解決方案。

自打不再急功近利地為了完成任務造成貪多嚼不爛的狀态,發現做項目反而變得比以前輕松了。即便是碰到一下子解決不了的問題,心态也不會焦慮或崩潰,反而覺得這又是一次自我挑戰的過程。等問題解決了,再有意識地将這些碎片化的知識和自己已有知識體系結合起來,它們很容易就被再次加固,不僅解決了遺忘的問題,還發現以前一些是是而非的知識體系被細化和重新理解,同時也促進了對新知識的理解和消化。

将新知識融合在舊體系的過程,實際就是一次溫故而知新的過程。但前提是新的知識要細嚼慢咽,與舊知識的融合要充分。我認為存在這個過程的開發節奏其實才是良好的開發狀态。以前在高強度的開發節奏下,永遠追求的是開發進度,一看問題解決了,就不再細究,要麼後面出現問題,才發現前面有漏洞,要麼就這麼匆匆拿來一用,沒有在自己的知識體系中留下濃墨重彩的一筆,自然後面就無處覓其行蹤,有的甚至就和沒見過一般陌生。

開發也是要遵循規律的,一味地追求快,隻會落得欲速則不達的境地,bug不斷,不斷加班修複,也隻會更忙地制造bug。這種看似荒謬的惡性循環經常被吐槽,隻是身處其中的人往往忽略了,就如以前的我一樣。其實真正好的開發節奏,就是每天能有時間把自己用到的方法搞清楚,把新的解決方案吃透,做出更合理的優化,讓自己的知識體系更完善,寫出來的功能更經得住各種測試,這樣收益的不僅僅是個人,其實也惠及整個項目和公司。

借用C 之父Bjarne Stroustrup的話來結束本文:軟件行業太多的經理和管理人員試圖把編程變成低級别的流水線工作。從長遠看,這種做法效率低、浪費大、成本昂貴,而且不人性化。在軟件開發中,沒有放之四海而皆準的模型。需要給人們空間來發揮他們的才幹并鼓勵他們成長。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved