這兩年我遇到過的“奇葩程序員”

(一)

第一個故事來源於我的第一家實習公司。

我在第一家公司實習的時候,我的前端負責人是一個長相比我還年輕的“小夥子”,事實上那時候我大三,而他已經過了而立之年。所謂師傅領進門,修行看個人。我從他身上聽過的最多的一句忠告就是:“這個需求做不了”。我不知道是他當時覺得我太菜還是怎樣,反正最終到我手裏的需求,經過他的高超的社交技巧,都會變得極其簡單,以至我登陸第二家公司後初期有些不適應“有求必應”的開發流程。

有一次在飯桌上,他跟我們詳細講解了如何通過“談判”減輕自己的工作量,其實就是如何把“這個需求我懶得做”編譯成“這個需求我做不了”。他說從事前端那麼多年,從來沒有遇到過真正不講理的產品和需求,雖然產品經理大多不太瞭解編程,但我發現他們一旦提出一個複雜需求的時候,都會有個事實依據,就是XXX已經實現過這個需求,所以這個需求是能被實現的。這樣的因果論看似沒有問題,但作爲程序員。第一反應肯定是——你***要我做BAT的需求,那你***倒是給我發BAT的薪水鴨!當然表面上你不能這麼說,然後就是花裏胡哨一整套理論和實踐。說實話有些東西針學不來,還是得靠自己去悟。

這裏我分享一些個人經驗來避免一些不必要的枯燥工作。當你一個項目工期較短,又需要實現一個看起來簡單實現起來複雜的需求的時候,你可以提出“我需要延長工期來實現這個需求,這個需求我加班也做不完之類的要求”,事實上全世界的人都知道這個需求需要快速上線,這個時候產品經理就會做出讓步,然後你就可以提出一些可行的簡單的替換方案,要注意的是,需求可以改,但最好不要砍,免得被老闆問責,因爲你永遠不知道你認爲雞肋的功能是不是老闆眼裏的“核心競爭力”。第二種情況是在遇到擁有較長週期的項目的時候,遇到一個較爲複雜的需求,如果這個需求跟其他模塊沒有聯動,你大可以先做其他模塊,再做複雜模塊,到時候時間不夠,又可以用前面的方法,如果這個模塊是核心模塊,你可以預估一個實現時間,如果工期不夠,就提出招人來幫你完成一些簡單的模塊(然後再偷偷把複雜模塊夾雜到簡單模塊裏給實習生做,豈不美哉,手動滑稽)。上面兩種方法,僅供參考。

(二)

第二個故事來源於一次電話面試。

我在一篇講述個人成長經歷的文章裏提到,如何通過面試來提升自己的能力,在工作的第一年,我一直對這個方法深信不疑,並且樂此不疲的進行嘗試。當然也因爲我的第一份正式工作的薪水略低,自己也想盡快跳槽。有一次晚上九點半左右,突然接到一個電話,打電話過來的是有讚的某高級程序員。說實話,我本身就對這種大晚上的跑過來打攪你休息的電面十分排斥,但礙於對方是“996先鋒”公司,所以出於禮貌沒有直接掛斷電話。

有幾個印象比較深刻的問題,說出來給大家樂呵樂呵。

1.你簡歷上寫了你會vue,那你知道數據雙向綁定怎麼寫嗎?我寫過一篇文章專門探究vue的數據雙向綁定,我直接告訴他核心思想是用Object.defineProperty重寫對象的get/set,具體我博客有寫。然鵝他不死心,依舊對這個“源碼”刨根問底,最終我只能暗示他“我寫不出來”。

2.你簡歷上寫了你會js,你對js引擎有什麼看法?你雞母雞js引擎的工作原理?你有沒有發現過瀏覽器js引擎的bug?這題我是真的不會,不知各位前端專家有何高見。

在面試的時候我遇到過很多這類程序員,他們問你問題其實不是問你會不會,而是爲了炫耀他會你不會。我發現很多公司的高級程序員在某一方面或某幾個方面有非常深刻的見解,這對公司來說是好事,但如果你讓這種類型的程序員去面試一個初來乍到的“新人”,那結果很可能是災難性的。他們會對志同道合的爬友十分有好感,而對於那些不怎麼了解他深入挖掘的領域的人則十分排斥。有時候公司只是需要一個寫活動頁的小碼農,在面試的時候卻要經歷一個XX領域專家的狂轟亂炸,這對於公司完全沒有任何好處。

爲了防止此類情況發生,我在面試“新人”的時候很少問一些純技術的問題,部分原因是我對自己部門的定位十分精確,老闆不需要我們造火箭,而稍加培養幾乎都能獲取搬磚資格證。那爲什麼不找個漂亮點的小姐姐坐你旁邊養養眼呢?

(三)

第三個故事來源於一個鍵盤俠。

由於CSDN的某些噁心操作,我在上半年找了一個新的平臺打算遷移博客,結果發現“掘金”的摸魚功能比博客更吸引人。於是自己經常會在上面摸魚。某天收到一條留言,複製粘貼如下:

“看了你寫的文章,照搬文檔居然還能寫得比文檔還差......”

也不知道這位“大神”看了我多少文章得出的結論,但想必這個大神肯定很厲害,點進去查看了他的個人資料,發現他,一篇文章都沒有寫過,想必肯定是不屑於寫文章的超級大神,又發現正好有GitHub地址,於是想進去觀摩一下現在的大神都是怎麼寫代碼的,給大家也做個參考吧(https://github.com/chance9077

以我淺顯的水平得出的結論是——這是一個新的不能再新的新手。

寫博客本身是一個積累的過程,再看看我兩年前寫的文章,有很多地方都是“亂七八糟”,這應該是一件很正常的事情,但這並不影響處於同一水平的人去閱讀我兩年前的文章,可能對於那個階段的人來講 ()=>{} 比 function (){} 的代碼閱讀性更強本身就是一句屁話。每個階段的人都有每個階段可以讀的文章,如果你覺得別人寫的不好,也沒必要噴,如果真的想噴,你也應該比他做得更好再噴。

有些人覺得寫博客是一件很容易的事情,我在csdn官方羣聽過的最多的兩句話就是:

XXX文章只有幾個字,爲什麼閱讀量那麼高?

XXX文章沒我寫得好,爲什麼閱讀量比我高?

有些人在經歷這樣的挫敗感之後會選擇放棄,事實上,堅持下來的人都成爲了贏家。堅持,就是這個行業最容易成功的方式。根據2/8理論,有80%的人都在白嫖網上的資源,只有20%的在創作,而這20%的人裏面,最多隻有1%的人堅持創作。如果你想噴我,煩請你先成爲這1%,然後,做得比我好,那我就會洗耳恭聽。沒有實力,只會嗶嗶的人,越多越好,越多這樣的人存在,就越體現我的價值。

(四)

最後談談我自己,一個不知道怎麼評價的程序員。

我在博客裏不止一次提到——不忘初心。一開始我以爲不忘初心,方得始終,後來漸漸的變成了,不忘初心,就不錯了。現在我已經完全不在乎初心了,現在應該是隨心而行,隨風而動(手動滑稽)。那麼我的初心是什麼吶?BAT,就是我的初心。如果說有什麼事情改變了我的初心,應該是上一次去海康面試的經歷改變了我對大廠的看法。

我發現沒有任何一個老闆願意支付薪水請你喝茶聊天,所有的資本主義都是一樣的目的,就是壓榨員工的剩餘勞動價值,因此我爲什麼不選擇時薪更高的工作呢?一份20K996的工作,和一份12K955的工作,算一下時薪,前者333/小時 ,後者 342/小時,後者的時薪其實更高,如果正常交稅的話,後者會更加划算。話是這麼說,但真的給人選擇,傻子都會選擇前者。因爲有些人根本就沒得選,對於現在的年輕人來說,拼命掙錢就是爲了攢首付買一個小窩。“買房”就是很多人的初心。

我從上一家公司離職的時候,收穫了一句很有哲理的忠告——什麼事情都是水到渠成的,到了該有房的年紀,自然就會有房,不要關注錢是怎麼來的。可惜這句話不能在我身上應驗了,因爲我剛畢業就買房了(手動滑稽),但我發現很多程序員確實是在30到35之間買了自己的首套房,所以我從來不擔心未來會怎樣,我只關心這禮拜雙休日的安排,和下禮拜雙休日的安排,再往後的事,日後再說唄。說不定十年後房價真的如馬雲所說,跟蔥一樣也卜是卜可能。

關於程序員這一行,絕大部分人其實就是在搬磚,我常說一句話——寫代碼其實跟喝水一樣容易,因爲我常在“新手羣”說這種話,所以別人以爲我在嘲諷他們,其實不是。我覺得程序員的工作跟UI的工作本質上沒有什麼區別,只不過UI是看產品原型在腦子裏生成圖,然後PS出來,而我們則是看UI圖就在腦子裏生成了代碼,然後把腦子裏的東西寫出來罷了,有點像小學時候那個看圖作文。

對我來說,工作應該是一件很輕鬆的事情,我從來沒遇到過做不了的需求,就跟上文中提到過的一樣,大部分看起來複雜的需求,在代碼層面都已經有過先例了,因此除非產品故意找茬,否則就不存在什麼做不了的需求。

人生苦短,及時行樂!

 

 

發佈了108 篇原創文章 · 獲贊 191 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章