當前位置:
首頁 > 科技 > 程序員總被坑?這是GitHub上的一篇防騙指南

程序員總被坑?這是GitHub上的一篇防騙指南

關鍵時刻,第一時間送達!

作為一名技術人,我們擅長處理系統漏洞,對於媒體信息來源的真偽我們毫無辨別能力。

本文源自於GitHub上創建的一個repo,其中收集了許多如Hacker News、Reddit、tech blog等新聞頻道上有關軟體開發者遭受虛假信息之害的故事。

以下為正文:

2015年我結識了一位很聰明的企業家,從談話中得知他剛剛從一家知名風險投資公司籌集了數百萬美元的風投資本。有了風投資金,這位企業家招聘了大量員工,同時投資事件又被媒體大力報道,一時間風光無限。而他的業務主要基於一個流行的開源項目。

作為戰略的一部分,CEO拿出一部分股權給了該開源項目的一位核心開發人員。這樣一來他就有了底氣,並宣稱自己很快就可以拿到該項目的更多重要信息,從而儘快讓公司盈利,他還打算將這個開源項目的開發人員招募到自己公司。

我擔心這種奇葩的關係遲早會被這位核心開源開發人員暴露。儘管他們只是私下的合作關係,但他在會議上頻頻提及並宣揚這個公司。因為,他的決定會影響到其他的開源開發人員。其他開源開發人員在職業生涯初期就會毫無防備地受到這位核心開發人員的影響。

一個計算機系統難免會有漏洞,外部攻擊者常常利用這些漏洞,而計算機工程師非常擅長處理這些漏洞。類似的,我們的個人社交信息同樣存在「漏洞」,我們的信息來源經常受到各種會議、聚會、博客、記者、教授、行業分析師等觀點導向。就像這個例子一樣,即使是你的同事,也可能潛移默化影響著你。

作為一名單純的工程師,我們有必要開發出「解藥」,這是非常有價值的。儘管這些動機在某些方面也是為我們好,但是這些「解藥」能夠切實為我們的團隊和自身的職業生涯做出最佳決策。接下來我會列舉一些工程師易受影響的方式,同時介紹三種方法來幫助我們做出更好的決策。

影響工程師的常見因素

如今已是信息時代,影響工程師的因素很多,本文選取一些例子來展示這些因素如何影響著工程師的內心。

影響工程師的主要因素包括:

希望銷售技術或擴大平台的開發者工具團隊

願意僱用我們的公司

想要招募貢獻者和用戶的開源開發人員

想要資助我們的風投機構

想要賣課程的培訓機構

希望被聘的諮詢公司

想要擴大影響力從而獲得更多利益的社交網路

他們創建和贊助了多項活動,比如新聞發布會、聚會、博客文章、會議、講座,等等。這些活動對工程師產生了極大的影響,包括技術選型以及僱主選擇等方方面面。

伴隨著一系列誇張數字的初創企業暴富故事的文章可能會引發工程師大量加入初創企業的熱潮。關於最新資料庫技術(如NoSQL)的博客或熱門演講可能會引發工程師的關注,從而影響項目的技術選型。大學講師可能會推銷他們自己公司的技術。過去一年Hacker News上點贊最多的消息可能會影響我們採用的技術類型。然而,作為這些信息的消費者,並不是所有的工程師都會批判性地審查這些信息及其來源。

對於創業公司來說,如果為了顧及成本而選擇了糟糕的技術,只不過是將困難進行了轉移,項目可能會深陷風險。對於工程師來說,學習錯誤的技術同樣是浪費生命。誤入不良公司會大大阻礙我們職業生涯的發展。

案例1:創業公司拿風投與招聘工程師

經常有文章頌揚創業公司如何如何好,我的一位風投圈的朋友每次看到這樣的文章都冷笑。因為他也曾投資過一些創業公司,實際上大多數創業公司過得都不好,這樣的軟文只是為了幫助這些創業公司偽裝得美好一些,以便在資金耗盡之前能夠招聘到優秀的員工,同時吸引風投機構的注意。我相信大部分人都能夠讀懂這些文章真實的一面。而對於那些蒙在鼓裡的人來說,通過一些培訓也能夠領悟到這類文章背後的真實含義。

再比如那次臭名昭著的數據造假事件。Theranos(一家血液檢測公司)通過「僅需少量血液便可提供準確檢測結果」的口號吸引技術人才並募集風投資金。

很多媒體和新聞機構在報到此事時不加鑒別,很多人都被大肆報道的新聞(https://www.washingtonpost.com/blogs/erik-wemple/wp/2015/11/05/how-the-nyts-t-magazine-disappeared-tech-entrepreneur-elizabeth-holmes/?utm_term=.14375bed3cb3)所吸引。雖然後來謊言被揭穿了,但是加入Theranos 的這批傑出的工程師和科學家們浪費了自己寶貴的時間,原本他們可以去做真正有影響力的工作並給自己的履歷增光添彩,這是一個巨大的損失。

案例2:MongoDB 上的Dev Tool 市場

MongoDB 承諾提供「現代」資料庫體驗,它是21世紀末發展最快的NoSQL 資料庫之一。

在深入研究MongoDB 早期的營銷策略(https://www.nemil.com/mongo/3.html)時,我指出了一些與開發者工具營銷相關的問題,主要有:

受邀參加MongoDB 會議的演講者會有自己的私心,他們試圖出售自己的諮詢服務,並為他們自己的開發者工具產品進行營銷。

黑客學院和早期的程序員博客是推銷MEAN堆棧的得力助手。

MongoDB 完全不考慮不同應用場景的特殊性,宣稱自己能夠大包大攬地解決所有資料庫問題。

初學的開發者幾乎無法做出正確的權衡,他們會受到大學黑客馬拉松的大力影響。

儘管我在這些案例中指出了一系列問題,但當我涉及到自己的團隊任務時仍然無法做到完全準確。鑒於此,最好是所有工程師都能夠具備識別信息真偽的能力。在這個充斥著虛假新聞(https://qz.com/1130094/todays-biggest-threat-to-democracy-isnt-fake-news-its-selective-facts/)的時代,這些經驗教訓能夠幫助我們辨別這些工程之外的信息的真偽。

影響工程師的隱性因素

與之前的營銷不同,如今工程師媒體中的外部影響常常被掩蓋。

新聞發布或銷售電話的目的往往很明確。而當這些內容出現在會議演講或者博客文章中時,往往意圖不明。憑藉強大的營銷資金做後盾,無論真實性如何,都可以宣傳自己的信息並說服他人。

我在世界各地都有過這方面的親身經歷。當我完成工程研究之後,我在東帝汶首都帝力的世界銀行工作。有一天,我們需要向記者描述我們資助的一個項目的好處。不同的東帝汶公民針對這個項目肯定會有不同的評價。但我們的重點是從世界銀行的角度來描述這個項目。毫無疑問,我們在記者面前評價這個項目時極盡讚美之詞。

第二天,東帝汶當地的一家報紙刊登了這則新聞稿。關於世界銀行對這個項目的良好評價很是醒目。然而,每當我想到東帝汶的公民被新聞蒙蔽著雙眼時,我感到深深的不安。

直到後來當我逐漸發現世界各地都是如此,才稍微有點釋然。矽谷的一些好友告訴我,他們對大多數信息源的虛假感到震驚,並且毫無防備地信任這些虛假信息。我特別擔心大學生和初級工程師(https://www.reddit.com/r/learnprogramming/)以及那些遠離高科技的人,他們很難辨別這些信息的真假。

案例1:微服務的炒作

編程社區對微服務(https://martinfowler.com/articles/microservices.html)的優劣進行了激烈的辯論(https://news.ycombinator.com/item?id=14415485)。我個人的觀點是,微服務在初創公司的盛行是源於集裝箱功能和成本優勢。Martin Fowler 的博文詳細介紹了初創企業與微服務(https://medium.com/aws-activate-startup-blog/using-containers-to-build-a-microservices-architecture-6e1b8bacb7d1)。

有關微服務的言論大多來自於其他的工程師、開源團隊或者培訓機構。鋪天蓋地的宣傳往往會誤導一些中型公司的CTO,讓其忽略項目適用性而造成錯誤的技術選型。

案例2:開發人員培訓計劃

培訓機構為了吸引更多的學員,他們會盡量擴大其技術領域,試圖增加讀者群體從而吸引學生。與之合作的老師背景往往不會被嚴格審查,他們不排除有推動某種技術的私心。

Free Code Camp 是一個擁有350k粉絲的熱門開發者博客,最近發表了一篇文章聲稱"REST 已經死亡,GraphQL 才是未來"(https://news.ycombinator.com/item?id=14839576)。這篇文章由Free Code Camp 的負責人發表,並由一位銷售GraphQL 培訓計劃的作者撰寫,對此我進行了批評(https://news.ycombinator.com/item?id=14840321)。

遙想自己也還是一個初學者時,我擔心初級工程師沒有能力辨別事物的優劣與真偽,會受到這些文章的影響盲目學習GraphQL。就像「學MEAN 贏高薪(https://medium.freecodecamp.org/the-real-reason-to-learn-the-mean-stack-employability-29011ff6b2eb)」這樣的宣傳一樣,會誤導很多人。我尤其擔心初學者,因為他們大都能力有限,很容易受到這類信息的誤導。

案例3:技術內容營銷

除了直接影響之外,社交媒體上的內容營銷帖子數量驚人。這些帖子當然也有一些價值,但是其主要目的是銷售他們公司的產品。儘管他們的目標是進行銷售、影響讀者思維或改進SEO,讀者有時可以將他們內化為「新聞」。

聯合廣場的Fred Wilson 注意到了技術文章中普遍存在著內容營銷(http://avc.com/2016/08/understanding-vcs/),並鼓勵大家批判性地看待這些消息:

那麼企業家應該如何利用風險投資公司所傳遞的知識?首先,你應該將其視為內容營銷。

這並不意味著這些信息毫無用處。但是你應該了解這些免費內容背後的商業模式。任何免費形式的最終目的都是為了獲取利益。

出於以上種種原因,我總結了網路上可信的信息來源主要有:大學/研究生朋友、與投資CEO 的坦誠會談(針對投資者)、平台提供商,一線工程師的博客。他們的信息來源受自身利益的影響較小,基本能夠展示一個比較客觀的世界觀。人們其實也可以私下交流,不太願意分享廣泛的內容。

如果想要了解事實真相,我們需要理解驅動這些信息來源的利益源頭。這些信息表面其樂融融,內部實則暗流涌動。

工程師如何做出更好的選擇

這些問題給了我們一個最基本的教訓:真實的信息來源、追求真相的社區以及富有思想的工程師無法替代。

我創建了一個GitHub(https://github.com/nemild/hack-an-engineer) 項目存放初學者值得信賴的信息源。我對每一個來源都比較了解,它們確實值得信賴。歡迎讀者提交貢獻(https://github.com/nemild/hack-an-engineer/blob/master/contributions.md)。

除了自身利益之外,媒體還可能受到其他因素的影響。比如,任何讀者都有資格對黑客新聞的文章點贊,這意味著世界上最專業的人與沒有經驗的人擁有相同的投票權。幾乎所有社交媒體演算法都傾向於所有人的參與,這意味著我們閱讀的內容僅僅是我們周圍讀者想要閱讀的內容的一個函數。

案例:加密貨幣部落和社交媒體

在社交媒體中,即使項目決策應該基於經驗和事實,周圍的群體同樣會影響你的觀點。社交媒體組織和演算法挑選其用戶信念的內容,並在最糟糕的情況下繪製相反的一面。這種部落主義可以在加密貨幣中經常看到,這意味著讀者消費了扭曲的現實。

作為Coinbase 的聯合創始人,Fred Ehrsam 解釋道:

「加密貨幣造成強大的部落主義。一旦你擁有一種貨幣,你的動機就是使這種貨幣的價值增加。每天都可以在reddit 上看到加密部落主義。分紅產生並報告支持其持股的新聞。

加密部落主義以兩種常見方式發揮作用:

1)人們宣傳自己的貨幣;

2)人們詆毀其他貨幣。人們宣傳他們自己的貨幣的證據是,貨幣在其次級債務上的積極到消極的消息不平衡。」

就目前而言,我提出了三個評估技術媒體的要點:

1. 辨別重要內容背後的激勵措施

首先,需要考慮一位作家或者演講者的動機,無論是直接還是間接的。

當我閱讀一篇文章或者聽到一個演講時,我經常會問自己幾個問題:

背景:他們的技術背景是什麼,為什麼他們適合在這個話題上發言?

目的:他們發表演講或者博客的目的是什麼?招聘,樹立個人品牌,還是擴展新業務?

衝突:他們可能會發生什麼衝突,這是如何影響這些信息的?

盟友:還有誰想要這些內容?

分銷商激勵措施:為什麼分銷商(社交網路、媒體刊物)將這些內容推送給我?

當我們看到很多公司的新聞時,往往表明他們想要從我們身上獲取某些東西。他們的員工有意識地接觸記者,並嘗試寫一篇文章。

2. 灌輸宣傳

其次,灌輸宣稱要求的願望。

例如,公司會定期展示他們量身定製的基準,以最好的方式展示他們的產品。運行我們自己的基準通常並不難,這反映了我們現實世界的用例。

回顧技術趨勢和最終結果是另一種方法,類似於回溯測試:當我們根據自己所見過的事物思考幾年後人們如何看待它時,更容易忽略炒作。

當你不同意或看到過分的激勵問題時,可能會在網上社區發表見解。在Hacker News上,這可能是你自己的評論或帖子,即使它是訪客賬戶。新的社交網路設計可能會讓我們信任未來關鍵激勵問題的人。

3. 建立一個專家社區

檢查你做重要技術決策所依靠的社區。

建立一個從真相中受益、具有批判性思維和專業知識的人群是很重要的。這可以是前員工、同學或同事。你可以用最貼心的工程師來不斷擴充它。在線上,你可以經常在小眾黑客新聞帖子和開源郵件列表、聊天室的評論中找到其中的一些組。在職業生涯的早期,尋找一位有思想的導師是至關重要的。

在許多方面,這種方法反映了計算機安全的信任網路(https://en.wikipedia.org/wiki/Web_of_trust),我們期待可信賴的朋友,以及這些可信賴的朋友的朋友。

如果教授你技術課程的老師具有分辨真偽的能力,那麼你應該感到慶幸。我並不清楚這些老師是否能夠辨別技術媒體,也不知道他們如何選擇技術工具。如果不能,那麼我們將會被誤導,直到加入一個優秀的團隊,從中吸取教訓才能讓我們走上正軌。

在評估深度技術性決策時,在我們社區擁有一些深思熟慮的專家也非常重要,比如使用什麼資料庫或如何最好地構建系統。當然也有一些專家是危險的,他們對自己能力的信心意味著他們不會質疑許多深層次的假設,並且在世界變化時無法做出調整。有思想的專家既有專業知識,又有堅定的見解。

總結

工程師與我們設計的機器學習演算法有一些相似之處。數據都用於推斷未來的決策。因此,一個精心策劃的訓練數據集變得非常重要,在我們的信息輸入受到損害時可以調整錯誤。

除了鼓勵批判性思維並尋找值得信賴的工程師網路之外,我幾乎沒有談及其他問題。例如,我們是否應該討論備用的Hacker News 和Twitter 演算法,希望創造更好的工程師?是否應該針對開源開發者進行衝突公開?像Free Code Camp(https://www.freecodecamp.org/) 這樣的大眾化技術博客是否擁有一個技術委員會,用於評估作者背景和博客內容?我們是否應該在編程入門和計算機課程中教授技術媒體素養?

儘管如此,對於批判性思維和測試假設是工程師和科學家如何處理這個世界的一個自然部分,我倍感欣慰。這種思維方式的作用遠遠超出了我們旨在解決的日常技術問題。

原文:https://www.nemil.com/musings/hack-an-engineer.html

提供者:Nemil Dalal

譯者:安翔

責編:琥珀


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

一文了解 2018年最火爆的30個機器學習項目
程序員,你和搬磚還有啥區別?

TAG:CSDN |