Windows應用軟體工程師  資訊軟體/研發部 | 【小礦工】

年度工作目標
   黃色   軟體開發及維護(60%)
橘色   上報主管(40%)

軟體開發範圍很廣,底層的例如BIOS、作業系統等,上層的如一般使用者在家使用的套裝軟體、遊戲或者網頁等。工作內容大致包含:

  • 開發新軟體:開發軟體初期時,時間都花在研究可行性、訂定規格書、設計系統架構等,與同事溝通的、部門間的開會都會佔去不少工作時間,接著才是開發時間。
  • 完成客戶新增的需求:即便一開始規格都訂好了,產品也發表了,客戶需求依然會陸續的新增,有時甚至會影響到原本設計的系統架構,此時,即便新增的功能很簡單,但你可能會花不少時間修改系統架構。
  • 軟體維護與除蟲:當軟體開發完,通常會有測試人員負責測試是否有bug,當軟體開發到一個程度,都是會有bug的,複雜度越高,發生機率越大,這也是為何windows會常常更新的原因。對新手而言,軟體開發時間可能佔30%,除蟲時間可能就佔了70%,甚至更高。

寫程式,在於寫出讓電腦可以執行出你要的結果或者你想要解決的問題,所以問題分析和邏輯能力是很重要的,許多非資訊相關畢業的,但因為這方面能力是有的,所以即便從事一開始不熟悉的軟體開發工作,最終也是表現得非常好。相反的,若這方面能力沒有,即使是資訊工程相關科系畢業的,最終會因為這兩樣能力表現不佳,而退出軟體業。

職場

績效評核

軟體開發及維護(60%):除蟲、完成客戶需求、提升軟體穩定度。衡量標準為進度是否在排定工作時間內完成。

上報主管(40%):當完成一定的進度,或者甚麼主要功能完成,或者遇到甚麼問題,這些需要即時讓主管知道。一方面,可以讓主管隨時掌握最新狀況,若需要幫忙,他也能立刻幫忙協調。另一方面,也表現出對工作積極的態度,而不是被動的等待主管的指令。衡量標準為對工作的態度是否積極。

帶領新人(主任工程師以上):與新人的互動、新人的表現、是否有教導新人、是否有成長,這些將成為主管判斷你是否適合升遷為管理職的基本標準。一般不列入績效內,因為還不算管理職。

日常工時分佈
   黃色   除蟲與開發新功能(90%)
橘色   重構(10%)

工作內容

會和主管討論工作項目優先權,所以可能今天一整天都在除蟲,明天則可能幫客戶家新功能。除蟲與開發新功能的工時比重約達90%。

除蟲(debug):開發完應用程式後,即便通過測試部門完整測試,還是會陸續被通知到軟體哪邊有問題。有時是在Win8上沒問題,但在Win7上就有問題,也就是相容性問題。或者在IE上執行沒問題,但在Chrome上就有問題。

完成客戶要的新功能:在舊有的軟體上,繼續新增客戶要的額外功能。

開發新軟體:這通常機會不大,尤其是對新人來講,主要會著重在維護軟體部分。

重構(Refactory)(10%優先權最低):當以上工作都告一段落時,會檢討之前寫過的程式碼,可能重新設計架構、或者設計新的演算法,讓程式更容易維護,或者讓CPU使用率、記憶體使用率更低。一般公司不太注重這部分,只有資深工程師才知道其重要性。

崗位關係

上層:一個團隊通常會有一個經理帶領,再往上層則是部門經理。一個負責任、有擔當的主管,通常會幫下屬擋掉許多事情,例如開會、客戶問題等,尤其軟體工程師特別需要這樣的主管,因為軟體工程師專長在於解決軟體問題,而非人的問題。相對的,一個負責任、積極的軟體工程師,除了每周會議報告進度外,若有完成新的任務,或者有新的進度,也最好隨時讓主管知道,讓他可以即時掌握最新訊息。

平行:同事之間,常需要一起開發大的專案,開發期間內,有問題則是直接當面討論,若有職責不清楚的地方,會另外請示主管裁定。

下屬:若有新人進來,通常會由主任工程師負責帶領及指導,其他則是負責自己的工作,不包含任何管理責任。

客戶:一般是不希望工程師直接面對客戶,而是由PM或者主管去處理客戶問題,除非技術上的問題,客戶需要比較詳細的內容,PM才會請工程師回答。

任職要求

教育程度/經驗

  • 一般會要求專科或大學以上資訊工程相關科系畢業,研究所是非必要的,但起薪通常會比較高,若是台、清、交、成畢業的,起薪有機會再多三至五千。有三年以上的工作經驗,比較會被視為有能力獨立作業的,工作也會比較好找。

特別知識和技能

  • 底層:最好有唸過作業系統、資料結構和演算法,對於如何寫出高效能的程式,是非常有幫助的,程式語言最基本的要會C/C++。
  • 上層:網頁語言包含HTML、CSS、JavaScript等,桌面應用程式包含C++、C#、JAVA等,資料庫語言SQL。如何設計高效能的程式,這部分則是跟程式語言本身有很大關係,這可以從網路上得到別人的經驗分享。
  • 其他:想學程式語言,或者如何寫出好維護的軟體,或者學習一些除蟲的技巧,台北市的天瓏書局一定要常去,許多經典好書都有在賣。

工時薪水

職位簡單可分為: 新人會從助理工程師做起,工作能力表現佳的,會往工程師、資深工程師、主任工程師升遷,對管理職有興趣的,可升至經理帶領一個團隊。

薪資部分,大部分新人起薪可以從四萬左右起跳,年薪固定14個月,有些公司會另外有績效獎金、專案獎金。升到主任工程師時,月薪至少六、七萬。基本上,大公司月薪不會太高,但獎金發的多,所以年薪很容易破百萬。