Software Engineer人工有幾多?軟件工程師入行要求及升職關鍵!

Software Engineer人工有幾多?軟件工程師入行要求及升職關鍵!
Jobsdb content teamupdated on 03 November, 2021
Share

不論是大公司還是start up ,金融業還是零售業,每間公司也需要軟件工程師(Software Engineer)。究竟他們是何方神聖?入行容易嗎?晉升的階梯又難行嗎?小編請來一位軟件工程師Shummy來跟大家分享,逐步了解軟件工程師的入門之路。他在5年前畢業於城市大學電腦科學系,現職零售公司軟件工程師。軟件工程師的工作原來分為三大基本類別,而寫Code不是日常,設計工作也少不了。入行要求除了必要的學歷,更重要的是融匯貫通軟件工程的概念。

 

Software Engineer 工作的三個基本類別

軟件工程需要為軟件進行研究、設計和開發,亦要編寫和測試編碼,運用編碼知識使軟件能正常運行。而當中的工作細分了:前端(Frontend)、後端(Backend)和全端(Full Stack )的軟件工程。Frontend的工作主要負責編製使用者看到的界面(user interface),需要考慮使用者的體驗,編製出一個順暢的介面;

Backend就負責後台工作,即是使用者看不到的地方,透過編寫指令去讓伺服器作出回應,除了要coding還要建設軟件的資料庫,需要具備批判性思考和懂得分析;而Full Stack 就是由0至100由你負責,綜合了Frontend和Backend的工作。

Shummy算是公司的全端軟件工程師,但他笑說自己其實不是想像中全能:「只是因為我在細公司工作,所以要一腳踢,就稱為Full Stack,有些公司甚至不會分前端後端,統一叫做Programmer。特別是在香港,IT的發展相比起外國仍是比較緩慢,所以Software Engineer和Programmer的工作內容相若,只是不同公司有不同叫法,行內人都知道大家是coder。若真的要說出兩者的分別,就是Software Engineer要兼顧軟件的前期設計和開發,Programmer就較專注寫code。」

入行前的兩個準備

1. 基本學歷要求

Shummy分享在香港想入行的話,學歷有一定的要求:「最好修讀有關電腦科學、電腦工程或資訊系統的學位課程或高級文憑。香港與外國很不同,外國有很多start-up,Software Engineer供不應求,所以即使你只參加過bootcamp,入行也不難,但在香港就行不通。」白紙一張怕無人請,求職期間就要自學:「剛剛畢業是沒有工作經驗,但你也可以透過自學寫code來豐富自己的CV,學多幾個程式語言和了解IT的最新動態。Youtube有很多寫code的教學片,你也可以上Udemy或Coursera,參加不同的學習課程,積極備戰。」

 2. 軟件工程概念的融匯貫通

在求職廣告中,公司會在工作要求中列出一連串的程式語言(programme language),是否代表學懂愈多語言就愈容易獲聘?Shummy就搖頭說不:「即使你只懂得一兩個語言也不是太大問題。很多language也是大同小異,只是寫法不一樣,你能理解背後的概念才是最重要。最常用的concept例如是OOP和MVC。OOP(Object-oriented programming)是指將程式內的東西變成以物件的方式去呈現;而MVC(Model View Controller)是一個design pattern,將應用程式分成Model、View、Controller三層,透過MVC可令你編寫的程式看起來更清晰。當然見工時你要有更詳細的解說。」在面試時清楚表達你對編碼概念的理解,才能顯示你的實力。

▪ 工程系有咩出路?3名畢業生踩界金融、設計、寫Code更滿足

▪ 免費考車牌、讀大學、學寫code?各大網上平台助你自我增值或轉型

工作日常:寫code不是全部

 Shummy分享他每日的工作有三分一時間也要開會:「一個Project的開始,首先你要知道公司的要求。例如公司希望在網站上加一個購物的功能,它期望界面的feature有什麼?若果要記錄使用者的購買行為,背後的database如何處理?每個細節也要傾清楚。」開完會就可各自開工,除了編寫,還要debug、retest:「不停debug再試,直至軟件能正常運作。寫code也不是盲目背書,要考慮當中的testability、readability和安全性問題,還有code review,以提高編碼的質素。」Shummy笑說很多時公司或客人都不太理會你的code寫成怎樣,他們着重成果,最緊要成品能正常運作。

In-House VS Vendor 輕輕鬆鬆還是搏殺?

 In House是指在公司內部的IT部門,Vendor就是一間專責為其他公司提供IT solution的公司,Shummy坦言在in house工作比起在vendor輕鬆:「做In house要用到的技術不會太大突破,而且好多時code base較舊,IT只是公司的一個小小部門,壓力不太大。做Vendor超辛苦的!但好多人都說後生仔要去Vendor搏殺幾年,因為在Vendor工作會用到較多知識,你要以不同技術處理不同客人的project。但同時客人亦會要求多多,好聽就當成學習機會,實情是日日要OT。」但他也承認吃得苦自然有回報,在vendor轉出來,叫價也可叫高一點,因為行內人知你有豐富實戰經驗。

不論是In house還是Vendor,因為社會對IT人才的需求愈來愈大,業內人士流動性高,轉工時即使職級不變,人工也會增加。Shummy同意IT入行比其他行業的起薪點高:「初入行的起薪點大約1.8萬至2萬,當你儲夠四至五年經驗,就可試升資深軟件工程師,人工有三至五萬,而能升到上Project Manager也有六七萬。」

▪ 熱血手機App開發員:「起步時,我對寫code完全零好感。」

▪ 前景可觀!資訊安全工程師IT Security Engineer工作做啲咩?入行必備咩條件?

兩大升職關鍵

1.知識的增長

不要以為有足夠的年資就可上位,入行時要自學,即使做了十幾年,想升職也要不停進修:「十年前你要在公司放一大個server;現在個個也用Cloud Computing了。IT行業比其他行業的資訊來得快走得快,你不可能做六七年也只是懂得寫一兩種code,可能你今日學了新的技能,過幾日這個技能就已過時,但其他行業較少出現這個情況。」除了coding,知識的領域也要夠深和夠廣:「最好要對System Analysis和Cloud Infrastructure等的其他範疇有一定認識,現在不少人也會修讀AWS(Amazon Web Services) ,擁有與雲端相關的學識絕對會加分。」

2.擁有各種軟實力

擁有紮實的知識,Shummy認為更要有軟實力才可幫助你成為管理層:「你要有良好的溝通技巧,一個Project不只是由你一人負責,好多時寫code前你要寫design document,要花時間與不同人討論設計問題,溝通很重要。在in-house工作,你要與User同事溝通;而做vendor就要不停與BA周旋。當有一定的年資,就可以嘗試帶領新人,在一個project中擔當領導的角色,分配工作,訓練他人同時訓練自己的領導才能,為將來成為Project Manager鋪路。」

IT行業在世界各地的發展也愈來愈蓬勃,可算是現今的另一類鐵飯碗,對軟件工程師有進一步的了解後,不知道你會否有興趣入行分一杯羹呢?

 圖片來源:Freepick.com

 

此文章由原作者及Jobsdb HK撰寫/編輯。如欲刊登於其他網站或刊物,請電郵至[email protected]與我們聯絡。如有發現侵犯版權,原作者及Jobsdb保留採取法律行動的權利。

More from this category: Industry stories

Top search terms

Want to know what people are searching for on Jobsdb? Explore our top search terms to stay across industry trends.

Subscribe to Career Advice

Get expert career advice delivered to your inbox.
You can cancel emails at any time. By clicking ‘subscribe’ you agree to Jobsdb’s Privacy Statement.