在傳統(tǒng)軟件開(kāi)發(fā)領(lǐng)域8年,從一線(xiàn)開(kāi)發(fā),到項(xiàng)目技術(shù)經(jīng)理,再到產(chǎn)品研發(fā)技術(shù)負(fù)責(zé)人,一路走來(lái),感受著互聯(lián)網(wǎng)行業(yè)的軟件越來(lái)越貼近日常生活,一直有一個(gè)疑問(wèn),那就是互聯(lián)網(wǎng)行業(yè)中的軟件開(kāi)發(fā)是怎么樣的??jī)赡昵?,決定轉(zhuǎn)行到互聯(lián)網(wǎng)行業(yè)實(shí)際體驗(yàn)看一看,通過(guò)兩年的觀(guān)察總結(jié)以及實(shí)際親身感受,我覺(jué)得我已經(jīng)找到了答案,解除了心中的疑問(wèn),此文寫(xiě)給那些跟我有相同疑問(wèn)的朋友。
相信很多在傳統(tǒng)軟件開(kāi)發(fā)領(lǐng)域的朋友或多或少對(duì)互聯(lián)網(wǎng)公司的軟件開(kāi)發(fā)有如下疑問(wèn):開(kāi)發(fā)流程是怎么樣的?人員組成是怎么樣的?系統(tǒng)架構(gòu)是怎么樣的?成長(zhǎng)路線(xiàn)是怎么樣的?是不是加班厲害?薪資福利是不是傳言的那么有誘惑力?
而在互聯(lián)網(wǎng)行業(yè)高壓力的同學(xué),也會(huì)問(wèn):傳統(tǒng)軟件開(kāi)發(fā)公司工作會(huì)不會(huì)輕松點(diǎn)?會(huì)不會(huì)穩(wěn)定一點(diǎn)?是不是在傳統(tǒng)軟件開(kāi)發(fā)領(lǐng)域年齡沒(méi)那么敏感?
這篇文章會(huì)一一解答上述疑問(wèn)
首先,先來(lái)介紹一下何謂傳統(tǒng)軟件行業(yè),何謂互聯(lián)網(wǎng)軟件行業(yè),有如下幾個(gè)明顯差異點(diǎn)。
傳統(tǒng)軟件開(kāi)發(fā)行業(yè),也可以叫做企業(yè)軟件開(kāi)發(fā)行業(yè),它的明顯特征如下
作為碼農(nóng),不論在傳統(tǒng)行業(yè)還是互聯(lián)網(wǎng)行業(yè),都是做軟件開(kāi)發(fā),軟件開(kāi)發(fā)一般都是以項(xiàng)目為單位。首先,就先以項(xiàng)目流程的角度聊一下傳統(tǒng)軟件行業(yè)與互聯(lián)網(wǎng)軟件行業(yè)的區(qū)別。
結(jié)合上圖,從如下幾點(diǎn)說(shuō)說(shuō)傳統(tǒng)軟件項(xiàng)目的項(xiàng)目流程
需求來(lái)源一般為甲方客戶(hù),當(dāng)一家公司慢慢成長(zhǎng)起來(lái)時(shí),往往需要軟件來(lái)提升公司的管理與運(yùn)行效率。比如所有公司無(wú)一例外都需要人事管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)、OA系統(tǒng)、考勤系統(tǒng);一些制造行業(yè)還需要生產(chǎn)管理的ERP系統(tǒng),醫(yī)院需要病例管理系統(tǒng)、學(xué)校需要學(xué)生管理系統(tǒng)、政府需要公文管理系統(tǒng)等等。這些甲方客戶(hù)一般都沒(méi)有專(zhuān)門(mén)的軟件開(kāi)發(fā)團(tuán)隊(duì),大部分只有一個(gè)叫技術(shù)中心的部門(mén)負(fù)責(zé)網(wǎng)絡(luò)與各種系統(tǒng)的管理。所以,要落地這些軟件,就需要專(zhuān)業(yè)的軟件公司來(lái)實(shí)施。
有了實(shí)際的需求,要么客戶(hù)主動(dòng)找到軟件公司,要么軟件公司挖掘客戶(hù);首先入場(chǎng)的一般都是銷(xiāo)售入場(chǎng)(主管商務(wù)事項(xiàng),比如報(bào)價(jià)、簽約,客戶(hù)關(guān)系維護(hù),需求挖掘,以便簽約項(xiàng)目二期、三期…)。有時(shí)還會(huì)有售前顧問(wèn)支持(主管技術(shù),比如給客戶(hù)給出技術(shù)方案、初步分析出項(xiàng)目實(shí)施范圍,方便合理報(bào)價(jià));需要說(shuō)明的是售前顧問(wèn)通常都是技術(shù)出身,項(xiàng)目經(jīng)驗(yàn)豐富,不僅是技術(shù)專(zhuān)家,還是業(yè)務(wù)專(zhuān)家,對(duì)某一行業(yè)有深刻理解,能夠告訴客戶(hù),怎么做才是行業(yè)最好的方案,利用行業(yè)經(jīng)驗(yàn)幫助客戶(hù)提升效率,而不是簡(jiǎn)單把客戶(hù)的下線(xiàn)流程搬到線(xiàn)上。
項(xiàng)目簽約下來(lái)后,緊接著就是項(xiàng)目實(shí)施團(tuán)隊(duì)入場(chǎng)。項(xiàng)目團(tuán)隊(duì)包含這些人:項(xiàng)目經(jīng)理、需求分析師、技術(shù)經(jīng)理、技術(shù)開(kāi)發(fā)、UI、QA項(xiàng)目實(shí)施有時(shí)為駐場(chǎng)開(kāi)發(fā),有時(shí)是在公司開(kāi)發(fā)好后到甲方公司去部署上線(xiàn)
需求通過(guò)QA測(cè)試部署后,通常會(huì)有試運(yùn)行階段,在試運(yùn)行階段,客戶(hù)可提出問(wèn)題點(diǎn)與優(yōu)化點(diǎn)。所有功能沒(méi)問(wèn)題后,即完成交付,技術(shù)團(tuán)隊(duì)撤出,投入到下一個(gè)項(xiàng)目,銷(xiāo)售收尾款。偶爾客戶(hù)還會(huì)購(gòu)買(mǎi)系統(tǒng)運(yùn)維服務(wù),即支持系統(tǒng)運(yùn)行期間的問(wèn)題處理以及小需求迭代。
結(jié)合上圖,從如下幾點(diǎn)說(shuō)說(shuō)互聯(lián)網(wǎng)軟件項(xiàng)目的項(xiàng)目流程
需求來(lái)源主要在于這三個(gè)方面
產(chǎn)品需求:PM發(fā)起的需求,比如要做個(gè)視頻面試的新產(chǎn)品、要優(yōu)化下單流程之類(lèi)的營(yíng)銷(xiāo)需求:此類(lèi)需求一般為公司運(yùn)營(yíng)和營(yíng)銷(xiāo)人員發(fā)起的需求,PM把需求梳理為產(chǎn)品文檔后,交由技術(shù)團(tuán)隊(duì)落地內(nèi)部需求:此類(lèi)需求可理解為內(nèi)部系統(tǒng)建設(shè)需求;前面兩種一般稱(chēng)之為T(mén)o C,這種叫To B
最后,還有一種活兒的來(lái)源,那就是技術(shù)自己發(fā)起的需求,比如系統(tǒng)重構(gòu),技術(shù)基礎(chǔ)設(shè)施的建設(shè),比如系統(tǒng)性能、異常監(jiān)控系統(tǒng)、持續(xù)集成系統(tǒng)等
在互聯(lián)網(wǎng)公司,所有的需求都會(huì)收集到產(chǎn)品經(jīng)理(PM)處,技術(shù)團(tuán)隊(duì)原則上只從產(chǎn)品經(jīng)理處承接需求
PM會(huì)把各種需求整理成需求文檔,還會(huì)附帶上需求原型。通常會(huì)先期找技術(shù)初評(píng),確認(rèn)哪些功能無(wú)法實(shí)現(xiàn)然后調(diào)整需求文檔。
需求沒(méi)問(wèn)題后,C端需求最先入場(chǎng)的是UE、UI,即交互設(shè)計(jì)與視覺(jué)設(shè)計(jì),完事后前端FE拿到設(shè)計(jì)稿后進(jìn)行開(kāi)發(fā),這期間后端開(kāi)發(fā)可并行,最后接口聯(lián)調(diào)、測(cè)試
貼一個(gè)以前端視角的大致項(xiàng)目流程:
最明顯的感受就是,傳統(tǒng)行業(yè)的軟件開(kāi)發(fā)是給甲方干,在互聯(lián)網(wǎng)行業(yè)的軟件開(kāi)發(fā)是給自己干!
上面介紹了項(xiàng)目的整體流程,接著針對(duì)于項(xiàng)目團(tuán)隊(duì)的組成,即實(shí)際參與項(xiàng)目落地的人員以及人員分工聊一聊。
下面貼一張?jiān)?jīng)以項(xiàng)目經(jīng)理角色負(fù)責(zé)過(guò)的項(xiàng)目,因?yàn)樵擁?xiàng)目較大,牽涉到的人較多,可以很清晰的看到一個(gè)項(xiàng)目的完整人員分工與構(gòu)成。
傳統(tǒng)軟件項(xiàng)目開(kāi)發(fā)一般都會(huì)基于公司產(chǎn)品來(lái)做二次開(kāi)發(fā),提升開(kāi)發(fā)效率?;ヂ?lián)網(wǎng)軟件大部分情況都是對(duì)現(xiàn)有線(xiàn)上業(yè)務(wù)的迭代,為了提升開(kāi)發(fā)效率后端也有中臺(tái)組、架構(gòu)組支撐,前端與UI也會(huì)抽取業(yè)務(wù)組件方便開(kāi)發(fā)。
傳統(tǒng)軟件開(kāi)發(fā)項(xiàng)目,由項(xiàng)目經(jīng)理負(fù)責(zé)制,從項(xiàng)目最開(kāi)始跟到系統(tǒng)上線(xiàn)驗(yàn)收;互聯(lián)網(wǎng)公司中的項(xiàng)目組織相對(duì)零散,需求詳設(shè)評(píng)審進(jìn)入開(kāi)發(fā)后基本上就沒(méi)PM的事情了,這個(gè)時(shí)候一般會(huì)在FE、RD、QA中推舉一位項(xiàng)目負(fù)責(zé)人推進(jìn)項(xiàng)目的落地,把控項(xiàng)目進(jìn)度。敏捷項(xiàng)目一般由Master來(lái)負(fù)責(zé)。
核心訴求: 在滿(mǎn)足功能需求的情況下,怎么好維護(hù),怎么開(kāi)發(fā)成本低怎么來(lái)。機(jī)器都是甲方出,所以能通過(guò)堆機(jī)器解決的問(wèn)題都不是問(wèn)題 (不過(guò)也需要為客戶(hù)考慮項(xiàng)目整體成本)
常見(jiàn)的架構(gòu)是這樣的:
傳統(tǒng)行業(yè)的企業(yè)內(nèi)部系統(tǒng)技術(shù)架構(gòu)80%都是只做到讀寫(xiě)分離、按應(yīng)用拆分、分布式緩存、單獨(dú)的查詢(xún)服務(wù)就不再往下走了,因?yàn)樵偻伦?,開(kāi)發(fā)成本會(huì)呈指數(shù)級(jí)上升。少數(shù)會(huì)做到大表拆分、負(fù)載會(huì)上LVS或F5。
對(duì)于這樣的技術(shù)架構(gòu),只要機(jī)器足夠,性能夠強(qiáng),足以支撐一家上萬(wàn)人的公司日常正常運(yùn)轉(zhuǎn)了。
對(duì)于那種項(xiàng)目金額上千萬(wàn)的項(xiàng)目,更多的也是采取多地分開(kāi)部署,數(shù)據(jù)集中上報(bào)匯總的方式,避免架構(gòu)復(fù)雜化帶來(lái)的開(kāi)發(fā)成本提升。
核心訴求: 支持快速迭代、穩(wěn)定、高并發(fā)。另外,機(jī)器都是自己出,多一臺(tái)都是成本….
為了達(dá)成上述訴求,基礎(chǔ)配置大部分都是這樣的,上不封頂。
可以看到,對(duì)于傳統(tǒng)行業(yè)軟件技術(shù)架構(gòu),相對(duì)于互聯(lián)網(wǎng)軟件架構(gòu),最明顯的區(qū)別標(biāo)志就是微服務(wù)。
大部分上了規(guī)模的互聯(lián)網(wǎng)公司都有清晰明確的職級(jí)體系;傳統(tǒng)行業(yè)軟件公司大部分職級(jí)體系較模糊。
一般分為技術(shù)路線(xiàn)與業(yè)務(wù)路線(xiàn)兩種
職級(jí)從初級(jí)開(kāi)發(fā)、中級(jí)開(kāi)發(fā)、高級(jí)開(kāi)發(fā)、資深開(kāi)發(fā)、一路到系統(tǒng)架構(gòu)師;
實(shí)際工作中,做到在項(xiàng)目中負(fù)責(zé)整個(gè)項(xiàng)目的技術(shù)負(fù)責(zé)人,或者公司的產(chǎn)品研發(fā)負(fù)責(zé)人,技術(shù)路線(xiàn)基本就到頭了
項(xiàng)目技術(shù)負(fù)責(zé)人更多的要求綜合能力;產(chǎn)品研發(fā)負(fù)責(zé)人給更多要求技術(shù)深度與從項(xiàng)目業(yè)務(wù)中提煉成產(chǎn)品的能力
大多數(shù)都會(huì)先做一兩年技術(shù),然后做項(xiàng)目的需求分析人員,再然后到項(xiàng)目經(jīng)理,成為業(yè)務(wù)方面的專(zhuān)家;例如財(cái)務(wù)領(lǐng)域?qū)<摇⑸a(chǎn)制造領(lǐng)域業(yè)務(wù)專(zhuān)家、金融領(lǐng)域業(yè)務(wù)專(zhuān)家等。
這條線(xiàn)是業(yè)務(wù)經(jīng)驗(yàn)越豐富越值錢(qián),需要靠一個(gè)個(gè)實(shí)際項(xiàng)目歷練出來(lái),無(wú)捷徑可走。
上規(guī)模的互聯(lián)網(wǎng)公司,大部分都有成體系的晉升路線(xiàn)圖
下面從網(wǎng)絡(luò)上找到幾張圖,比較清晰
以阿里為例,分為技術(shù)線(xiàn)和管理線(xiàn)
技術(shù)線(xiàn)職級(jí)對(duì)應(yīng)的要求如下所示
大部分情況是早九晚六,中午可午休,基本不加班。
由于傳統(tǒng)軟件每個(gè)項(xiàng)目的開(kāi)發(fā)周期較長(zhǎng),大部分都是按月計(jì),所以緊急情況下,有足夠的消化空間,很少有加班特別狠的情況。
特殊情況,從業(yè)8年,甲方為日企,唯一一次連續(xù)996一個(gè)月。
其他: 有出差需求,因?yàn)橛袝r(shí)需要到客戶(hù)所在地駐場(chǎng)開(kāi)發(fā)。
公認(rèn)的加班狠,什么996(早9點(diǎn),晚9點(diǎn),一周6天)、大小周(隔周雙休)的開(kāi)創(chuàng)者全部來(lái)源于這個(gè)行業(yè);
也有極少數(shù)公司能做到早10晚7,不過(guò)碰到上線(xiàn),基本都得加班(有時(shí)上線(xiàn)還挺頻繁的,一周至少有一半時(shí)間有需求上線(xiàn))
其他: 基本無(wú)出差需求
總的來(lái)說(shuō),傳統(tǒng)軟件行業(yè)加班時(shí)間是少數(shù),有更多的非工作時(shí)間;互聯(lián)網(wǎng)軟件開(kāi)發(fā)行業(yè),加班是常態(tài),不加班或少加班的公司簡(jiǎn)直是一股清流存在。
從實(shí)際待過(guò)的兩家A股上市公司,以及所了解的其他頭部傳統(tǒng)行業(yè)軟件公司來(lái)看,漲薪基本上靠你的直屬主管覺(jué)得你應(yīng)該加薪才會(huì)獲得薪資的提升
雖然從系統(tǒng)里能夠查出來(lái)你的職位是助理開(kāi)發(fā)還是資深架構(gòu)師,但是公司沒(méi)有一個(gè)相對(duì)明確的每個(gè)職位層級(jí)的薪資范圍,也沒(méi)有正式的述職與職位晉升一說(shuō),我的感受就是你的薪資越高,代表著你的職級(jí)越高。整體來(lái)看,同職級(jí)崗位薪資低于互聯(lián)網(wǎng)行業(yè)一個(gè)層級(jí),月薪30k是一個(gè)比較難達(dá)到的坎。
股票、期權(quán)激勵(lì)較難見(jiàn)到。
互聯(lián)網(wǎng)公司的漲薪基本上靠如下幾個(gè)方面
薪資基本與職級(jí)掛鉤,每個(gè)職級(jí)對(duì)應(yīng)一個(gè)薪資范圍,達(dá)到薪資范圍的上限,就只有靠職位晉升來(lái)提升了。薪資范圍可參見(jiàn)成長(zhǎng)路線(xiàn)部分的貼圖。
股票、期權(quán)激勵(lì)較常見(jiàn)。
傳統(tǒng)行業(yè)相對(duì)穩(wěn)定,原因有如下幾點(diǎn)
傳統(tǒng)軟件領(lǐng)域,很多軟件系統(tǒng)屬于用戶(hù)的核心業(yè)務(wù)系統(tǒng),比如ERP、財(cái)務(wù)系統(tǒng)等,屬于剛需。所以,這一塊只要有穩(wěn)定的客戶(hù)來(lái)源,即使是運(yùn)維需求也會(huì)有一口飯吃。因?yàn)榉€(wěn)定性,收入也很難像互聯(lián)網(wǎng)行業(yè)公司那樣快速增長(zhǎng)。
業(yè)務(wù)不賺錢(qián),即使你再努力、個(gè)人能力再?gòu)?qiáng)也只能走人
見(jiàn)過(guò)上一天還在努力上班,第二天就被n 1裁掉的場(chǎng)景
在互聯(lián)網(wǎng)行業(yè)能夠真切的感受到個(gè)人的渺小,選擇大于努力。
還有那句,只要在風(fēng)口上,即使是豬也能飛起來(lái)的生動(dòng)詮釋。
在互聯(lián)網(wǎng)軟件開(kāi)發(fā)領(lǐng)域里,兩三年一跳槽是常態(tài),人員流動(dòng)性較大。
由于加班沒(méi)那么狠,很少有拼體力的情況,所以在傳統(tǒng)行業(yè)軟件開(kāi)發(fā)領(lǐng)域年齡沒(méi)那么敏感。
曾經(jīng)的同事,好多都是在這個(gè)行業(yè)干了20 year的老碼農(nóng),照樣干得風(fēng)生水起。
因?yàn)閭鹘y(tǒng)軟件開(kāi)發(fā)領(lǐng)域的特殊性,需要更多的與甲方客戶(hù)溝通交流,外加對(duì)行業(yè)業(yè)務(wù)需求的深刻理解。年齡大,代表著更豐富的與客戶(hù)打交道經(jīng)驗(yàn),以及更豐富的業(yè)務(wù)行業(yè)經(jīng)驗(yàn),更具競(jìng)爭(zhēng)力。
之前還碰到有客戶(hù)指明項(xiàng)目實(shí)施團(tuán)隊(duì)必須要有10 year的帶隊(duì),或者不能低于多少比例,直接寫(xiě)進(jìn)合同那種。
對(duì)于這個(gè)行業(yè),崇尚一個(gè)字“快”
要求業(yè)務(wù)發(fā)展快、個(gè)人成長(zhǎng)快
經(jīng)常可以在網(wǎng)絡(luò)或工作中聽(tīng)到說(shuō)XXX多年輕就晉升xxx職級(jí)了
網(wǎng)絡(luò)上甚至還流傳xxx大廠(chǎng)到了35歲還沒(méi)晉升到xxx職級(jí),就極有可能被優(yōu)化掉的說(shuō)法
這樣的氛圍,對(duì)于那些想把更多時(shí)間放到生活上的人極不友好
難道就不能保持低職級(jí),拿該拿的薪資,保持work balance?
no,no,no;隨著年齡的增大,這種安于工作現(xiàn)狀的人會(huì)顯得跟整個(gè)團(tuán)隊(duì)格格不入,極易績(jī)效背鍋
xxx公司對(duì)于這類(lèi)員工,還發(fā)明了一個(gè)叫做“老白兔”的標(biāo)簽
由此可見(jiàn),互聯(lián)網(wǎng)行業(yè)對(duì)于年齡的友好程度!
所以,建議想再奮斗一下,再挑戰(zhàn)一下自己的到互聯(lián)網(wǎng)行業(yè)去,那里有更大的機(jī)遇與空間。建議對(duì)技術(shù)追求沒(méi)那么高,希望工作生活相對(duì)平衡,可以考慮一下傳統(tǒng)軟件行業(yè),那里只要你做事靠譜,年齡不是問(wèn)題。
首先要注意的是,得看在什么團(tuán)隊(duì),什么崗位,做什么事情。
可能在傳統(tǒng)行業(yè)公司,做的事情偏互聯(lián)網(wǎng)公司的玩法。例如:做針對(duì)于互聯(lián)網(wǎng)用戶(hù)的系統(tǒng)。
互聯(lián)網(wǎng)公司做事、溝通相對(duì)open,競(jìng)爭(zhēng)激烈,優(yōu)勝劣汰;業(yè)務(wù)發(fā)展不好,能力再?gòu)?qiáng)努力再多也得面對(duì)裁員;所以跳槽到互聯(lián)網(wǎng)公司一定要選對(duì)行業(yè)、選對(duì)部門(mén);去冷門(mén)行業(yè)、邊緣部門(mén)要多考慮
優(yōu)勢(shì): 技術(shù)寬度、軟實(shí)力、綜合能力
也可能在互聯(lián)網(wǎng)公司,實(shí)際上做的事情跟在傳統(tǒng)行業(yè)的軟件公司差不多。例如:做公司內(nèi)部的各種系統(tǒng)。
傳統(tǒng)軟件公司相對(duì)比較穩(wěn)定,企業(yè)業(yè)務(wù)系統(tǒng)是剛需,旱澇保收;正因如此,公司業(yè)務(wù)也很難有指數(shù)級(jí)的增長(zhǎng),薪資也同理;可考慮走業(yè)務(wù)專(zhuān)家路線(xiàn)。
優(yōu)勢(shì): 技術(shù)深度、良好的自驅(qū)力、技術(shù)創(chuàng)新能力
如果用一句話(huà)來(lái)總結(jié)傳統(tǒng)軟件開(kāi)發(fā)與互聯(lián)網(wǎng)軟件開(kāi)發(fā),我覺(jué)得可以用一個(gè)更“穩(wěn)”,一個(gè)更“快”來(lái)概括。
行業(yè)的業(yè)務(wù)形態(tài)決定了訴求點(diǎn)不同,由此帶來(lái)工作方式、能力要求等方方面面的不同。
如果要問(wèn)到底從事傳統(tǒng)軟件開(kāi)發(fā)好還是互聯(lián)網(wǎng)軟件開(kāi)發(fā)好?
我要說(shuō)的是:“這個(gè)問(wèn)題對(duì)于不同的人有不同的答案,沒(méi)有好與不好,只有適合與不適合”。
本文轉(zhuǎn)載自開(kāi)源中國(guó)社區(qū),侵刪
聯(lián)系客服