App下載

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

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

文章來源于公眾號: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,所以每次在寫完代碼之后都習慣性的去考慮一下這個代碼還能不能優(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é)習,知識體系更加完整,所以能夠更深入的解決問題,但是有一些礙于時間短的原因,沒有成功的積累起來經(jīng)驗的時候,還是欠缺點火候的。

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

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

現(xiàn)場四

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

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

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

這話說的是沒有啥毛病吧,這是經(jīng)驗總結(jié)出來了,不然等你開了頭之后,接下來的事情就比較難辦了,能做完還行,這做不完的話,那就相當于你沒有干活,所以,對程序員來說,你把做的功能給我羅列清楚,然后提交上去,下發(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 人點贊