App下載

“科班出身”的程序員和“培訓(xùn)出身”的程序員的大型辯論(甩鍋)現(xiàn)場

猿友 2020-09-22 11:40:33 瀏覽數(shù) (3251)
反饋

文章來源于公眾號:Java極客技術(shù) 作者:鴨血粉絲

前幾天阿粉說阿粉最近換了公司,而且入職之后干掉了公司里面的測試數(shù)據(jù)庫的事情,而接下來的事就比較有意思了,來自“科班出身”的哥們和來自“培訓(xùn)出身”的我的大型辯論(SIBI)現(xiàn)場,也不能說是通俗的甩鍋,但是確實有那么點意味。

甩鍋三連

現(xiàn)場一

“科班程序員”:這功能很好實現(xiàn)呀,直接寫幾個嵌套for循環(huán),在里面判斷一下就行了,直接返回數(shù)據(jù)就行了,為啥你這寫的這么墨跡呢?

“培訓(xùn)程序員”:內(nèi)心OS:嵌套 for?再加上幾個 if,你確定你的數(shù)據(jù)超過1w條,沒有明顯的延遲么?于是,只能告訴他,兄弟,這么寫肯定是沒什么問題,但是你不想一下后期怎么維護么?你這才一兩萬的數(shù)據(jù)我都能感覺出明顯的延遲了,為啥不能優(yōu)化一下呢?

說實話,說到這個問題的時候,也避免不了被大家diss,覺得這不是科班出身的程序員能寫出來的代碼,而事實情況確實是這個樣子的,也可能是工作經(jīng)驗不太足,所以很多代碼寫的不是很給力,也可能是之前的公司做過幾次 CodeReview,所以每次在寫完代碼之后都習(xí)慣性的去考慮一下這個代碼還能不能優(yōu)化的更加簡單一點,所以考慮的時間要稍微長一點。

于是,兄弟就開始和我較真了,阿粉的策略一直很簡單,兄弟,你自己寫個三個 for 循環(huán),然后去看看你執(zhí)行完這個循環(huán)的時間,然后想想如果在循環(huán)中加入查詢數(shù)據(jù)庫的所有的操作,你再想想怎么處理,就比如說,你要比對循環(huán)里面的 List 里面是不是有這個的時候,不用寫那么多的 for 循環(huán),不然那不就是 X*Y 次了,為啥不再單獨的造一個 List 用 contains 來獲取呢?

謝謝你這么忙還給我找事情

現(xiàn)場二

“科班程序員”:哥,這個功能是不是還可以再繼續(xù)把這些內(nèi)容加上,這塊我覺得加上它會更加的完善。

“培訓(xùn)程序員”:來自內(nèi)心的OS,加個錘子,需求上怎么定,我就怎么干,干完了不是就OK了,為什么要多此一舉,但是心里這么想,實際還是不能這么干,于是說,這個地方你看怎么改,郵件給我說,抄送給xxx,然后我再改。

也不是說加這個不行,確實是,按照需求完成了工作之后,你再過來給我扯東扯西的,有點讓人難以接受不是,你要是說這地方寫的有問題,是吧,咱們還能請教一下你這塊應(yīng)該修改成什么樣子,你現(xiàn)在過來給我說加功能,你這不是要搞事情,怎么能慣你這個毛病呢,于是二話不說,先發(fā)郵件,抄送給領(lǐng)導(dǎo),誰讓加的,別到時候你一句話,加了功能,到最后出問題了,第一時間找的還是我,于是這個功能需求上沒有的,自動屏蔽。

阿粉在這里不是說“科班出身”,和“培訓(xùn)出身”之間的差距,沒有任何其他的含義,只是這次確實是比較巧合,這個哥們是剛畢業(yè)2年的本科,專業(yè)是計算機科學(xué)與技術(shù)的。僅僅是巧合,不要多想呦。

現(xiàn)場三

“科班程序員”:這個簡單,幾天就能搞定了,不用那么麻煩,

“培訓(xùn)程序員”:這是啥呀,我得先看看基礎(chǔ),然后再實際動手操作吧。

說實話,不得不說,有時候“科班程序員”雖然有些時候會讓你感覺到他們有著一些些的優(yōu)越感,但是技術(shù)也確實很給力,比如說在公司要使用一項新技術(shù),他們能夠二話不說的幾天就能開始干活,而在這些內(nèi)容上相比較,“培訓(xùn)出身”的程序員反而沒有那么給力,而是得先摸清楚基礎(chǔ),畢竟大部分的科班生都是經(jīng)過學(xué)校系統(tǒng)的學(xué)習(xí),知識體系更加完整,所以能夠更深入的解決問題,但是有一些礙于時間短的原因,沒有成功的積累起來經(jīng)驗的時候,還是欠缺點火候的。

這不正是之前網(wǎng)上看的一個圖么?

科班程序員與自學(xué)編程的辯論

現(xiàn)場四

這個場景就比較有意思了,就是雙雙聯(lián)合和產(chǎn)品battle,面對產(chǎn)品的靈魂提問:

“這個需求用戶/運營說要改成這樣,”,

我們的統(tǒng)一回答,郵件呢?你發(fā)個郵件先,然后抄送給那個誰誰誰,單獨給我說,我實在是不敢給你這么干,不然改來改去,還是第一版怎么弄,你就先發(fā)郵件,證明我們在干活不是嗎?你先去準(zhǔn)備郵件吧。

這話說的是沒有啥毛病吧,這是經(jīng)驗總結(jié)出來了,不然等你開了頭之后,接下來的事情就比較難辦了,能做完還行,這做不完的話,那就相當(dāng)于你沒有干活,所以,對程序員來說,你把做的功能給我羅列清楚,然后提交上去,下發(fā)指定哪些功能確定之后,我再做也是完全不虛的。

說了也挺多的了,阿粉也在后邊給大家放上一個曾經(jīng)的面試題,是屬于那種上手實踐的面試題。

面試官給的一個面試題,而面試題很有意思,大家可以看一下。這個題阿粉是沒有回答上來,但是來自科班生的答案,讓面試官很滿意:

面試題

而他的實現(xiàn)方法和我從網(wǎng)上看到的是一模一樣的,

Task task = new Task(() => checkCustomerprice());
task.Start();
bool result = task.Result;


Task task2 = new Task(() => checkInventory());
task2.Start();
bool result2 = task2.Result;


 if(result&&result2)
    return true;
 else 
    return  false;

網(wǎng)上的大神也不確定對不對,阿粉覺得這么實現(xiàn)確實也是有道理的,不知道大家的意見是什么樣子的呢?

以上就是W3Cschool編程獅關(guān)于“科班出身”的程序員和“培訓(xùn)出身”的程序員的大型辯論(甩鍋)現(xiàn)場的相關(guān)介紹了,希望對大家有所幫助。

0 人點贊