工作甘苦談文章

熱門社群 升學媒體人秘書HR百貨行銷醫護觀光餐旅
職務大辭典 » 職務中類表 » 系統規劃 » 系統工程師 » 翻桌吧!系統工程師!
職務說明:
薪資平均範圍:
薪資職能報告
工作年資 1年以下 1~3年 3~5年 5~7年 7年以上
平均薪資 年資1年以下 : $36,790 年資1~3年 : $41,110 年資3~5年 : $44,132 年資5~7年 : $47,197 年資7年以上 : $48,669
  1. 安裝,配置並更新公司各種產品
  2. 負責客戶系統的測試和驗收
  3. 編寫竣工文檔
  4. 收集客戶問題,提供售後服務,並負責客戶培訓
  5. 負責為客戶安裝調整測試公司的產品
  6. IT日常維護
  7. 系統集成工程師平均月薪為人民幣3,212元
主題:

翻桌吧!系統工程師!



當我使用了系統工程師這個詞彙的時候,其實我腦子想的第一件事是他馬的到底什麼是系統工程師。

因為系統工程師在中文領域實在是個很模糊的詞彙,所以變成不管什麼領域都可以被稱作系統工程師,然後就造成一大堆的雞同鴨講。為了避免一堆雞同鴨講,我先將系統工程師做一個名詞的定義。我所謂的系統工程師是專精於如下所述的系統軟體:

System software (systems software) is computer software designed to operate and control the computer hardware and to provide a platform for running application software. (from wikipedia: system software)

事實上,這個定義還是很廣大的,因此你會看到這個條目下面還是徒勞無功地想要限縮 System Software 的範圍。不過因為這個領域本來就很寬廣,所以實際上,往這個領域發展的人,發展得好與不好,差別可以天差地遠。

發展得好的話,甚至可以去接觸到最先進前端的系統;發展的不好的話,也勉強可以餬口啦。

那麼,身為一個不夠格的系統工程師,為什麼我會這麼火大想要翻桌?因為我在職場上遇到更多比我還不夠格的系統工程師。如果:

你遇到一個自稱為 arm linux 的系統工程師,結果連 hrtimer/Jiffies 都搞不清怎麼用、怎麼算出來的...

你遇到一個自稱為 arm linux 的系統工程師,結果根本連 ARM spec 都沒看過,每次分析評估都讓人覺得在觀落陰的...

我覺得只想翻桌還算是脾氣好一點的。回到正題。

系統工程師的基本能力

系統工程師因為基本上大多數工作內容都在處理某一個平台上軟體(特別是OS/driver)跟硬體的溝通,那對於硬體規格、特性、差異雖說不用到專精,但是至少要有概括性的認識。

但是從我個工作經驗來看,其實這一點國內外公司都做得不是很好。尤其在中低階平台,為了縮減研發成本硬體設計跟軟體通常是 leverage 的,結果負責的系統工程師修改調整的時候沒掌握好,所有會使用到這些變更差異的只要漏掉一個地方沒修改到,都有可能造成整體性的系統不穩定。之前負責中階的案子的時候,根本是一直在幫 vendor 抓蟲...

系統工程師進行一項基本功能的變更或新增的時候,一定要進行系統性的分析跟除錯,所以邏輯分析能力、作業系統運作的觀念都要有一定程度。

好的系統工程師其實是能夠在系統變更的早期就提示出來所有的風險跟影響的。例如說我之前被塞了一個 NOC 相關的 duty ,結果我大概一邊做其他的工作,一邊花了約兩個月把這整個 driver 大部分搞懂(當然因為資源暫時缺乏,所以我到最近才有辦法做比較詳細的測試)。為什麼我要搞懂這個?因為我們嚴重懷疑 vendor 這邊相關的東西都沒有好好去調整,所以其實有些穩定性的問題。尤其是 vendor 看起來其實經常在改上面的 master/slave ,但是似乎沒有人力來調整這邊的演算法以讓系統更為穩定跟有效率。而事實上,我們的確也看到問題了啦,只是還在想要怎麼去 tune 而已。

而 tune 這個的確是有風險,上面掛了很多 master/slave/subsystem ,調整不好對於整體系統的穩定性、效率、耗電量可能會有影響。但是就是因為有風險,才值得去挑戰。而且我相信該 vendor 就是欠缺這方面的人,萬一弄得好的話,搞不好也可以跳個槽什麼的。

系統工程師對於不懂的名詞要有自己找到其完整定義或至少有勇氣去大概 trace 一下相關程式碼的好奇心。如果這些都做不到,最低限度也要知道你的朋友、同事中誰可以問到這個相關的東西,去找他幫忙。

為什麼這樣說?我前面提到的 hrtimer 就是一個好例子。 hrtimer 全名是 high resolution timers ,在比較新的 linux kernel 都轉用這個 hrtimer 來當作系統的 timer。結果有一次系統 scheduler 發生異常,我們部門判斷應該是 scheduler 最近一些 vendor 的變更造成的,所以正在幫忙追查這邊(最後也證明是這邊 vendor 沒改好,存放 tasks 的 RB tree 在 insert 了一個 node 居然沒有去做 rotation, 造成 scheduler 的下一個 task 要很久以後才會執行);但是這個時候就有白目能力不夠的工程師說,system timer 是從 RTC 來的。

只可惜,我不能把這句話當作笑話,然後還要花很多時間解釋 hrtimer 跟 RTC 不同。別的不說,在系統有 hrtimer 的情況下,幹嘛要用 low resolution timer 去當作系統的 timer ?



轉載自:9way's Blog
翻桌吧!系統工程師!
職務類別:系統工程師   職稱:系統工程師   相關職缺:網路相關  系統工程師


當我使用了系統工程師這個詞彙的時候,其實我腦子想的第一件事是他馬的到底什麼是系統工程師。

因為系統工程師在中文領域實在是個很模糊的詞彙,所以變成不管什麼領域都可以被稱作系統工程師,然後就造成一大堆的雞同鴨講。為了避免一堆雞同鴨講,我先將系統工程師做一個名詞的定義。我所謂的系統工程師是專精於如下所述的系統軟體:

System software (systems software) is computer software designed to operate and control the computer hardware and to provide a platform for running application software. (from wikipedia: system software)

事實上,這個定義還是很廣大的,因此你會看到這個條目下面還是徒勞無功地想要限縮 System Software 的範圍。不過因為這個領域本來就很寬廣,所以實際上,往這個領域發展的人,發展得好與不好,差別可以天差地遠。

發展得好的話,甚至可以去接觸到最先進前端的系統;發展的不好的話,也勉強可以餬口啦。

那麼,身為一個不夠格的系統工程師,為什麼我會這麼火大想要翻桌?因為我在職場上遇到更多比我還不夠格的系統工程師。如果:

你遇到一個自稱為 arm linux 的系統工程師,結果連 hrtimer/Jiffies 都搞不清怎麼用、怎麼算出來的...

你遇到一個自稱為 arm linux 的系統工程師,結果根本連 ARM spec 都沒看過,每次分析評估都讓人覺得在觀落陰的...

我覺得只想翻桌還算是脾氣好一點的。回到正題。

系統工程師的基本能力

系統工程師因為基本上大多數工作內容都在處理某一個平台上軟體(特別是OS/driver)跟硬體的溝通,那對於硬體規格、特性、差異雖說不用到專精,但是至少要有概括性的認識。

但是從我個工作經驗來看,其實這一點國內外公司都做得不是很好。尤其在中低階平台,為了縮減研發成本硬體設計跟軟體通常是 leverage 的,結果負責的系統工程師修改調整的時候沒掌握好,所有會使用到這些變更差異的只要漏掉一個地方沒修改到,都有可能造成整體性的系統不穩定。之前負責中階的案子的時候,根本是一直在幫 vendor 抓蟲...

系統工程師進行一項基本功能的變更或新增的時候,一定要進行系統性的分析跟除錯,所以邏輯分析能力、作業系統運作的觀念都要有一定程度。

好的系統工程師其實是能夠在系統變更的早期就提示出來所有的風險跟影響的。例如說我之前被塞了一個 NOC 相關的 duty ,結果我大概一邊做其他的工作,一邊花了約兩個月把這整個 driver 大部分搞懂(當然因為資源暫時缺乏,所以我到最近才有辦法做比較詳細的測試)。為什麼我要搞懂這個?因為我們嚴重懷疑 vendor 這邊相關的東西都沒有好好去調整,所以其實有些穩定性的問題。尤其是 vendor 看起來其實經常在改上面的 master/slave ,但是似乎沒有人力來調整這邊的演算法以讓系統更為穩定跟有效率。而事實上,我們的確也看到問題了啦,只是還在想要怎麼去 tune 而已。

而 tune 這個的確是有風險,上面掛了很多 master/slave/subsystem ,調整不好對於整體系統的穩定性、效率、耗電量可能會有影響。但是就是因為有風險,才值得去挑戰。而且我相信該 vendor 就是欠缺這方面的人,萬一弄得好的話,搞不好也可以跳個槽什麼的。

系統工程師對於不懂的名詞要有自己找到其完整定義或至少有勇氣去大概 trace 一下相關程式碼的好奇心。如果這些都做不到,最低限度也要知道你的朋友、同事中誰可以問到這個相關的東西,去找他幫忙。

為什麼這樣說?我前面提到的 hrtimer 就是一個好例子。 hrtimer 全名是 high resolution timers ,在比較新的 linux kernel 都轉用這個 hrtimer 來當作系統的 timer。結果有一次系統 scheduler 發生異常,我們部門判斷應該是 scheduler 最近一些 vendor 的變更造成的,所以正在幫忙追查這邊(最後也證明是這邊 vendor 沒改好,存放 tasks 的 RB tree 在 insert 了一個 node 居然沒有去做 rotation, 造成 scheduler 的下一個 task 要很久以後才會執行);但是這個時候就有白目能力不夠的工程師說,system timer 是從 RTC 來的。

只可惜,我不能把這句話當作笑話,然後還要花很多時間解釋 hrtimer 跟 RTC 不同。別的不說,在系統有 hrtimer 的情況下,幹嘛要用 low resolution timer 去當作系統的 timer ?



轉載自:9way's Blog
相關甘苦談連結