close

不知道大家對軟體工程師的想像是什麼?



 

可能有些人會想到,宅男XDD 痾.....雖然同事們都滿宅的沒錯,但我是宅女綜合魚乾女XDD (掩面)
很多人常會想像軟體工程師就是,在電腦前做一些什麼,然
後進階一點可能會覺得就是在寫程式,偶爾聽到他們說什麼Debug, 這也是我在成為工程師前,對工程師工作日常的想像。

實際上,其實軟體工程師也分很多種,例如Web類還有分前端後端全端,手機類,還有像桌上型程式,其他也有像測試工程師,遊戲工程師,網路安全工程師,架構工程師,每一種工程師都不見得知道其他種的日常,甚至不同公司,不同產業使用不同的開發模式,像waterfall, agile, 有沒有CI/CD,DevOps,雲端,版控都差很多……

至於我到底在幹嘛……目前正式邁入工作的第二年,相較於第一年的菜鳥訓練生生活真的差很多,大概就是漸漸步入軌道,越來越接近一般工程師的生活。

由於我們team是走De
vOps, CI/CD,Agile敏捷開發,基本上每天早上都要開會scrum,每個星期一有weekly planning, 要plan task。敏捷開發是在大部分軟體開發的主流,以前都是走瀑布式waterful, 就是由設計師設計好軟體架構,由工程師開發,開發完後送去測試團隊測試,但問題是,如果今天發現設計上有瑕疵,那一切都要重來,而且可能因為一開始的溝通問題,做出的東西完全不符合客人期望。

所以在敏捷開發理面,就把所有流程縮短,變成以一個 Iteration 來結束一個任務。所以每個禮拜一我們的weekly planning 就是來規劃任務,把任務都變成很小很小的子任務,這樣大家可以快速做完,快速測試,快速給Product Owner 檢驗(在敏捷開發理面移除了 專案經理 Project Manager這個腳色,用PO和Scrum Master取代)

那開會在幹嘛呢?就是要報告自己昨天做了什麼
?任何瓶頸?今天要做什麼? 這樣有問題可以馬上和team討論,team member 也才會知道你在幹嘛。每個禮拜一除了會run一次scrum 還會把一些任何做plan, 就是討論這個任務在做啥,怎樣task break down, 這個很重要,因為task 的size也很重要,要分幾個sub task, 要做什麼,誰要做,有任何問題? 需要再跟設計師討論? 當然因為DevOps, 我們所有meeting 設計師跟測試還有PM都會在,更方便討論。

其他時候我們
就自己認領task去做,做完丟給team leader review, code review 完才去測試工程師那, 然後才deploy, 所有流程都在Jira Kanban 版上,所有做了多少時間都要log work, 供PM看Team Leader 掌握進度。我目前是fullstack 全端,所以前後端都要學, 而學習主要還是自學。和其他工作很不一樣的是,工程師大多要自學,自己找資源,看影片,看文件,所以比較痛苦的大概是英文閱讀,另外是溝通,因為要一直開會,一直討論,還有要跟設計師,測試討論,這大概是因為DevOps, 所以更會這樣。

這一年來我英文閱讀跟口說進步神速,而真
正coding 反而沒那麼多,更多是在做AWS, 寫script, 雖然寫script 人家也會說寫程式,可是現在更像是了解computer science, 要知道很多系統,很多規格,很多Design Pattern 的東西,而前端框架也是,更多是怎樣設計,演算法別人都包好了,後端也是框架都包好了,一來不容易出錯,二來容易測試,反而跟以前所想像的工程師工作或在學校學的差很多。在工作上更重要的是Software Engineering, 怎樣寫出clean, high availability, testable, readable 的code比你想出很聰明的方法更重要。有時很efficient 的function, 可能很難測試,可能有漏洞,可能很難相容。

不知道大家會不會覺得工程師的日常怎麼樣呢?


至於工作環境,英國和台灣一樣,女生工程師很少,所以大部份的同事男生,大家可能會幻想那,英國的男生對女生都很紳士什麼的。(在台灣聽說有些公司對女生特別好,不知道是否只是傳說)

在我公司一點也不會,反而會覺得男生工程
師都講話更Aggresive, 尤其工程師都是一堆阿宅,強調男女平權,我們有育嬰假他們也要有,我們有生理假他們也要有(不知道他們在吵啥)

可能是因為在英國,當他們覺得就是這樣,就很難改變他們意見,有時候他們講話也沒在客氣,質疑你的想法,批判你的想法都很直接,甚至常常會覺得他們很自以為是。但也因為這樣,有時候一群男性工程師更容易做出太果斷的決定,通常他們就只有Yes 或No居多,所以工作環境的diversity 也很重要。不然一個團隊就很容易變成,做錯一個環節大家都一起錯下去,要改變大家也死不肯改變,因為大家都覺得我們才是對的XDDD  有時候我們公司的設計師在跟我們Team的工程師說話,幾乎都被壓得死死的,他們都是一副,你就是不懂coding 不知道你在講啥.......

當然另外,普遍男工程師也比女工程師更有自信
(網路上有研究數據),可能是環境的關係,所以就更容易做出偏頗的決定,而且因為團隊中可能只有一個工程師是女生,有時也很難真的有diversity 的效果……而且當團隊80%都持意見A時,往往就不會考慮到剩下的20%,即使那可能是軟體開發很重要的一環。

可能也是因為我英文不夠好又是外國人,又是團隊中唯一的女工程師,就也常常不知道何時可以發表意見或害怕講話,怕講錯話,而且英文也很難完整表達,這大概也是未來需要努力的部份吧~(當然這是只有在你在國外的時候才需要的技能,在台灣的話就沒有這個煩惱了!!! 害我有時候都想乾脆回台灣算了QWQ)

另外就是看文件的速度還有思考邏輯(這個其實也攸關到英語程度,尤其看文件,他們看得飛快,還有語言邏輯問題)。每次
我如果描述一個問題,我主管都會說,這不是工程師用語,你要用工程師的用語,像defect, tech debt, 或者不能說I don't know, 當你不知道的時候就要馬上找到原因,而不是問人,你即使問人也要說你覺得可能的問題或原因!

不過我也常常覺得,自己現在可以在英國當軟體工程師是一件很神奇的事情,畢竟我原本是個文科生,歷史系兼國企系,完全不會寫程式,在台灣也沒有程式設計相關的經驗,就這樣去台大資訊系統訓練班上一上課,然後飛來英國Durham念了一年碩士MSC Internet System and E-business => CS 碩士 就上工,其實想一想自己已經很努力了(茶)!雖然說這可能只是為自己找的藉口,因為職場新鮮人真的很菜很辛苦啊! 在哪個國家都一樣的感覺!!!

之前在台灣的貨運承攬業當職場新鮮人當了一年,現在又在英國當了一年職場新鮮人,我覺得最大的不同大概是,做海運進出口大概三個月你可以摸會大部分,大概半年你可以熟透大部分,大概一年你幾乎已經很行了!(其實我當時三個月就帶新人了)  但是軟體工程師做了一年多,還是「什麼都不會!」常常就覺得,自己好沒用喔!為什麼做不出來,明明看起來簡單的東西,明明只是寫個單元測試Unit Test,為什麼就是寫不出來,有想法,知道自己想要怎麼測,但就是寫不出來啊!!!!!!怎麼會這樣!!!! 或者是,知道有Bug,想到要怎麼解,但就是寫不出來啊!!

尤其Web Developer, 有太多東西要學,前端、後端。而我又是FullStack, 前端要學Angular 後端要學AWS, 還有資訊安全的東西 Identity Server, 整個大混亂,常常還是像無頭蒼蠅一樣,網路上的影片亂看,文件亂看,什麼都亂學一點......真的是,當工程師好難啊!!!! 

至於職場生存,我覺得在英國最大的不同,大概就是態度,他們很重視你自己學習的能力與態度,相較於台灣,即使在外商,他們還是比較喜歡,分配事情給你,讓你按照上層指示做事情,或者按照客人的意願。而英國的話,並不會一味的要員工都按照顧客要求,如果顧客有無理的要求,或顧客是錯的,必須要讓他們知道,因為我們是專業的。就像在台灣,病人叫醫生開藥醫生通常就會開,即使吃了可能也只是心理作用,或者是去美容院,明明人家美髮師知道你就不適合這個髮型,你還硬要做,但大部分的客人都是會生氣,所以店家還是按照客人意願。可是實際上那樣真的好嗎?在英國,他們會覺得,我們應該要幫助客人做出正確的決定,而不是一味的按照客人的想法去做。大概就是這些比較不一樣,還有不太需要加班吧XDDDD

有興趣來英國工作的人,可以考慮英國打工度假簽,但一年只有1000個名額,或者是留學,用學生簽證轉工作簽證。詳情可以觀看我其它篇文章~


有關我目前的工作跟生活,可以到我的FB粉絲頁>>小吃貨的英國生活日記♥

arrow
arrow

    小吃貨 發表在 痞客邦 留言(0) 人氣()