奇葩冒牌程式設計師的故事
在講述這個故事之前,我有一句話要說:
程式設計是一件特別難的事情!
成為優秀的程式設計人員沒有捷徑,你要擁有高智商,要保持謙遜,還要不斷的努力,犯錯,在錯誤中成長,深刻理解你所學習的材料。
但是有些人就是一定要尋找捷徑,而其中之一,就是使用欺詐的手段。
這篇文章講述的就是我所遇到的一個冒牌程式設計師。
幾年前,我認識了一個30多歲的人,我們姑且給他起名叫Bryan吧。
Bryan想要成為一名程式設計師,在我認識他之前的一年時間裡,他一直都在有一搭無一搭的學習Ruby,他還參加了一個為期12周的程式設計訓練營。此前他有著12年的工作經驗,但是他一直都在從事貿易和商業方面的工作。作為一個樂於助人的人,我成為了他的程式設計學習導師,每週和他見兩次面。
我幫助他完成他的web應用,基本都是部落格和Todo類應用,幫助他學習各種程式設計基本知識。雖然他參加過那個訓練營,但是他對程式設計知識的瞭解還是少的可憐,讓我有一些驚訝。我鼓勵他系統的去學習Ruby,他也承諾會按我說的去做,我送了他基本有關Ruby學習的書。我本來以為我是一個好的導師,但是結果卻讓我大跌眼鏡。
危險訊號 #1
我在Github上關注了他,並且定期會檢視他的repo,給他提意見,有一天,我在檢視他的Github賬戶的時候,突然發現了5個新的repo,而且基本都已經完成了。每個repo都有2-3個commit,而且體積都非常大。我懷疑他複製了別人的應用程式碼,在問過他之後,他的回答是:“我在學習5個新的輔導專案,而且希望在24小時內完成它們。”
我又問他:“這些程式碼是你複製的,還是為了更好的理解而在學習之後自己手打上去的?”他的回答是:“這些程式碼都太簡單了,所以我只是把它們複製到我的repo裡,然後再進行commit。這樣用人企業就會以為這些專案是我自己做的!”
其實很多開發者都會複製別人的程式碼,尤其是新手。但是在複製程式碼之後,我們必須要仔細閱讀,真正理解這些程式碼的意思和用法。雖然我們不鼓勵複製別人的程式碼,但是這並不算什麼太大的錯誤,只要你明確說明程式碼的來源就好。
於是我對他說,之後我會對他進行測試,看看他是否真的理解了這些程式碼。但是不知道為了什麼,他一直堅持說自己不需要學習這些程式碼。他的舉動讓我感到很失望,如果他想要找到一份開發者的工作,就不應該逃避學習。企業想要看到的是,是你自己寫的程式碼,而不是從別處抄來的程式碼。
危險訊號 #2
有一天Bryan在Slack上聯絡我,問我是否能幫他完成一個Ruby的練習。這是一個基本的fizzbuzz挑戰,很多企業都會用這個測試來考察面試人員的能力。我完成了這個練習,並且給他寫好了詳細的說明,好讓他能理解。而他的迴應是:“太好了,我今晚就把這個提交上去。”我回復說:“等等!這個是面試企業給你發來的面試測試嗎?”而他立刻從Slack上下線了。
接下來的幾天他都沒有聯絡我。幾天之後,我又一次在Slack上看到了他,他告訴我將要去參加一個初創企業的最終面試,職位是初級Rails開發者。我現在感覺有些愧疚,但是那時我竟然祝賀了他,並且祝他一切好運。而且我並沒有提及幾天前的那件事,我有點撒手不管的意思。
危險訊號 #3
那周晚些時候,我發現他的Github賬戶上又多了一個repo,這是一個名為capstone_test的專案。它是一個非常完善的CMS應用,而且建立時間只用了18個小時。在沒有幫助的情況下,他絕對不可能在18個小時的時間裡就完成這樣的應用。雖然滿腹狐疑,但是作為他的導師,我還是給這個專案提了一些意見。
幾天之後,他在Slack上聯絡到我,對我表示了感謝,他採納了我的建議,並且把專案提交給了正在面試的企業。我問他是怎樣在18個小時內完成這個專案的,他回答說自己使用了AirPair或其他幫助服務。我對他產生了極度的憤怒情緒,他先是讓我幫他完成了第一個程式設計測試,然後又以100美元/小時的價格使用了AirPair的服務,讓別人幫他做測試專案。
危險訊號 #4
我其實很少關注我的Github流量,也不太關注是誰複製了我的程式碼。但是有一次,我很巧合的發現我的3個專案都被同一個人複製了,我覺得有些奇怪,但是也沒太往心裡去。之後,我發現Bryan的Github上使用了我的repo!而且並不是fork過去的,而是偽裝成這些程式碼是他自己寫的樣子!雖然我的專案都是開源專案,誰都可以使用,但是我希望我的程式碼被正當的使用,而不是成為欺詐的工具。
Bryan獲得了工作!
我在LinkedIn上發現Bryan已經成為了Acme Company的軟體工程師。在入職之後,他不斷的向我請教各種問題。我給他傳送了一些連結,並且問他現在正在做什麼專案。他告訴我他在做一個實時通知系統,他也承認自己入職以後對工作完全一竅不通。
我對他更失望了。他通過欺詐得到了一份初級開發者的工作。讓我更生氣的是,他只有6個月的系統學習經驗,完全沒有工作經驗,但是他的年薪甚至比我還高2萬美元。
我不想在幫助他了。於是我不再為他提供幫助,不回覆他的Slack資訊,我要讓別人識破他的濫竽充數。如果當初我的導師發現我在這樣騙人,他對我的懲罰會比我對Bryan的懲罰嚴重10倍。
Bryan丟掉了工作
一個月過去了,我們之間沒有任何交流。我一直都在關注他的部落格,發現他每週都會發一篇程式設計學習的文章。我覺得他可能真正開始學習了,但是我發現這些文章都是從Stack Overflow上覆制來的,就連解釋說明都是複製來的。這明顯就是赤裸裸的抄襲!
有一天Bryan在Slack上詢問誰知道哪家公司在招開發者。我問他:“你剛找到的那份工作怎麼了?”他的回答是,他覺得那家公司不適合他,他想要尋找其他機會。但是他不知道,事實上我認識他公司裡的一個人,並且深入的瞭解了他在這家公司的情況。
我的朋友對我說,公司上下都覺得Bryan連一個初級開發者都算不上,他的各種解決辦法都是從StackOverflow上覆制來的。公司打算給他3周的考察時間,如果發現他的確能力不夠,就解僱他。我告訴我的朋友,就連入職時的測試,都是Bryan騙我幫他做的,而且他還用了AirPair僱別人幫他寫專案。我的朋友非常生氣,立刻就給工程VP打了電話。
2天之後,Bryan被公司解僱,重回了自己從前的行業,做起了臨時工的工作。
經驗教訓
成為一名優秀的開發者,需要你不斷努力,你要學習別人的專案,而不是偷竊別人的專案。
在錯誤中成長,讓錯誤成為成長的催化劑。
決不能複製別人的程式碼,而且不說明原作者是誰。
決不能糊弄導師,企圖矇混過關。
抄襲會被人唾棄,並且毀了自己在行業內的名聲。
總結
丟了工作之後,Bryan曾經聯絡我,讓我幫他找一份新工作。我對他說,我無法和一個不值得我信任的人合作,從此以後我不會再為他提供任何幫助。在那之後,我們再沒聯絡過,而Bryan至今依然在複製別人的程式碼,企圖用這種方式找到一份開發者的工作。
相關文章
- 奇葩的能讓程式設計師抓狂的一些問題程式設計師
- 身為程式設計師碰到最奇葩的需求是怎樣的?程式設計師
- 21個奇葩註釋,程式設計師看了都點贊程式設計師
- 39個史詩級奇葩程式碼註釋,程式不會崩,但程式設計師會!程式設計師
- 從美術生到程式設計師轉型之路【我的故事】程式設計師
- 【程式設計師腦洞故事】宇宙盡頭的描述符(上)程式設計師
- 一個故事告訴你什麼才是好的程式設計師程式設計師
- 以前的程式設計師,現在的程式設計師程式設計師
- [開發故事]成為優秀程式設計師的十個有效方法程式設計師
- 美女程式設計師觀點:程式設計師最重要的非程式設計技巧程式設計師
- 普通程式設計師和厲害程式設計師的差距!程式設計師
- 講一個程式設計師如何副業月賺三萬的真實故事程式設計師
- 程式設計師何苦為難程式設計師?程式設計師
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 【微軟位元熊故事匯】9月英雄故事:MVP視角下的當代程式設計師自我解讀微軟MVP程式設計師
- 幽默:程式設計師成功完成程式設計的眼睛程式設計師
- 1024程式設計師節:向改變世界的程式設計師致敬程式設計師
- 又一名倒下的程式設計師! - 程式設計師健康指南程式設計師
- 1024程式設計師節,向用程式碼改變世界的程式設計師致敬!程式設計師
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- 程式設計師的工資高,到底程式設計師的工資有多高?程式設計師
- 漫畫 | 夜深了,程式設計師的電腦卻沒關,發生了這樣的故事…程式設計師
- 程式設計師都遇見過什麼奇葩? 客戶: 你程式碼加這麼多註釋有病啊程式設計師
- 做個清醒的程式設計師之要不要做程式設計師程式設計師
- 不會填坑的程式設計師不是一個好程式設計師!程式設計師
- 讓程式設計師崩潰的瞬間(非程式設計師勿入)程式設計師
- 程式設計師節只有程式設計師才能看懂的祝福語程式設計師
- 程式設計師的晉級之路:程式設計師如何快速工資翻倍?程式設計師
- 1024程式設計師節,向1G棒的程式設計師致敬!程式設計師
- 程式設計師週刊(第4期):程式設計師的財富觀程式設計師
- 程式設計師只配加班?有錢有閒的程式設計師都在哪?程式設計師
- Fira Code:適合程式設計師的程式設計字型程式設計師
- 程式設計師的精力管理程式設計師
- 程式設計師的哲學程式設計師
- 聊聊程式設計師的信仰程式設計師
- 程式設計師的數學程式設計師
- 程式設計師的鍵盤程式設計師
- 程式設計師的“三十而已”程式設計師