2021-12-20|閱讀時間 ‧ 約 3 分鐘

軟體工程師的素養

如果有在接觸軟體開發產業,很常見的一個說法是非本科(資訊、工程背景)的工程師底子差,做出來的東西很糟糕之類的。然而,事實真的是這樣嗎?又或者說,我們能夠如何解決這樣的問題?

矛盾的心理

實際上,我很多時候也會這樣覺得。在工作的時候很常會想著「這麼簡單都不懂嗎?」或「這不應該是基本的常識嗎?」然後對剛加入公司的同事不耐煩,大多數時候冷靜下來就會變成「也許該教一下?」這樣的狀況。
我自己也是非相關背景的工程師,雖然因為興趣的關係所以不能分類在轉職,然而以我自己的學習經驗來看,會有這樣的感覺是因為對方跟我期待的工作能力不足造成的,而不是因為對方不是沒有相關背景。
對於這樣的狀況,在這幾年經驗中歸納後認為是一種「素養」問題,也就是對軟體、科技的概念不熟悉,進而造成沒辦法想像該如何去解決或處理這樣的問題。

科技的素養

這就有點像是現在大多數的人都以使用智慧型手機為主,如果要使用電腦的話反而會不知道該如何操作,在這樣的前提下要對方先理解電腦是什麼、如何操作、裡面的軟體會怎樣運作,才能夠讓對方順利使用並且進一步能夠設計上面運行的軟體。
基於這樣的假設,現在我在跟人解釋一項技術的時候,都會先以歷史(發展)、關鍵的技術轉變到現在使用的應用來做一個脈絡的鋪成,目的是要協助對方建構一個思考的概念,像是為什麼現在大家都在用 Web(網頁)技術開發軟體,中間經過了怎樣的技術改革,透過這樣的方式來協助對方更容易的去推導一項技術該如何使用。
其實,大多數非本科、轉職的工程師,為了能夠快速的學會工作上的技能,在課程的設計上就會以實作為主搭配非常入門的觀念。然而不論在哪種行業裡面,都需要具備足夠的知識(經驗)才能夠在遇到不同的情況下,根據經驗判斷該如何調整或者規劃。

被遺忘的細節

正因為這些理論、脈絡在我們學習軟體開發的過程中被忽略,同時又不斷的學習新技術,進而一點一點的讓這個缺口變大,最後就逐漸變成一個瓶頸。這也是在軟體工程師很常會討論的一個議題,理論還是實作優先,以資訊相關背景的人來說,在學校就是靠著先理解理論再學習實作,因此剛開始工作時可能實作上不太熟練,技術問題也沒有困難到需要理論支持。
然而在許多特定的情況或者遇到要要設計系統、改善的時候,這些理論知識就會有其發會效用的地方。當然,在更資深的情況,更多的是學校學不到需要在工作上不斷累積的知識,也因此一直以來都不是實作或者理論的問題,而是在工作中是否有不斷的平衡知識跟技巧,而「素養」就是累積和應用知識的一種基礎能力。
這也是為什麼我在 2020 年開始嘗試舉辦開發者對話這個活動,在一次參與活動的經驗跟我的教練互動後,發現大多數時候工作是缺乏這樣的機會,需要靠自己累積知識才足夠,甚至能夠爭取到更好的機會。

封面照片使用 UnsplashAnnie Spratt 的作品,如果有想聽的主題可以透過匿名提問告訴我。
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.