三種工程師——Coder, Hacker and Architect

雖然在中文裡,大家都叫做工程師,但其實根據工程師喜歡做的事情、心中對於程式的想法,可以分成幾種類別的人。這邊簡單的以我的認知,把寫程式的工程師分成三類:寫程式的人、有目標而寫程式的人,以及熱愛程式本身的人。

本文作者 St. Threath,以網路領域為自己的志業,同時喜歡科技和人文這兩個極端,夢想是到矽谷的偉大航道創業。目前和創業夥伴一同開發和經營美食 app「愛食記」。原文刊於作者部落格《St. Threath》〈 三種工程師 --- Coder, Hacker and Architect〉。

 

 

從小時候開始,工程師在我的心目中就不是一份太高尚的職業。

工程師必須要用沒人聽得懂(也沒人有興趣)的語言,去架構出能被使用的東西。這些東西可能是建築物、車子、機器、電路板、軟體等等⋯⋯

一般大眾會將一樣產品的功勞歸給「計畫者」(如 Steve Jobs)以及設計、行銷、管理者,而工程師似乎就是一些可以被替換的零件,沒有人會記得他們的名字,而他們所做的事情也可以被其他人所取代。

後來我自己加入了軟體工程師的行業,對於工程師的想法也有所改變,在這邊跟大家分享一下我對於「工程師」的看法。

雖然在中文裡,大家都叫做工程師,但其實根據工程師喜歡做的事情、心中對於程式的想法,可以分成幾種類別的人。這邊簡單的以我的認知,把寫程式的工程師分成三類。

第一,寫程式的人(Coder、Employee、Worker)

這種類型的人單純的只是為了工作、功課、任務而寫程式,雖然職務名稱叫做工程師,但是寫程式對他們來說只是獲取成績、金錢的工具,寫程式對他們來說枯燥無味,但為了生活,他們繼續產出他們的程式碼。他們喜歡簡單的任務,最好是一看到就知道要怎麼做,最好有別人的程式碼可以直接套用。而當他們的程式可以過關,他們就開心的回家睡覺去,連一秒都不想看到程式碼。

第二,有目標而寫程式的人(Hacker、Doer、Entrepreneur)

這種類型的人並不是因為熱愛「程式」本身而開始寫程式,他們寫程式是為了要達成某些目的。這些人雖然不是天生的程式高手,但是很會用別人寫好的套件去兜出一些應用,當有一個好的點子時,他們第一件事不是去想:「我本身不是學這個的,我要怎麼樣才能找到別人來幫我做⋯⋯」

他們會去找既有的資源架構,嘗試做出原型(Prototype),有時候雖然做出來雖然有點破(像是下圖右方的機器人),但他們樂在其中,並且常常不眠不休的寫程式。我自己會將 Mark Zuckerberg(Facebook)、Drew Houston(Dropbox)、David Karp(tumblr)這些創辦人歸在這類。

圖片 來源

第三,熱愛程式本身的人(Architect、Theorists、Change Maker、Geek)

這類工程師喜歡程式本身,他們欣賞程式設計的架構、可擴充性、可被測試性。他們喜歡最新的科技,並且會主動的去接觸、試用它們。他們喜歡寫有架構、能夠被別人重複使用的套件(Library)。他們樂於貢獻自己所知所學到這個世界,並且常常在想有沒有什麼最新科技、理論能夠套用到某個工具或服務上,讓這個服務更快、更大、更好。

他們是三種類型的工程師中技術最高超的一群(如上圖左方的人),也常常是能夠改變整個程式世界遊戲規則的人。如 jQuery 的發明者 John Resig、Linux 發明人 Linus Torvalds、個人電腦發明者 Stephen Gary Wozniak,還有許許多多的 Google 工程師們。

Steve Jobs & Stephen Wozniak, photo credit: empireonline

寫到這裡,我忽然想要澄清一個大眾對於工程師的誤解。當大家看到一個東西、軟體不好用,或是 UI、UX 設計上有問題時,常常會說製作這個東西的人用「工程師思維」在設計。又或是團隊在討論一樣東西時,PM(Product Manager)或管理者常會對工程師說:「你那是『工程師思維』,站在『使用者』的角度來說⋯⋯」工程師常因為大眾對自己身分的刻板印象,被弄到連發言權都沒有,或是提出的意見不被重視,但事實是怎樣呢?

如上面所說,工程師分成三種。而所謂的「工程師思維」,充其量只能形容第一種人(Coder)的所作所為。

Coder 的工程師思維

Coder 因為只想把事情做到交差了事,因此他們每天的任務就是把上面說要做的事情完成,一分不多、一分不少。因此,假設管理者、PM 在 Spec、Feature 中沒有把整個使用流程、步驟、使用情境全部拆解成任務,這些 Coder 是不會自動幫忙把 UX 做好的,當他們發現這個系統使用起來會有問題,他們會選擇默不吭聲,因為提出一個好的意見,只代表自己的工作會增加 --- 而這是讓 Coder 最不開心的事情。

在充滿 Coder 的工作環境,做出來的東西就有機會充滿「工程師思維」(不好用、UX 爛),因為這些東西只是一堆 Feature(Coding 任務)的結合。要營運這樣的公司必須要有很強的 PM 和設計者,能夠有效管理員工、定義產品,才能讓 Feature 拼湊出好的產品。

Hacker 的工程師思維

而第二種人(Hacker)是最討厭別人說他們有「工程師思維」的人,因為他們其實是普通人和第三種人(Architect)的混種。Hacker 知道怎麼完成一樣事情,但技術沒有這麼高超。他們重視目的和 UX,因為他們喜歡使用自己做的東西。

當公司要規劃一項新產品時,他們不會因為這項新產品做起來簡單、輕鬆,工作負擔輕而開心(Coder 會),相反地,他們會因為這些東西好用、創新而興奮不已。當有任務下來,Hacker 不會讓使用的細節從眼前溜過,他們會默默的將設計不完整的地方補完。有時候他們甚至會和管理者爭論,這個 Feature 到底該不該有,因為他們認為使用者不會喜歡。

假如在公司沒有權力,Hacker 其實是角色最尷尬的人。至於尷尬在哪⋯⋯,我想這個秘密就留給 Hacker 們了。

Architect 的工程師思維

而第三種人(Architect)的確是有工程師思維,但工程師思維對他們來說應該要是種稱讚。Architect 的工程師思維源自於兩個面相,第一個是他們喜歡有秩序、可以永久保存、重複使用的東西,第二個是他們無私的想要貢獻自己做出的東西給這個世界。

當公司或團隊在討論時程時,Architect 的第一個思維會讓他想要阻止大家天馬行空的亂提點子,因為他知道這些點子拼湊在一起,程式或產品架構會是個一團亂(但這時候 PM 會說:「那是因為你從工程的角度去想,但使用者使用起來不會這樣覺得,你這是工程師思維」)。

但實際上,一個好的產品設計,從工程上面來看應該也要是規律、優雅而有深度的。若工程設計本身具有規則,使用者在使用時是可以隱約感受到其背後令人舒適的邏輯的。因此我認為 Architect 喜歡秩序的工程師思維是好的。

而 Architect 的第二種思維 --- 貢獻於整個世界,有時候對於末端使用者(也就是我們所稱的「大眾」)來說,會是一個小災難。Architect 會希望把一個東西做到擁有很大的擴充性、以及很多的功能,如此一來任何一種人都可以視自己的需求,去變化使用這個東西。

而這種想法最知名的例子,就是蘋果電腦的發明人沃茲尼克,曾和 Steve Jobs 爭論,它希望電腦上面要有很多可擴充的插槽,如此一來各類的科技人才能視自己所需去改裝電腦。(後來 Steve Jobs 沒讓他這樣做,沃茲尼克還小生氣了一陣)。

但 Architect 的第二種思維,常常是他們做出來的東西能影響這整個世界的關鍵。Internet、Linux、python、ruby、C 語言⋯⋯Architect 創造出來的東西,無私的奉獻給這個世界,成為 科技發展的基石 ,因此一般大眾才有機會使用簡單易懂的科技產品。

photo credit: Xiqiao

在我們的環境中,有太多的 Coder、也有許多從 Coder 變成的 Hacker(他們的差別只在有沒有目標,還有去實作的毅力),但比較少真正願意奉獻、熱愛程式的 Architect。

至於我呢? 目前還只是個有目標的 Hacker 而已,距離真正厲害的工程師還有很長的一段距離。但自詡為一個 Hacker,還是希望自己能夠繼續做出對世界有貢獻的東西(之前做的 Timego 也該繼續更新了)。

當你有一個想法,並用自己的雙手實現出來,然後按下一個按鈕,讓幾百萬人都能分享你的成果。我想我們是世界上第一代能夠有此經歷的人。 --- Drew Houston in "What most school don't teach"

後記:

話說這次之所以會寫這篇文章,是因為昨天想要在 iPad 上看第一銀行的電子書,但很不幸的,它是 Flash,iPad 無法觀看。而使用 Puffin 它竟然說網頁記憶體用量太大不讓我開,這時我想起自己是個工程師,於是就用 Dropbox 的公開資料夾當做伺服器,自己寫的幾行程式碼當做載具,簡單的做了一個 iPad 觀看版本。做完後覺得,嗯,當工程師還是有一些特殊的地方的。晚上心血來潮,就寫了這篇文章。

我想人們之所以會走向不同的工程師類型,和工作環境、投入的 Project 也有很大的關係,即使在 Google,也有很多聰明的人因為一些因素成為單純生產 Code 的 Coder。

希望每個工程師都能選擇自己想走的路,生活、創業、貢獻⋯⋯ 一切都是自己的選擇

後續更新:後來我的朋友有回應一篇文章,提出不一樣的觀點,大家也可以參考看看:

關於工程師(Reply to 三種工程師 --- Coder, Hacker and Architect)

在後面我回覆他的文章如下:

其實假如要我重新再寫一次文章,我可能會照這樣的分類來分。依照熱情和能力分成四個象限,兩個軸,X 軸是有沒有熱情,Y 軸是能力高不高超。

Coder | Hacker(我說的 Architect)
--------+--------
Coder | Hacker(我說的 Hacker)

而在文中說把自己歸類在 Hacker 只是要說自己技術還沒到這麼高超而已 XD

現在看起來,我似乎濫用了 Hacker 這個名詞,因為 Hacker 在程式界似乎包含了「高超技術」的印象,相反地 Architect 反而被歸類在 Manager 之類的角色。

謝謝大家的留言,在一般觀念中大家提到 Hacker 指的是程式技巧高超的人,而這邊是把採用 Funders and Founders 的定義:「Hackers are doers」。不論程式技巧高不高超,只要能實際去做、���實踐自己想要達到的目標,就是個 Hacker。

但這樣的定義似乎不是傳統定義,不好意思因為這樣的標題混淆到大家的視聽。文中所提到的 Architect 是真正的 Hacker(而且是 Super Hacker),因為他們願意做,而且技術又高超,兩種 Hacker 的定義都完全符合。希望文末這樣的說明,能夠讓名詞的定義更加清楚。

核稿編輯:Chris

快加入 INSIDE Google News 按下追蹤,給你最新、最 IN 的科技新聞!

《延伸閱讀》

最新發展:

【圖解】領航綠色金融,富邦金控以四大專案打造永續方舟

全球永續浪潮持續發展,企業扮演了重要的角色,富邦金控一直以來致力於推動永續經營,從防詐、路跑植樹、友善家庭、低碳未來等面向,持續領航綠色金融,打造永續未來。

全球永續浪潮持續發展,企業扮演的角色至關重要,舉例而言,為實現《巴黎協定》將升溫控制在1.5度的目標的氣候行動,必須同時兼顧社會公平和經濟機會永續轉型才能成功,而金融機構引導資金流向,並因其資源、創新能力、經濟影響力和社會責任等多方面的優勢,可成為推動永續的重要力量。

作為金融業領導企業及WEF首家台灣金融業會員,富邦金控積極推動多項創新專案,透過2021年重新擬定的ESG願景工程四大策略「低碳、數位、激勵與影響」,在永續金融、低碳營運、淨零倡議、金融安全、普惠金融等五大面向上,積極落實「正向力量 成就可能™」的品牌精神,透過今年甫發布的2023年永續報告書中的四大重點專案,也可一探富邦金控的卓越永續精神展現。

讓AI當防詐守門員——「鷹眼識詐聯盟」

內政部警政署刑事警察局統計,2023年全台詐欺犯罪共3.8萬件,其中以「投資詐欺」件數年增最多,增幅近8成。為了幫助民眾把關金融帳戶安全,自2022年起,北富銀開發「鷹眼識詐模型」,整合全國詐騙態樣並涵蓋100多種動態交易風險特徵,透過可疑交易判斷、帳戶風險評分兩大功能,精準預測異常交易活動的效果。

想要有效防詐,以往必須仰賴真人審核把關,但每個月的交易���表高達6萬份,就算每天3點半後進行審查,也很難及時阻擋詐騙交易的發生。透過善用AI人工智慧與機器學習兩大科技,能預先透過AI當守門員,從每月6萬多份報表中偵查異常,初篩出100多件異常個案,再轉交「真人同事」審視,不僅讓人工審閱工作量銳減99%,且AI初篩的異常個案中,有高達 98% 證實為警示帳戶。

除此之外,富邦更進一步技術共享,產官攜手反詐,全臺將有超過4,300個金融據點被「鷹眼模型」保障覆蓋,根據最新資料統計,這項技術已經成功提前攔阻848個詐騙帳戶,攔阻金額達3,391萬。富邦金控號召了33家銀行共同參與,顯示出其在金融科技防詐領域的領導地位。

透過鷹眼識詐聯盟,體現富邦金控「影響」、「數位」兩大永續核心,提供創新服務與體驗,並以正向力量擴大社會影響力。

越跑越環保—— Run For Green™ 線上大串連

你有想過,跑步也可以同時為永續盡一份心力嗎?自2021年起,富邦金控攜手八大縣市政府推行「Run For Green™」倡議計畫,結合四大馬拉松(臺北馬拉松、萬金石馬拉松、高雄富邦馬拉松、田中馬拉松)及指定賽事,跑者累積跑40公里即可為臺灣種下一棵樹,預估減碳近4,000公噸,

不僅如此,富邦要更進一步,今年,富邦創新推出「富邦 Run For Green™ 全民線上跑」,透過Garmin等穿戴裝置或Strava等跑步紀錄APP,跑者可在日常生活中累計公里數,完成40公里即可線上領取富邦為其種下的一棵樹!

富邦金控不僅是唯一贊助四大馬拉松的金融業者,更已連續十五年榮獲體育推手獎肯定,戮力實踐永續策略「影響」之目標,為守護臺灣生態盡一份心力。

友善家庭最給力——年投入逾1億元生育補助

高齡少子化已成為全球議題,臺灣生育率持續下降,為減緩員工生育、育兒壓力,並善盡企業社會責任,富邦金控遵循「激勵」策略的精神,持續推動全方位的員工照護,打造友善育兒之職場環境,並提供員工優於法令的生育補助,包括:每胎新生兒補助10萬元、6歲以下子女每年補助育兒津貼1.5萬元等,另有提供優於法規的10週全薪產假、8天陪產檢及陪產假等,讓員工產後能獲得充分的休息與陪伴,同時可有更充裕的時間適應育兒新生活。

透過長期不間斷地努力,2023年,富邦金控及子公司迎接了716名富邦寶寶,粗出生率千分之19,是臺灣平均粗出生率的3.3倍;總計年投入逾1億元生育補助,照顧近5000名員工子女,顯示出富邦金控對員工家庭的關懷和支持,不僅於去年榮獲《親子天下》雜誌首屆「友善家庭職場獎」之肯定,今年再獲臺北市政府首屆「友善育兒事業獎」殊榮,成功打造友善健康之幸福職場。

扮演綠色金融加速器——2030年預計達到2.91兆元

不僅對於用戶及內部員工達成永續承諾,富邦金控更深耕金融本業之影響力,透過投、融資引領企業客戶重視環境、低碳轉型,為國內首家積極承諾限制投資碳排敏感性產業的金融機構,並首次將碳排敏感性產業之投融資管理明定於「富邦金融控股股份有限公司暨子公司永續金融政策」 ,供子公司一致性遵循,持續檢視產業准入及撤資標準。

●    富邦人壽: 以母公司富邦金控四大永續策略為核心,從本業出發,實踐綠色保險服務,運用MID身分認證推動行動投保及視訊投保,落實投保無紙化,並推動電子保單、電子通知單及行動保全等數位服務。

●    富邦投信:與富邦人壽皆參與CA100+議合小組,與成員共同推動淨零排放行動,另在投資面設定長期脫碳投資組合之目標,並針對投資於國內股票之主動式操作基金與全權委託帳戶,率先設定投資組合每單位投資金額碳排減量目標:20223至2025年投資組合每單位投資金額碳排量較2022年(基準年)相比,逐年下降8%、10%及12%。

●    台北富邦銀行:自2021年啟動「Think ESG」計畫,並於2022年起舉辦「Think ESG大師論壇」,開創ESG的創意激盪和金融創新實踐。針對中小企業也舉辦相關ESG講座,針對超過2千家中小企業客戶進行ESG需求調查。

●    富邦產險:富邦產險為國內首家承諾「2050淨零承保」的產險公司,承諾未來不再承保煤炭開採/相關基礎建設、燃煤發電、非典型油氣產業中未有具體減碳行動或低碳轉型計畫的廠商。

●    富邦證券:領先同業推出整合性「ESG專區」,提供包括台股、美股、海外債及基金等四大投資商品ESG評分。透過IPO輔導,藉由持續關注、出席股東會、行使投票權、建設性對話等作為,鼓勵企業擬訂永續發展與淨零轉型的計畫與具體行動方案,參與八件綠色債券承銷案,參與率達73%。

富邦金控在綠色營運面即持續導入綠電,2023年促使國內已導入綠電之據點數占比達17%,由單點購電邁入「 全面部署,分批實現 」嶄新里程;更持續以金融力量帶動產業低碳轉型,2023年全年綠色金融投融資金額達2.57兆元,且不止步於此,富邦持續扮演「轉型催化劑」,設定2030年綠色金融達2.91兆元之目標。

以金融的力量實踐,帶動產業永續轉型的使命

富邦金控董事長蔡明興表示,2023年被視為檢視全球永續行動成績關鍵的一年,COP28凸顯了金融業在低碳轉型中的重要角色,世界經濟論壇在2024年發表的《全球風險調查》也強調了企業永續策略的重要性。富邦金控將繼續追求永續金融創新和跨領域合作,以「正向力量 成就可能™」,匯聚正向力量,領跑綠色金融,帶動產業轉型,共同實現永續臺灣的願景。

暸解更多:《富邦金控 2023永續報告書》