本章概述#
本章討論軟體工程師在為廣泛使用者群設計產品時的獨特責任,以及組織如何透過擁抱多元性(diversity)來設計出適用於所有人的系統,避免對使用者造成傷害。作者坦承 Google 在保護弱勢使用者方面曾有多次公開失敗,撰寫此章正是為了反省這些失誤,並鼓勵下一代工程師做得更好。
軟體工程領域在理解技術對弱勢族群與多元社會的影響方面仍處於起步階段。開發決策者與被迫接受決策結果者之間的權力失衡正在加劇,這使得公平工程(engineering for equity)成為當代軟體工程不可迴避的議題。
偏見是預設狀態(Bias Is the Default)#
當工程師未能關注不同國籍、種族、性別、年齡、社經地位、身心能力與信仰體系的使用者時,即使最優秀的團隊也會在無意間辜負使用者。社會科學家數十年來的研究顯示,大多數人都存在無意識偏見(unconscious bias),它比刻意的排斥行為更加隱蔽、更難消除。
Google 的種族包容性失誤案例#
2015 年,軟體工程師 Jacky Alciné 指出 Google Photos 的影像辨識演算法將他的黑人朋友分類為「大猩猩(gorillas)」。Google 對此回應緩慢且不完整。導致這一重大失敗的原因包括:
- 訓練資料不完整:餵入演算法的照片資料未能代表完整的人口組成
- 組織缺乏多元代表性:Google(及整體科技業)缺乏足夠的黑人員工,影響了演算法設計與資料集蒐集中的主觀決策
- 目標市場定義不足:Google 的測試未能涵蓋弱勢群體,最終由使用者發現錯誤,既讓 Google 難堪,也傷害了使用者
直到 2018 年,Google 仍未充分解決底層問題。類似的偏見失敗也出現在自動完成(autocomplete)返回冒犯性結果、廣告系統被操弄顯示種族歧視廣告、YouTube 未能有效偵測仇恨言論等場景。
偏見造成的連鎖傷害#
這些問題的根源不在於技術本身,而在於設計時缺乏對歧視性語言的韌性(resilience)。後果是雙重的:
- 對使用者的傷害:弱勢群體直接受到歧視性結果的影響
- 對公司的傷害:降低使用者信任度與參與度;黑人、拉丁裔和猶太裔求職者可能對 Google 平台甚至其包容性文化失去信心,反過來削弱 Google 改善代表性的目標
理解多元性的必要(Understanding the Need for Diversity)#
Google 相信,成為卓越的工程師不僅需要技術能力,還需要將**多元觀點(diverse perspectives)**帶入產品設計與實作中。要做到「為所有人打造」,必須先理解我們的代表性人口。
打破單一技能的迷思#
- 擁有資訊科學學位和工作經驗是必要基礎,但僅此不足以成為卓越工程師
- 同樣需要打破「只有資訊科學背景的人才能設計產品」的觀念
- 工程師應將工作置於他們所欲影響的完整生態系統框架中
關注與自己不同的使用者#
工程師至少需要理解使用者的人口統計特徵,特別需要關注:
- 與自己不同的人群
- 可能利用產品造成傷害的人
- 被流程與環境剝奪權利的使用者 — 他們是最難被考慮到、但最需要被納入設計的群體
在工程團隊缺乏多元代表性的情況下,個別工程師需要主動學習如何為所有使用者打造產品。
建立多元文化能力(Building Multicultural Capacity)#
卓越工程師的標誌之一,是能夠理解產品如何對不同人群造成優勢或劣勢。工程師不僅需要技術能力,還需要具備判斷力(discernment) — 知道何時該開發、何時不該開發,包括識別和拒絕會導致負面結果的功能或產品。
工程師的責任與權力#
隨著時間推移,工程師可能打造出數十億人每日使用的工具 — 這些工具影響人們如何看待人類生命的價值、監控人類活動、並擷取與保存敏感資料。工程師擁有的權力可能超乎想像:改變社會的力量。
關鍵步驟:
- 認識偏見的預設狀態 — 承認自身受社會與教育因素影響而產生的偏見
- 思考被遺忘的使用場景 — 考慮那些可能因你所打造的產品而受益或受害的使用者
AI 與機器學習的公平性挑戰#
- 目前 AI 驅動的臉部辨識軟體持續對有色人種和少數族裔造成不利
- 研究範圍不夠全面,未涵蓋足夠廣泛的膚色
- 2016 年一項研究發現超過 1.17 億美國成年人存在於執法機關的臉部辨識資料庫中,由於對黑人社區的不成比例執法,可能產生種族偏見的錯誤率
- 軟體的開發與部署速度不斷加快,但獨立測試未能跟上
Google 現已在 AI 的脈絡中提供統計訓練,幫助確保資料集不具有內在偏見。但更根本的做法是,在輸入資料存在偏見的情況下,應有勇氣放慢開發速度,追求更完整、準確的資料與更具包容性的產品。
持續專業發展的責任#
轉變產業經驗的焦點,納入更全面的多元文化、種族與性別研究教育,不僅是個人責任,也是雇主的責任。科技公司必須確保員工持續接受全面且跨學科的專業發展,建立的不僅是軟體開發與領導技能,還有理解人類多元經驗的能力。
讓多元性可執行(Making Diversity Actionable)#
系統性問責#
系統性的公平與公正是可以實現的,前提是我們願意接受:我們都對科技業中可見的系統性歧視負有責任。
- 拒絕推卸責任:將個人問責抽象化或延後是無效的
- 拒絕純學術討論:「如何對抗數百年的歷史歧視?」這類問題雖有意義,但容易成為脫離實際改善的藉口
- 聚焦於可量化、可行動的步驟
實際行動建議#
對於工程經理而言,具體的問責行動包括:
- 確保候選人名單是平衡的(balanced slates) — 女性或其他弱勢群體是否在候選人審查池中?
- 錄用後提供的成長機會分配是否公平?
- 每一位技術主管或軟體工程經理都有能力在團隊中增進公平
拒絕單一方法(Reject Singular Approaches)#
不能以單一哲學或方法論來解決科技業的不公平問題,因為問題本身是複雜且多因素的(complex and multifactorial)。
超越「修復招聘管道」#
科技業中一個常見的單一敘事是:代表性不足的問題可以僅靠修復招聘管道來解決。然而:
- 這是基礎步驟,但不是當前最迫切需要解決的問題
- 需要同時關注晉升與留任中的系統性不公平
- 以 Google 為例,Black+ 員工的流失率超過所有其他群體,抵消了代表性目標的進展
- 應評估是否正在創造一個讓所有有志於工程的人都能蓬勃發展的生態系統
從包容性設計開始#
一種常見但有缺陷的方法論是「先為多數使用案例建構,邊緣案例稍後再處理」:
- 這種方法讓已經在技術取得方面佔優勢的使用者更進一步領先,加劇不公平
- 將所有使用者群體的考量留到設計接近完成時,是降低了卓越工程師的標準
- 正確做法:從一開始就納入包容性設計,為最難取得技術的使用者提供愉悅且無障礙的體驗,最終將提升所有使用者的體驗
為最不像你的使用者設計,不僅是明智之舉,更是最佳實踐。 將最困難或最少被代表的使用案例放在第一優先。
進行更全面的使用者研究#
使用者體驗研究應涵蓋:
- 多語言、多文化的使用者群體
- 橫跨多個國家、社經階層、身心能力和年齡層
挑戰既有流程(Challenge Established Processes)#
建構更公平的系統有時意味著挑戰那些產生無效結果的既定流程。
案例:Google 全球招聘需求系統#
Google 數個工程團隊建構了一個全球招聘需求系統,支援外部招聘與內部轉調。招聘人員要求開發團隊加入一項功能:當內部轉調者表達對某職位的興趣時,立即向招聘經理和招聘人員標示績效評分(尤其是較低的評分)。
表面上,加速評估流程、節省時間是好目標。但以下公平性問題被提出:
- 發展性評估是否能預測未來績效?
- 呈現給潛在經理的績效評估是否免於個人偏見?
- 績效評估分數是否在不同組織間標準化?
如果任何一個答案是「否」,呈現績效評分仍可能導致不公平且無效的結果。
調查結論#
經過深入審查,團隊發現:
- 曾獲得低績效評分的候選人,如果找到新團隊,很可能克服低評分
- 他們獲得滿意或優秀績效評分的可能性,與從未獲得低評分的候選人相同
- 績效評分僅反映特定時期在特定角色中的表現,不能預測未來績效,不應用於評估內部候選人對不同團隊的適任性
這項分析確實佔用了大量專案時間,但正面的權衡結果是一個更公平的內部調動流程。
價值觀與成果的落差(Values Versus Outcomes)#
Google 擁有強大的招聘投資記錄,核心價值觀建立在尊重與對多元包容團隊的堅定承諾之上。然而年復一年,Google 仍未能達成招聘一個反映全球使用者的代表性團隊的目標。失敗點不在價值觀、意圖或投資,而在於政策在執行層面的落實。
五項行動指南#
照鏡子反思 — 當沒有代表性的團隊或以社群回饋為中心的參與模式時,就無法真正做到「為所有人打造」。Google 確實曾公開未能保護最脆弱的使用者免受種族歧視、反猶太與恐同內容的傷害。
不要「為」所有人打造,而是「與」所有人一起打造(Build with everyone) — 我們需要跨越人類光譜來與使用者互動,有意識地將最脆弱的社群置於設計的核心,而非事後才考慮。
為使用你產品最困難的使用者設計 — 為有額外挑戰的使用者打造,將使產品對所有人都更好。不要為了短期速度而犧牲公平性。
不要假設公平,要在系統中衡量公平 — 決策者也會受到偏見影響,可能缺乏識別或衡量公平問題範圍的專業知識。與多元性、公平性和包容性(DEI)的專家合作。
改變是可能的 — 從監控到虛假資訊到網路騷擾,當今技術面臨的問題確實令人感到壓倒性。但我們不能用過去失敗的方法或既有的技能來解決它們,我們需要改變。
保持好奇、持續前進(Stay Curious, Push Forward)#
通往公平的道路漫長且複雜,但我們可以也應該從「單純打造工具和服務」轉變為「增進對產品如何影響人類的理解」。
實現進步的途徑:
- 挑戰我們的教育 — 拓展超越純技術的學習
- 影響我們的團隊和管理者 — 推動組織層面的變革
- 進行更全面的使用者研究 — 涵蓋多元的使用者群體
成為工程師是一個持續的過程。目標是推動對人類有利的改變,同時不進一步剝奪弱勢群體的權利。應聚焦於持續改善(Continuous Improvement),並勇於承認失敗。
結論#
軟體開發與軟體組織的發展都是團隊努力的結果。隨著組織擴展,必須回應並妥善設計以服務其使用者群 — 在當今互聯的計算世界中,這意味著服務每一個人。
核心要點:
- 開發團隊與其產品都必須反映多元且廣泛的使用者群的價值觀
- 工程組織若想擴展規模,不能忽視弱勢群體
- 來自這些群體的工程師不僅增強組織本身,還為軟體的設計與實作提供獨特且必要的觀點
TL;DRs#
- 偏見是預設狀態 — 所有人都帶有偏見,組織必須主動識別並解決這些偏見
- 多元性是必要的 — 為全面的使用者群正確設計產品需要多元的觀點
- 包容性至關重要 — 不僅是改善弱勢群體的招聘管道,更是為所有人提供真正支持性的工作環境
- 產品速度必須對照公平性來評估 — 放慢腳步好過發布可能傷害部分使用者的產品