編程是枯燥的,除非……藍(lán)鷗西安java語(yǔ)言培訓(xùn)機(jī)構(gòu)今天給大家說(shuō)說(shuō),開(kāi)發(fā)人員感到無(wú)聊枯燥常見(jiàn)明顯的原因是有哪些
時(shí)間太長(zhǎng);學(xué)不到東西開(kāi)發(fā)人員感到無(wú)聊枯燥最常見(jiàn)和最明顯的原因是,項(xiàng)目的持續(xù)時(shí)間過(guò)長(zhǎng)。
我在我第一份工作中就親身經(jīng)歷了這種體驗(yàn)。我們團(tuán)隊(duì)的任務(wù)是通過(guò)一個(gè)便捷API來(lái)準(zhǔn)備和提供財(cái)務(wù)數(shù)據(jù)。一開(kāi)始因?yàn)閿?shù)據(jù)的復(fù)雜性和規(guī)模,令我非常興奮。同時(shí)我從中也學(xué)會(huì)了如何高性能地分析數(shù)據(jù)和API設(shè)計(jì)。但是一年以后,我們依然工作于完全相同的數(shù)據(jù)集,用著完全相同的技術(shù)。我只是成為了某個(gè)特定方面的“專才”,也沒(méi)有什么可以學(xué)習(xí)的新內(nèi)容。
我無(wú)法改變團(tuán)隊(duì)或項(xiàng)目,因?yàn)閷?duì)于公司而言,這種重復(fù)性的枯燥的任務(wù)是有意義的。并且由于我熟知數(shù)據(jù)和技術(shù)而無(wú)法換到其他崗位。我沒(méi)有理由只是為了學(xué)習(xí)新的東西而去更換現(xiàn)有的技術(shù)。在我表明了我的枯燥和沮喪之后,因?yàn)閱?wèn)題依然沒(méi)有解決,所以我選擇了跳槽。如何預(yù)防無(wú)聊和枯燥感?在我們的團(tuán)隊(duì)中,我們嘗試著不讓任何人從事相同的代碼、產(chǎn)品和數(shù)據(jù)集超過(guò)三個(gè)月。三個(gè)月的時(shí)間是我們?nèi)我舛ǖ?,或許對(duì)于規(guī)模較大的公司而言,顯得太短了點(diǎn)。但是我們主張快速轉(zhuǎn)換。
為了做到這一點(diǎn),我們提出了一個(gè)全棧文化。我們每一個(gè)開(kāi)發(fā)人員都能夠工作于(或者可以很快學(xué)會(huì))代碼庫(kù)的任何部分。
另一個(gè)預(yù)防枯燥的方法是經(jīng)常性地討論。我們每個(gè)星期都有直接、開(kāi)放、一對(duì)一的討論。如果開(kāi)發(fā)人員開(kāi)始覺(jué)得過(guò)于舒服或已經(jīng)熟能生巧了,那么就到了轉(zhuǎn)換工作的時(shí)候。維護(hù)遺留代碼很無(wú)聊當(dāng)項(xiàng)目處于維護(hù)模式,即開(kāi)發(fā)人員90%的時(shí)間都花在了修復(fù)bug,而不是開(kāi)發(fā)新功能的時(shí)候,你可以報(bào)告給我們——正式或非正式的方式都可。
有人會(huì)說(shuō),維護(hù)是不可避免的。舊代碼需要支持。建造軟件就像蓋房子。你需要維護(hù)的老房子,并時(shí)常翻新。是這樣的嗎?
是的,但又不是。問(wèn)題的關(guān)鍵是態(tài)度。
我曾經(jīng)有一個(gè)導(dǎo)師,他對(duì)此抱著一種玩世不恭的心態(tài)。他將無(wú)為當(dāng)作理所當(dāng)然。他總是說(shuō),軟件開(kāi)發(fā)工作就是這樣的;假如生活強(qiáng)奸了你,那就躺著享受吧。如何避免呢?維護(hù)模式有時(shí)是糟糕的技術(shù)決策加之缺乏勇氣才導(dǎo)致的結(jié)果。
大型,整體式的,依賴關(guān)系復(fù)雜的代碼庫(kù)往往需要額外的維護(hù)工作。與此相反的是,架構(gòu)良好的微服務(wù)基礎(chǔ)結(jié)構(gòu)就顯得較為靈活。當(dāng)微服務(wù)出現(xiàn)故障的時(shí)候,你可以更換它。你可以使用不同的語(yǔ)言或技術(shù)從頭開(kāi)始重寫(xiě)。這樣你就可以學(xué)到新的東西,而不是簡(jiǎn)單地修補(bǔ)舊的代碼。如果你的架構(gòu)還不允許這么做,那么你需要采取步驟來(lái)改進(jìn)它,并在此過(guò)程中學(xué)習(xí)一些開(kāi)發(fā)技能。
微服務(wù)策略只是解決“枯燥”維護(hù)問(wèn)題的方法中的一個(gè)。還有一個(gè)措施是構(gòu)建智能工具,使維護(hù)變得更加高效和樂(lè)趣。這方面的一個(gè)極端例子就是,F(xiàn)acebook對(duì)他們那個(gè)龐大的PHP代碼庫(kù)做的事情。他們?cè)谑炀氄莆誔HP的基礎(chǔ)上構(gòu)建了自己的編譯器和自己的類型語(yǔ)言(Hack),既方便維護(hù),又提高了開(kāi)發(fā)體驗(yàn)。雖然我懷疑Facebook依然沒(méi)有完全“解決”遺留問(wèn)題,但聽(tīng)上去它讓工作變得更有趣了。
藍(lán)鷗科技西安中心,移動(dòng)互聯(lián)網(wǎng)科技育人專家,教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目承辦企業(yè),專注西安Java培訓(xùn)、西安大數(shù)據(jù)培訓(xùn)、西安VR/AR培訓(xùn)、西安HTML5培訓(xùn)、西安PHP培訓(xùn),選擇藍(lán)鷗,不止高薪更是高起點(diǎn)!
請(qǐng)?zhí)顚?xiě)留言或根據(jù)意向選擇下列快捷留言
負(fù)責(zé)聲明:以上所展示的信息由會(huì)員自行提供,內(nèi)容真實(shí)性,準(zhǔn)確性和合法性由發(fā)布會(huì)與負(fù)責(zé)。本網(wǎng)對(duì)此不承擔(dān)任何責(zé)任。
友情提醒:為規(guī)避投資風(fēng)險(xiǎn),建議您在投資前務(wù)必多咨詢,多考察,降低投資風(fēng)險(xiǎn)。