主頁 >  其他 > 硅谷公司:我們稱他們為軟體工程師,而非打工人

硅谷公司:我們稱他們為軟體工程師,而非打工人

2021-04-13 10:45:54 其他

點擊參與 2020 開發者大調查:https://bss.csdn.net/m/topic/dev_survey2020,有效資訊填寫者均能在第一時間獲得包含專家解讀和豐富干貨調查報告的電子版,還有幸運大獎等你來拿,

【編者按】有個很有意思的話題,拿高薪的工程師得做出什么樣的成績才能對得起他們的薪水?一般來說,大部分公司都會選擇增加他們的作業量或者作業難度,因為他們的薪水比別人高很多,但是,”硅谷公司“不這樣做……

原文標題:What Silicon Valley "Gets" about Software Engineers thatTraditional Companies Do Not

原文鏈接:https://blog.pragmaticengineer.com/what-silicon-valley-gets-right-on-software-engineers/

作者 | Gergely Orosz,已獲作者翻譯授權

譯者 | 彎月 責編 | 張文

頭圖 | CSDN 下載自視覺中國

出品 | CSDN(ID:CSDNnews)

以下為譯文:

我曾在多家公司作業,既有傳統的咨詢公司,也有投資銀行,還有飛速崛起的科技公司,我也曾與很多軟體工程師交談過,他們之中有人在創業公司作業,也有人從事銀行、汽車和高科技,而更多的則是傳統公司,這些公司有很多都在硅谷,但也有總部坐落在硅谷之外的公司,

我發現,硅谷公司總是能“獲取”一些傳統公司既不能理解也無法在實踐中實作的價值——尤其是在歐洲,有一些實踐經驗能夠促進公司的創新,幫助工程師得到更好的專業成長,或者說讓工程師發揮更大的價值,硅谷公司可以(也愿意)支付更高的薪水,同時也能夠從同一個人身上獲得更多價值,

在本文中,我通過“硅谷公司”來代指那些能夠從每一位工程師身上獲取更大價值的現代公司,且這些公司的總部坐落在硅谷(盡管有很多新起之秀并非從硅谷起家),這類公司的每位工程師的產出能夠與 Facebook 或 Google 一較高下,他們使用的方法都很類似,而且能夠從其他硅谷公司吸引到人才,

這些公司之所以技高一籌,主要體現在以下幾個方面:

軟體工程師的自主性

在傳統的公司中,開發人員只需要等著上級給指派作業,大多都是 JIRA 上的任務票,這些任務票由產品經理或專案經理審核,任務票上記載了作業的關鍵細節,而開發人員只需要按照任務票完成作業,除非任務票中有一些細節需要被澄清,否則就不需要提問,

然而,在硅谷公司中,情況就會有所不同,公司內有很多專案,還有很多程式經理和工程經理,但大多數時候,工程師需要靠自己弄清楚如何完成作業,包括一些重大決策,而且會得到公司的鼓勵!在有些情況下,專案的負責人由工程師擔任,這樣可以方便分解作業,而有些情況下,則由工程經理或高級工程師來承擔這些作業,無論采用何種方式,公司都希望鼓勵工程師著眼全域,打破固步自封,解決所有他們發現的問題,

工程師的積極主動性是硅谷公司的成功,在這些公司中,經常能看到有些服務和功能是在工程師的建議下構建的,或者在團隊成員的倡導下,多個團隊共同合作投入專門的時間來解決技術負債,而等著經理來告訴工程師該做什么,或者將他們的作業分解成小塊,或事無巨細地管理團隊,反而不正常,所有人都是自我管理,

在傳統公司,開發人員只需要完成分配給自己的作業,而在硅谷公司,開發人員需要主動解決業務上的問題,這是一個巨大的差別,會影響到工程師每一天的作業,

在傳統公司,開發人員只需要完成上司分配的任務,這種人員管理的方式最終都會形成等級制度,我曾與某家銀行的職員交談,他們公司的專案管理有 6 個等級,而開發人員處于最底端的兩個級別,所有的決策都必須來自第三層以上,真正干活的人基本上沒有任何話語權,不用我多說你就能猜到,這家公司一直被一個問題所困擾:如何讓軟體工程師好好干活?

圖:等級制度,一些傳統公司仍然采用了這種形式

與這類公司相比,有些公司則非常清楚工程師有能力解決問題,他們能夠比其他任何人更好地解決實際問題,領導都明白爭取利益最大化的方式,就是告訴工程師所有的業務背景,給他們執行的空間,

圖:向下傳達業務目標,并賦予工程師自主權,讓他們來做決定,是組織快速前進的動力

有思想,有能力的工程師

傳統公司往往認為,工程師應該將 8 個小時的作業時間全部花在編程上,任何時候,只要工程師沒有坐在電腦前面寫代碼,就是在浪費時間,而且他們不惜高額成本來證明一點,我曾聽見有人這樣說:

軟體工程師的工資比很多職位都要高,我們需要相應的回報,我們不能讓他們閑著,

硅谷公司則認為軟體工程師是組織中最適合解決問題的人群,招聘工程師不僅是為了技術,還有溝通與解決問題的能力,他們的看法是:

軟體工程師是我們公司中薪水最高的人群,這是因為他們撰寫代碼和解決問題的能力能夠帶來最大的價值,我們希望他們多多接觸業務,這樣在完成“常規”作業之余,他們還能發現更多重大商機,

在實際作業中,一位有動力的工程師創造的價值是一位聽命行事的“工廠工人”的數倍,最差的結果也不過是,在規范清晰正確的情況下,兩位工程師都拿出同樣的產出,然而,勇于解決問題的工程師在著手作業之前,往往會停下來認真思考,尋找更有影響力的機會,當我問硅谷公司的幾位工程師,是否可以做X之后,過了一段時間他們給我的答復是:

  • “我做了一點調查,我們確實可以做 X,但是縮小這個功能的范圍也不會對業務有任何影響,我們無需做任何代碼變更就可以推出這個功能,只需要修改幾個組態檔,”

  • “對于我們是否可以推出這個專案,其實我有點擔心,我覺得我們應該暫時放一放,我調查了一下我們的競爭對手,其中有一家推出了類似的功能,但在被監管機構調查后,又撤銷了這個功能,你有沒有問公司的法務團隊,我們是否可以推出這樣的功能?”

  • “我看了一下積壓的功能串列,專案 Y 與之非常相似,如果我們可以將專案 X 和專案 Y 結合到一起,那么就可以同時發布兩個產品,而且還無需額外的開銷,”

  • “我們可以在舊的基礎設施之上構建這個專案,但是等到一個月后,我們的新基礎設施搭建完畢,我們還需要再進行移植,這個專案可以推遲一個月嗎?等到新的基礎設施準備好之后再動手,就可以避免雙倍的作業了,如果業務上沒有特殊的需求,要我們在一個月之內推出這個功能,我真心建議再等一等,”

與遵從指示相比,鼓勵工程師解決問題的環境帶來的價值更高,而且能夠做出更好的決策,

內部資料、代碼與檔案的透明度

硅谷公司非常重視透明度,盡管也有一些例外,比如蘋果或 Palantir,他們給工程師的資訊太少了,我發現大多數硅谷公司都愿意分享他們的資訊,他們在通用資料保護條例(GDPR)、個人身份資訊(PII)以及其他規定的范圍內盡可能地分享資訊,

員工(不僅是工程師)都有隨時訪問業務指標與資料資源的權限,他們可以撰寫自己的查詢,并生成自定義的報表,在 Skyscanner,員工每天都會收到有關每日收入明細的匯總郵件,而在 Uber,員工也會收到有關類似指標的周報,

隨著各個公司的發展與上市,這些資訊會被整合,但是,工程師仍然可以訪問公司的業務資料,幫助他們做決策,而在傳統的公司,基本不會出現這樣的情況,工程師拿到的是規格說明,只有上層才知道決策后面的原因——至少,公司的宗旨就是這樣,

公開業務與業務指標

硅谷公司希望每個團隊成員都了解他們的作業將會影響到哪些業務,以及會造成怎樣的影響,團隊的目標只是推出某個功能的情況非常罕見,比如推出功能 1 可以降低 2%的客戶流失率,或者推出專案 X 預計每年可以增加一千萬的收入,

硅谷公司鼓勵工程師多接觸其他業務人員,與工程師之外的人員建立關系,在實踐中,很多高級工程師都會與產品經理結伴參加客戶研討大會,但是,我也見過新來的工程師很快就直接與業務利益相關者打成一片,

相反,在傳統公司里,開發人員基本上不可能接觸其他業務人員,但是,他們可不會表現出來,他們會說:“我們不希望打擾工程師”,我也曾聽說,有一位工程經理希望團隊成員參加產品發表,卻被產品經理拒絕,他們的借口往往是:“我們希望他們好好作業,不希望他們被打擾,”

如果傳統公司里的某位工程師與團隊以外的人員來往,就會被人說:“不夠專心”,“浪費時間”,或者“不務正業”,這類“不正常”的行為常常會給他們的業績評價帶來負面影響,

聽起來非常荒謬,有些公司手握一流的解決問題高手,卻強制把他們塞進了小格子里,然后說“你只需要寫代碼”,但是現實就是這樣,同時,試圖通過代碼行數來衡量工程師生產力,或者抱怨為什么工程師不關心產品,也是同一類公司,

工程師之間的三角溝通

如果你是一位工程師,并且你想問另一個團隊一個問題,則可以看看傳統公司與硅谷公司之間的差異,

傳統公司鼓勵等級式溝通,這不僅可以“保護”工程師,而且因為處于這些職位的經理更希望充當資訊樞紐,他們不愿放棄這部分的管控,如果你想問另一個團隊一個問題,則需要:

圖:“傳統”/等級制度組織中的溝通

硅谷公司鼓勵工程師之間直接進行溝通,不經過中間人,這種溝通方式更快,即便其他團隊的工程師幫不上忙,也可以回到“傳統”模式,找經理幫忙促進討論:

圖:更有效的溝通

努力改善開發人員的作業體驗

2020 年是糟糕的一年,不是指寫代碼方面,寫代碼很容易!而是因為其他相關的作業:設定依賴性、部署到生產或測驗環境、CI/CD、監視與警報,如果你在一個由多人組成的團隊之中,那么可能沒什么問題,然而,你遲早都會遇到這些麻煩,

隨著公司的發展,開發人員的體驗會越變越糟,剛開始的時候,都是一些小問題:構建時間變得遲緩,依賴性增加,或者需要修改跨多個服務的代碼,慢慢地,團隊需要搞清楚各自負責的服務;一些遷移規模雖小,但因為涉及多個團隊,而出現失敗;乃至最終需要重新定義整個工程架構,

框架和庫的變化速度非常快,而且很多工具很難跟上步伐,對于各個公司來說,如果不希望開發人員的體驗變糟,就必須鼓勵工程師側重于解決問題,建立各種基礎設定、平臺和 SRE 團隊,

一些的軟體工程師的作業目標只是為了讓其他軟體工程師能更快地作業,聽起來似乎有違常理,但很多時候并非如此,幫助這些公司快速發展,能夠獲得巨大的回報,而且開發人員也更加快樂,

自主性與高薪之間的杠桿效應

硅谷公司愿意向工程師支付高薪,為的是獲得更高的杠桿率,因為這些工程師帶來的價值超過了他們的薪水,這種杠桿效應既可以來自規模,也可以來自業務發展,減少在不必要的溝通上浪費的時間,利用工具等都可以為這種杠桿帶來價值,給工程師足夠的自主權,可以為業務發展做貢獻,也可以保持高杠桿率,

如今 Google、Facebook 和其他公司支付的高薪都是規模的杠桿效應,這些公司的工程師構建的功能擁有數百萬的用戶,這種杠桿效應和附加的價值本身就是回報,

圖:自主性越高,杠桿率越高,創造的價值越高,薪水就越高(同時公司還能攫取巨額利潤)

硅谷公司就是利用軟體工程師來發展業務,FogCreek 的軟體工程師正是通過這種方式實作了百萬美元的廣告分類,Facebook 的工程師和設計師也是通過這種方式構建了點贊按鈕,這個小小的按鈕帶來的是幾十億的商機:Facebbok 通過按鈕定位廣告,并在 Facebook 之外追蹤用戶,

如果上面這些人在傳統環境中作業,那么他們的想法永遠也不會有機會實作,硅谷的創業公司鼓勵工程師提出商機,然后再實作,提出想法的人和公司業務都可以從中獲益,

利用工程師建立杠桿效應的公司根本不發愁支付市場最高昂的薪資,甚至超過最高水平,Basecamp 就是一個很好的例子,雖然不是科技巨頭,但他們也很好地利用了工程師,因此他們也能支付軟體市場的高昂薪資,同時還能保持盈利,

整體最大的區別

不同型別的公司在處理與工程師之間的關系方面有很多差異,最大的區別就在于,硅谷公司認為工程師能夠創造價值,擁有解決問題的能力;而傳統公司則將他們當成工廠的工人,

思想上的這種分歧導致,思想比較前衛的公司不僅能夠支付更高的薪水,而且還能給予工程師更多自主權,而工廠工人的價值是預先定義好的,你可以做出預算,另一方面,如果利用得當,富有創造性、能夠解決問題的工程師可以帶來10 倍的價值,因此,向他們支付更高的薪水,給他們更多自由,自然也很合理,因為這是你激勵他們貢獻更多業務價值的手段,

在硅谷公司之類的環境中作業過的人,很難回到傳統的作業場所,在那里,每個人的職責都有明確的定義,每次你離開自己的小格子,就會有人皺眉頭,

作為軟體工程師,在負責解決問題的環境中作業更加令人心神愉悅,而不是作為一名工廠工人,如今的你身在哪邊?

原文:https://blog.pragmaticengineer.com/what-silicon-valley-gets-right-on-software-engineers/

本文為 CSDN 翻譯,轉載請注明來源出處,

參與開發者大調查猛戳這里:https://bss.csdn.net/m/topic/dev_survey2020

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275431.html

標籤:其他

上一篇:UNIX的名字是我起的——對話 UNIX 開發者:Brian W. Kernighan

下一篇:CSDN【精品專欄】第14期

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more