成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么美國(guó)程序員工作比中國(guó)程序員工作輕松、加班少?這個(gè)回答直擊所有人痛點(diǎn)!

新聞
感覺(jué)美國(guó)程序員工作時(shí)間靈活、加班少,相比與國(guó)內(nèi)程序員工作,似乎壓力小很多。但是美國(guó)程序員的產(chǎn)出卻非常牛逼(如google、fb等)。難道是因?yàn)樗麄冃矢邌?如果是,國(guó)內(nèi)程序員是否能提高效率減少加班和壓力呢?

[[332751]]

 在知乎上有這樣一個(gè)問(wèn)題“為什么美國(guó)程序員工作比中國(guó)程序員工作輕松、加班少?”,問(wèn)題描述如下:

感覺(jué)美國(guó)程序員工作時(shí)間靈活、加班少,相比與國(guó)內(nèi)程序員工作,似乎壓力小很多。但是美國(guó)程序員的產(chǎn)出卻非常牛逼(如google、fb等)。難道是因?yàn)樗麄冃矢邌?如果是,國(guó)內(nèi)程序員是否能提高效率減少加班和壓力呢?

下面這個(gè)來(lái)自“invalid s”的回答獲得近萬(wàn)個(gè)贊,一起感受一下吧。

01

是的,他們效率更高。

但是,國(guó)內(nèi)程序員不可能通過(guò)提高效率減少加班和壓力。因?yàn)檫@事的決定權(quán)不在你而在公司。

之前“開(kāi)發(fā)和產(chǎn)品經(jīng)理因?yàn)樽R(shí)別手機(jī)外殼顏色而打架”的傳聞之所以能引起廣泛共鳴,就是因?yàn)檫@類(lèi)事實(shí)在太普遍了,太多人感同身受。

因?yàn)橹懈邔由怠?/p>

所以,當(dāng)你花大力氣設(shè)計(jì)了一個(gè)精簡(jiǎn)高效的架構(gòu),把一個(gè)很難的問(wèn)題干凈漂亮解決掉時(shí),絕不會(huì)有人擊節(jié)贊嘆——恰恰相反,他們覺(jué)得你搗鼓了個(gè)把月才產(chǎn)出幾百行代碼,反而會(huì)犯嘀咕:這人是磨洋工呢,還是不會(huì)?

你面向搜索引擎編程,亂七八糟拷一大堆東西到代碼里,用到用不到都留著,KPI表現(xiàn)反而會(huì)特別亮眼。

一天幾千行代碼當(dāng)然亮眼。

一群外行,怎么會(huì)知道這幾千行里面就兩行有效呢。

02

類(lèi)似的,你兢兢業(yè)業(yè),一個(gè)bug都不讓出,人家就把你忘了;反之,你大大咧咧,一個(gè)功能你能寫(xiě)出800個(gè)bug——經(jīng)理看起來(lái)就很忙很努力,因?yàn)樗貌煌5暮湍憬涣?你也很忙很努力,不停跑經(jīng)理那里討論問(wèn)題:全公司你最忙你經(jīng)理最敬業(yè),不獎(jiǎng)勵(lì)你倆還有天理嗎?!

你看,你好我好大家好,身為聰明人,你為什么不多寫(xiě)點(diǎn)bug呢。

當(dāng)然了,這是極端情況。大多數(shù)公司還是沒(méi)這么極端的——他們的中高層還不是純2X。

即便如此,他們中的絕大多數(shù)——包括多數(shù)程序員——仍然不懂軟件工程。

他們并不知道,或者說(shuō)并沒(méi)有想過(guò),今天你寫(xiě)的每一行代碼,都會(huì)是明天的新代碼的地基。

即使你知道,也沒(méi)辦法讓中高層明白。

如果你今天寫(xiě)的太過(guò)隨意,明天就很難在這個(gè)基礎(chǔ)上擴(kuò)展它;如果你著急完成任務(wù),今天不先把昨天的設(shè)計(jì)缺陷修改掉,而是想一個(gè)辦法繞開(kāi)……那么明天你就不得不繞著圈子躲開(kāi)更多問(wèn)題。

越往后,就越難改;越難改,就越容易出bug。

但是,如果你想改昨天的代碼,你就得先解決前天的問(wèn)題;想解決前天的問(wèn)題,大前天乃至大半年前的設(shè)計(jì)缺陷你就得逐一解決掉。然后,這大半年里,你就完不成任何新提的需求。

反正至多做三兩年我就要換工作了。隨他去吧,完成眼前的工作要緊。

因此,為了急功近利的眼前效率,中國(guó)程序員的長(zhǎng)遠(yuǎn)效率自然變得極低——越往后越低。

03

我曾經(jīng)接過(guò)一個(gè)任務(wù)。

因?yàn)楦邔釉O(shè)計(jì)的嚴(yán)重問(wèn)題,我們不得不在網(wǎng)絡(luò)通信層去更新用戶登錄狀態(tài)(稍微懂點(diǎn)的都知道這需求有多奇葩:打個(gè)比方的話,這就好像讓發(fā)動(dòng)機(jī)制造商在活塞上做一個(gè)閥門(mén)以便隨時(shí)泄壓一樣怪異。原因是我們的整車(chē)商忘了裝啟動(dòng)機(jī)也沒(méi)有離合器,所以需要減輕發(fā)動(dòng)機(jī)阻力方便人家把車(chē)推起來(lái))。

項(xiàng)目經(jīng)理不懂。他覺(jué)得一條SQL語(yǔ)句也就是0.0x秒的事,我們的流程耽誤1秒問(wèn)題應(yīng)該不大,所以就答應(yīng)了。

我說(shuō)每個(gè)用戶都可能卡這么0.0x秒,人多了咱這模塊吞吐量就沒(méi)法看了。這個(gè)咱不能接。真要接也行,得改成多線程架構(gòu),得多安排時(shí)間。

經(jīng)理說(shuō)沒(méi)事,直接加就行。做出事了他們負(fù)責(zé)就是(言外之意,一旦接了這個(gè),將來(lái)我們自己的鍋也有辦法拉他們一起來(lái)背)。

既然都這么說(shuō)了,我就動(dòng)手做。

做完,內(nèi)部測(cè)試沒(méi)有任何問(wèn)題;但一上線,整個(gè)系統(tǒng)死了。

原因是,那個(gè)庫(kù)負(fù)荷特別大,一條數(shù)據(jù)庫(kù)更新語(yǔ)句能卡幾秒甚至幾十秒。將來(lái)人多了還會(huì)更卡。

經(jīng)理說(shuō),算了,你改多線程吧。

我思考了三天,決定不動(dòng)我們這邊的架構(gòu);而是設(shè)計(jì)個(gè)thread_call接口。任何傳給thread_call的函數(shù)都會(huì)在另外的線程里執(zhí)行——為了避免讀寫(xiě)到調(diào)用函數(shù)的局部變量、然后在線程執(zhí)行時(shí)調(diào)用函數(shù)已退出,thread_call內(nèi)部會(huì)自動(dòng)申請(qǐng)內(nèi)存,把轉(zhuǎn)交給工作函數(shù)的字符串等通過(guò)指針引用的參數(shù)統(tǒng)統(tǒng)復(fù)制過(guò)去;當(dāng)線程執(zhí)行結(jié)束,函數(shù)返回值也會(huì)保存在某地等待查詢(xún)(超時(shí)或查詢(xún)后自動(dòng)刪除),同時(shí)釋放用到的資源。

為了實(shí)現(xiàn)這個(gè),需要一個(gè)全局單例類(lèi)負(fù)責(zé)管理線程、及時(shí)清理用到的資源;同時(shí)最好有一個(gè)線程池和一個(gè)內(nèi)存池,免得頻繁申請(qǐng)/釋放。不然長(zhǎng)時(shí)間運(yùn)行下去,把內(nèi)存弄的千瘡百孔,程序就更容易出問(wèn)題了。

內(nèi)存池我已經(jīng)寫(xiě)過(guò)一個(gè)泛型版本,直接拿來(lái)用就行。剩下的線程池、資源自動(dòng)申請(qǐng)/釋放(基于RAII和泛型,不支持原始指針因?yàn)闊o(wú)法確認(rèn)空間大小、也無(wú)法確保復(fù)制成功,玩過(guò)泛型的都懂),加起來(lái)一百來(lái)行代碼解決。最終代碼量300多點(diǎn),其中一大半是注釋。

這個(gè)東西輕松的一次編譯通過(guò);然后挺過(guò)了各種測(cè)試,沒(méi)發(fā)現(xiàn)任何問(wèn)題。

這東西差不多相當(dāng)于給C做了個(gè)簡(jiǎn)易協(xié)程框架(當(dāng)時(shí)協(xié)程概念還沒(méi)流行起來(lái),不然我就把yield也實(shí)現(xiàn)進(jìn)去了),今后遇到任何類(lèi)似的“需要并行工作、但又不涉及數(shù)據(jù)競(jìng)爭(zhēng)”的需求,直接寫(xiě)個(gè)處理函數(shù)然后丟給thread_call執(zhí)行就好。

你看,如果程序都照這樣寫(xiě),是不是就會(huì)越寫(xiě)越快?

因?yàn)槟阕蛱鞂?xiě)的東西,今天可以拿來(lái)就用。寫(xiě)的越多,積累越多,實(shí)現(xiàn)新功能時(shí)需要重新實(shí)現(xiàn)的東西就越少,效率自然越高。

04

但是這個(gè)東西讓項(xiàng)目經(jīng)理作了難。

這是因?yàn)?,如果算KPI的話,等于我花一周寫(xiě)了300行代碼;然后又測(cè)了一周……兩周300行代碼的產(chǎn)出,這實(shí)在太少了。

反觀別人,一個(gè)用戶注冊(cè),人家一個(gè)字段一個(gè)字段一個(gè)字節(jié)一個(gè)字節(jié)的用代碼檢查、復(fù)制,輕輕松松搞出來(lái)500行。很水的幾個(gè)功能輕松灌水上萬(wàn)行代碼,然后部門(mén)KPI也有了,個(gè)人重要性也體現(xiàn)了——而且修不完的bug:你看,離了我們這個(gè)部門(mén),公司真不能過(guò)啊!

可我傻乎乎的300行代碼搞出這么復(fù)雜個(gè)東西,竟然還測(cè)不出bug……項(xiàng)目經(jīng)理是知道這里面功能多,但上面覺(jué)得你忽悠他。300行代碼你還能吹出花來(lái)不成?

而且,既然沒(méi)有bug,以后人家還需要你這個(gè)部門(mén)嗎?問(wèn)題都解決了,我們這些人……還有繼續(xù)雇傭的必要嗎?

總之,他希望以后再寫(xiě)程序,盡量寫(xiě)長(zhǎng)一些……而且,為什么要復(fù)用呢?其實(shí)每一個(gè)類(lèi)似的需求,都是可以給他整個(gè)幾萬(wàn)行代碼出來(lái)的嘛。

05

沒(méi)錯(cuò)。人家的預(yù)期是:這是個(gè)挺復(fù)雜挺難的任務(wù),你應(yīng)該加班加點(diǎn)忙上幾個(gè)星期,提交幾千上萬(wàn)行代碼,到時(shí)部門(mén)KPI有了個(gè)人業(yè)績(jī)也好看——將來(lái)每個(gè)類(lèi)似任務(wù)都應(yīng)照此辦理。

而我呢,輕輕松松300行代碼,杜絕了類(lèi)似任務(wù)的出現(xiàn)——什么都不用管,加一行thread_call,全都妥妥貼貼了。

一個(gè)任務(wù)對(duì)應(yīng)一行,這KPI還能看嗎?

你看,面向目標(biāo)的不同,面向KPI編碼就必然使得實(shí)現(xiàn)臃腫、問(wèn)題頻發(fā)、每天996過(guò)勞死……但做起來(lái)其實(shí)輕松愉快,因?yàn)槟阃耆梢阅ド县碓卵蠊?,然后吹噓“多線程有多難”;然后還能讓高層不斷找你、解決諸如野指針、數(shù)據(jù)臟讀臟寫(xiě)、死鎖、內(nèi)存碎片導(dǎo)致長(zhǎng)時(shí)間運(yùn)行后大塊內(nèi)存分配失敗等等等等疑難問(wèn)題——既讓你顯得重要,又能輕輕松松“騙”來(lái)大量的KPI,最后還不需要去學(xué)鬼畫(huà)符一樣、難的不要不要的泛型技術(shù)……

而面向問(wèn)題編碼呢,借助泛型,自動(dòng)識(shí)別、復(fù)制函數(shù)參數(shù)(它們可能來(lái)自調(diào)用者的棧,隨時(shí)可能失效),再加上用池來(lái)加速資源回收/分配效率、提前杜絕內(nèi)存碎片問(wèn)題——這完全是個(gè)簡(jiǎn)單輕松解決的小模塊。而且只需解決一次,我們自己的“類(lèi)協(xié)程庫(kù)”都出來(lái)了,以后寫(xiě)程序會(huì)越來(lái)越快、越來(lái)越好:你甭管我怎么做完的、耗了多少時(shí)間,功能點(diǎn)我給你實(shí)現(xiàn)了、上線后bug free,是不是對(duì)雙方都有利?

06

但是,后者在這個(gè)公司行不通。

代碼量少?zèng)]KPI你氣不氣?

bug寫(xiě)的少?zèng)]人找你顯得你不重要,倒霉不倒霉?

將來(lái)項(xiàng)目失敗抓人背鍋時(shí),別人說(shuō)我天天加班996007態(tài)度端正;而你呢,955一分鐘班不加,這態(tài)度是不是很能說(shuō)明問(wèn)題?

從上到下都不懂你能怎么的?

別說(shuō)這家公司的管理者了,他們的技術(shù)人員自己都不懂。我兩個(gè)關(guān)系比較好的同事,還真以為我們是公司里干活最少、最不重要的幾個(gè)呢。

因?yàn)閯e人忙忙碌碌總有干不完的活、修不完的bug,高層中層領(lǐng)導(dǎo)天天圍著轉(zhuǎn),求爺爺告奶奶但任務(wù)就是做不完,重要的不得了。而我們幾個(gè)公司公認(rèn)的技術(shù)專(zhuān)家呢,每天到時(shí)間就走;座位上冷冷清清,從無(wú)領(lǐng)導(dǎo)過(guò)問(wèn);經(jīng)常上班時(shí)間閑極無(wú)聊于是借“學(xué)新技術(shù)”的名義逛論壇……

時(shí)間久了,他們自己都心虛:為啥別人總是有干不完的活、見(jiàn)不完的領(lǐng)導(dǎo)?為什么我們經(jīng)常整周整周的沒(méi)有任務(wù)、閑坐著發(fā)呆?人家是不是比我們干的多、任務(wù)難啊?不對(duì)啊,每次分配任務(wù),分給我們的,都是別人接不了、不敢接的啊?

07

直到有一天,午飯后散步聊天打屁談到這事,我才覺(jué)得不對(duì),提議回去看看工作日志/提交記錄之類(lèi)東西。

那天我們大概照例聊到了下午三點(diǎn)吧——沒(méi)錯(cuò),因?yàn)槭律?,因?yàn)橐家粊?lái)工作,一個(gè)月至多也就忙一周,955都大塊大塊的空閑時(shí)間。別說(shuō)加班了,平常上班我們都經(jīng)常偷空出去散步。

悠哉游哉回到公司之后,我們就去翻看所有同事的提交記錄和bug報(bào)告數(shù)據(jù)。這才驚訝的發(fā)現(xiàn),我們比其他同事完成的功能點(diǎn)數(shù)量高出5~10倍、難度也普遍更高,bug率卻近乎為0——別人一個(gè)功能點(diǎn)能有密密麻麻幾十個(gè)bug,而且上線幾年bug都抓不完;而在我們看來(lái),這些都是壓根就不應(yīng)該發(fā)生的低級(jí)錯(cuò)誤,而且我們提交的代碼的確不包含這類(lèi)錯(cuò)誤。

所以,別人一年只做三四個(gè)功能點(diǎn),每個(gè)功能點(diǎn)都要出十幾、幾十個(gè)bug;而我們呢,一年起碼幾十個(gè)功能點(diǎn),加起來(lái)不過(guò)3~5個(gè)bug(我更是一年只有1個(gè)bug,而且bug原因還是需求沒(méi)寫(xiě)清:某個(gè)字段讓返回字符串,我按照C慣例后面加了個(gè)‘\0’;對(duì)方用的java,不能識(shí)別這個(gè)\0)。

08

問(wèn)題是,“我們接的任務(wù)最多最難”,這事我們項(xiàng)目經(jīng)理知道,中高層領(lǐng)導(dǎo)不知道。

中高層領(lǐng)導(dǎo)知道什么呢?他們只知道,這個(gè)任務(wù)總是在別人那里卡住;他們只知道,系統(tǒng)出了問(wèn)題,該找的人肯定不是我們幾個(gè)(從不出bug自然不需要找)——所以你猜,在他們心里,誰(shuí)更重要?

09

于是我決定辭職。

這是我第一次進(jìn)這種公司,也是最后一次。

因?yàn)檫@種公司完全是“逆淘汰”。水平越差越吊兒郎當(dāng)越吃香,水平越高越兢兢業(yè)業(yè)越被邊緣化。

 

責(zé)任編輯:武曉燕 來(lái)源: 悲了傷的白犀牛
相關(guān)推薦

2019-03-11 08:56:50

程序員美國(guó)工作

2015-09-22 09:58:52

程序員工作自律

2019-10-11 16:29:38

程序員

2021-06-10 06:15:41

程序員學(xué)歷互聯(lián)網(wǎng)

2015-06-04 10:29:16

程序員工作效率

2020-06-28 14:36:27

程序員技能開(kāi)發(fā)者

2015-09-11 09:53:13

.net程序員

2015-11-16 11:53:06

程序員效率加班

2018-05-29 22:38:49

AI程序員代碼

2015-08-14 09:28:44

簡(jiǎn)化程序員竅門(mén)

2015-08-13 15:29:57

簡(jiǎn)化敲門(mén)

2018-05-31 15:22:53

程序員女程序男性程序員

2018-07-17 11:10:47

程序員工資行業(yè)

2018-07-11 10:39:11

程序員效率工具

2018-08-10 10:22:19

編程語(yǔ)言Java高效工具

2019-04-08 09:37:30

國(guó)內(nèi)程序員美國(guó)程序員996.ICU

2015-09-24 09:04:36

程序員

2013-09-26 09:34:56

女程序員

2019-11-26 10:00:47

程序員技能開(kāi)發(fā)者

2011-11-21 09:29:52

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲一区电影 | 人成在线 | 国产欧美精品一区二区三区 | 人人做人人澡人人爽欧美 | 日韩在线精品强乱中文字幕 | 久久成人国产 | 色噜噜色综合 | 午夜av在线 | 国产欧美精品区一区二区三区 | 亚洲视频在线观看 | 亚洲视频网| 浴室洗澡偷拍一区二区 | 成人啊啊啊| 人成精品| 黄网站涩免费蜜桃网站 | 一级黄色片网站 | 人人做人人澡人人爽欧美 | 99re在线 | 伊人久久综合 | 国产综合久久 | 国产高清在线精品一区二区三区 | 精品视频一区二区 | 国产亚洲精品精品国产亚洲综合 | 国产精品久久国产精品 | 欧美久久久久久久久 | 国产91久久久久蜜臀青青天草二 | 国产精品视频久久久久 | 成年人网站在线观看视频 | 免费在线a视频 | 国产av毛片 | 欧美日韩精品一区二区三区蜜桃 | 色综合网站 | 久久久精品一区 | 成人影院在线视频 | 伊人网综合在线观看 | 久久99久久98精品免观看软件 | 国产农村妇女毛片精品久久麻豆 | 毛片在线免费 | 亚洲国产精品一区二区第一页 | 夜夜草导航 | 免费视频二区 |