學(xué)AI,好工作 就找北大青鳥
關(guān)注小青 聽課做題,輕松學(xué)習(xí)
周一至周日
4000-9696-28

互聯(lián)網(wǎng)人做到這三點,從此擺脫996

來源:北大青鳥總部 2023年09月07日 09:24

摘要: 互聯(lián)網(wǎng)團隊為什么總是加班呢?并且總是加班很晚呢?大概原因有三點,業(yè)務(wù)迭代快、人力資源少、產(chǎn)品問題多。

在互聯(lián)網(wǎng)公司,最明顯的一個特點,那一定是加班。沒有最猛,只有更猛,我們知道的有996、007、大小周,但我們不知道的還有很多。那互聯(lián)網(wǎng)團隊為什么總是加班呢?并且總是加班很晚呢?

大概原因有三點,業(yè)務(wù)迭代快、人力資源少、產(chǎn)品問題多。對于業(yè)務(wù)迭代快,這個沒有辦法,大家都是在敏捷開發(fā)、持續(xù)集成、持續(xù)交付;對于人力資源少,這個似乎也沒有多少辦法,現(xiàn)在都是在裁員、1人當(dāng)1.5人用;對于產(chǎn)品問題多,這個有辦法,只要做到這三點,別的不說,少加班是肯定的。

要保證產(chǎn)品問題少,其實也就等價于保障產(chǎn)品高穩(wěn)定、高可用,總的來說就是這三點:完善的研發(fā)流程機制、較好的系統(tǒng)架構(gòu)設(shè)計與實現(xiàn)、良好的個人質(zhì)量意識。為什么是這三點呢?

我們來看看一個產(chǎn)品是怎么產(chǎn)生的,在需求確認之后,由研發(fā)進行技術(shù)選型、架構(gòu)設(shè)計,然后進行開發(fā)、測試、上線、運維。這整個過程就是研發(fā)流程,核心抓手就是系統(tǒng)的架構(gòu)設(shè)計和實現(xiàn),核心影響因素就是開發(fā)者。


從研發(fā)流程機制來看,包含這幾點:

1.在設(shè)計階段,需要進行方案的技術(shù)評審;

2.在開發(fā)階段,遵循團隊內(nèi)的分支模型,代碼需要進行代碼評審;

3.在提測階段,要寫單元測試并且運行通過;

4.在測試階段,要進行全面的場景覆蓋測試、接口測試;

5.在發(fā)布階段,使用灰度發(fā)布或者藍綠發(fā)布的方式逐步上線;

6.線上出現(xiàn)問題,立即回滾。


從系統(tǒng)的架構(gòu)設(shè)計和實現(xiàn)來看,包含這幾點:

1.技術(shù)選型,總的來說就是選用組件的功能滿足度、可擴展性、性能、開發(fā)難度、社區(qū)活躍度這幾個方面去進行考慮。底子特別重要,因為所有的業(yè)務(wù)都是在這上面運行起來的,一旦有問題,整個都玩完了,重構(gòu)的成本也是特別大。正如萬丈高樓平地起一樣,選用的材料不好則崩塌是瞬間的事兒;

2.架構(gòu)選型,總的來說就是SOA、微服務(wù)、無服務(wù)。SOA架構(gòu)就是將單體式服務(wù)進行拆分,由不同的團隊開發(fā)不同的服務(wù),再通過ESB企業(yè)服務(wù)總線連接起來;微服務(wù)架構(gòu)就是把業(yè)務(wù)的每個服務(wù)模塊原子化,由不同的團隊開發(fā)維護上線不同的服務(wù),服務(wù)與服務(wù)之間通過MQ消息中間件或RPC遠程調(diào)用連接起來;

3.系統(tǒng)設(shè)計,系統(tǒng)設(shè)計總的來說就是少依賴、不依賴、分布式、能降級。少依賴指的是各個模塊之間盡量是拆分原子化的,因為一旦相互依賴,在開發(fā)、測試、上線、回滾這四個環(huán)節(jié)也是相互關(guān)聯(lián)的,牽一發(fā)而動全身,這也是為什么我們拒絕單點應(yīng)用,因為里面全都是各種依賴。我們希望少依賴,最樂觀的情況就是完全不依賴,這時候在研發(fā)流程的每個環(huán)節(jié)都是獨立的,各自迭代就好。分布式指的是將把服務(wù)分散在多個地方,在分擔(dān)用戶請求壓力的同時,也相當(dāng)于是做個保底,不至于一個服務(wù)掛了就全完了。能降級指的是在業(yè)務(wù)出現(xiàn)問題時,能有弱一些的解決方案,不至于讓用戶完全不能使用產(chǎn)品。


從良好的個人質(zhì)量意識來看,包含這幾點:

1.積極思考需求價值,需求最終是交付給用戶的,研發(fā)人員也是用戶之一,因此在實現(xiàn)需求時,除了可行性之外,也要更多的思考價值,避免做了很多無用功能,最后又砍掉。;

2.技術(shù)設(shè)計時思考可擴展性。業(yè)務(wù)是持續(xù)迭代的,除了產(chǎn)品經(jīng)理要考慮未來功能的演進,研發(fā)人員在設(shè)計接口字段時也要設(shè)計的很靈活,用以支撐未來業(yè)務(wù)的擴展,不至于到新功能開發(fā)時,還需要推翻從來;

3.進行充分的自測和單元測試。測試人員一般進行的是黑盒測試,只有研發(fā)人員對代碼是最熟悉的,最清楚代碼邏輯的,因此通過充分的自測、單元測試能提高產(chǎn)品質(zhì)量。

4.對一切抱有敬畏之心。保障產(chǎn)品的穩(wěn)定性是開發(fā)人員最基本的素質(zhì),不以業(yè)務(wù)繁忙、個人情緒為理由而忽視對產(chǎn)品質(zhì)量的保障,這點其實是最難的,因為我們往往都會受各種外界因素影響,以及技術(shù)真的發(fā)展演進太快了、有時候會出現(xiàn)計劃趕不上變化。


總的來說,要保證產(chǎn)品高可用、低風(fēng)險,只要做到了完善的研發(fā)流程機制、較好的系統(tǒng)架構(gòu)設(shè)計與實現(xiàn)、良好的個人質(zhì)量意識這三點,那就是妥妥沒問題的。聽說咱互聯(lián)網(wǎng)人月收入五萬,那也能有機會過的像五萬,而不是每天都996、007,埋在電腦前碼代碼、修Bug啦~


熱門班型時間
人工智能就業(yè)班 即將爆滿
AI應(yīng)用線上班 即將爆滿
UI設(shè)計全能班 即將爆滿
數(shù)據(jù)分析綜合班 即將爆滿
軟件開發(fā)全能班 爆滿開班
網(wǎng)絡(luò)安全運營班 爆滿開班
報名優(yōu)惠
免費試聽
課程資料
官方微信
返回頂部
培訓(xùn)課程 熱門話題 站內(nèi)鏈接