大公司與小公司程序員之間真的存在區(qū)別嗎?
對于一名程序員來說,在大公司和小公司的工作體驗差別還是挺大的,比如:
關(guān)于大小公司的劃分,在此我們暫且把BAT這類公司理解為大公司,把大部分創(chuàng)業(yè)型的公司理解為小公司。大公司的標簽多為規(guī)范可循的工作流程、充足的人才、穩(wěn)定的福利待遇、清晰的發(fā)展規(guī)劃等,而小公司的標簽則是工作多且雜,一個蘿卜好幾個坑,福利待遇更靈活,發(fā)展機遇與挑戰(zhàn)并存等等。
先來看一下大小公司的程序員自己的感受:
大公司的程序員A初入公司:
每天的工作內(nèi)容固定且狹窄,甚至不知道我做的東西最后被用在了哪里;我基本不太容易遇到那種很有意義的難題,因為這些難題在領(lǐng)導(dǎo)給我分配任務(wù)之前就已經(jīng)有人搞定了;公司大牛太多了,遇到了難題,隨時可以在項目組內(nèi)求助,通常很快就可以得到解決。小公司的程序員B初入公司:
每天的工作內(nèi)容好多啊,總有一種被別人拿著鞭子逼著快跑的感覺;沒有幾個人能幫到我,主要得靠我自己,這樣雖然很辛苦,但是能感到我的技術(shù)進步很快,而且各個方面的技術(shù)我都接觸過;回想半年前剛?cè)肼毜臅r候我還什么都不懂,現(xiàn)在已經(jīng)基本明白我們公司的項目是在做什么了,大概的架構(gòu)也很清晰;加班加點是常事,誰讓我很多東西還不熟練呢?結(jié)論:對于新手來說,進入大公司更容易切入工作狀態(tài),因為在技術(shù)大牛眾多的大公司,新人往往負責的是部分模塊的部分內(nèi)容,同時也會有更多機會接受技術(shù)大神的專業(yè)“洗禮”;進入小公司則需要快速成長為面面俱到的多面手,掌握各種技術(shù)點甚至架構(gòu)層面的東西,幾乎沒有技術(shù)大牛可以依賴。
接下來,我們從幾個具體方面分析一下大公司和小公司程序員的差別:
1、工作內(nèi)容:小而精VS大而廣
大公司的組織架構(gòu)非常清晰,每一個職位都有明確的職責描述。甚至很多大公司的前端開發(fā)又細分了 CSS 和 JavaScript 兩個部分。常常會有程序員說,在大公司,每個程序員更像是一顆螺絲釘,大部分時間都只是負責自己職位內(nèi)的那一小部分工作,接觸其他工作內(nèi)容的機會很少。
相較于大公司,小公司通常沒有完善的組織架構(gòu),對于程序員崗位的職責描述非常籠統(tǒng)。在小公司,往往更強調(diào)的是請更少的人,花更少的錢,實現(xiàn)更強大的效果。因此,多數(shù)時候一個程序員要兼顧多個角色,前端寫后臺,后臺寫前端也是常有的事情;甚至一個程序員包攬了整個業(yè)務(wù)模塊的開發(fā)工作(沒錯,就是傳說中的全棧開發(fā))也是可能的,有時甚至還包括 UI/UX 設(shè)計;更悲催的是某些小公司的程序員還兼顧了修電腦、拉網(wǎng)線的活。所以說,在小公司奮斗的程序員,工作內(nèi)容比大公司的程序員要寬泛的多。
2、工作量:加班皆常有,主要看進度
從工作量上來說,無論是大公司還是小公司,程序員的工作量都不小,二十四小時都在改bug的事情(沒錯,連做夢也在改bug)雖然不是常態(tài),但總是會發(fā)生的。
大公司的程序員并不會因為工作職責更明確而工作量變少,BAT 的加班現(xiàn)象也很常見,具體還要看團隊的交付能力以及項目進度。
3、流程/規(guī)范/工具:完備VS簡單
大公司有非常完備的流程和規(guī)范,流程包括但不限于項目立項、產(chǎn)品設(shè)計、需求pk、技術(shù)方案評審、接口設(shè)計、DB 設(shè)計、開發(fā)、單元測試、集成測試、聯(lián)調(diào)、構(gòu)建、發(fā)布、回滾、監(jiān)控等;規(guī)范包括但不限于PRD 規(guī)范、編碼規(guī)范、接口規(guī)范、數(shù)據(jù)規(guī)范、安全規(guī)范、checklist 規(guī)范、bugfix 規(guī)范、日志規(guī)范等;工具包括但不限于交付平臺、工作流平臺、構(gòu)建平臺、mock系統(tǒng)、文檔系統(tǒng)、代碼版本系統(tǒng)、發(fā)布平臺、監(jiān)控平臺……
小公司在這方面的內(nèi)容普遍比較簡單,基本上能有產(chǎn)品設(shè)計、開發(fā)、測試、上線就算不錯了。對于文檔規(guī)范、代碼規(guī)范、設(shè)計流程、交付流程、上線流程、回滾流程等都沒有做到自動化,缺乏對應(yīng)的工具或平臺,很多靠人工操作,比較容易出錯。對于線上系統(tǒng)也缺乏監(jiān)控手段,主要靠人工看日志debug等。在業(yè)務(wù)規(guī)模相對比較小的初創(chuàng)階段,這樣還能勉強應(yīng)付過來,一旦業(yè)務(wù)規(guī)模擴大,改變架構(gòu)升級流程是不可避免的。
所以對于程序員來說,在大公司有很多現(xiàn)成的東西可以“拿來主義”,讓工作更加高效;而在小公司可能就需要花費額外的精力去解決這些問題。
4、發(fā)展空間:主要是平臺差別
大公司的程序員,在自己專屬的領(lǐng)域本來就有兜底的技術(shù),再加上長期專注研究,技術(shù)深度會達到一定水平,成為團隊中該領(lǐng)域的權(quán)威人物;同時,大公司的規(guī)范流程與團隊協(xié)作等可以讓程序員的整體素養(yǎng)得到提升;另外,在大公司接觸大型項目的機會更多,隨著程序員資歷的不斷提升,將有機會接觸到大型項目整體的技術(shù)細節(jié),這種能力提升的機會更是難能可貴。
小公司程序員,會接觸到不同的技術(shù)領(lǐng)域,可能不會對某一個專屬領(lǐng)域進行深挖,但是所掌握的技術(shù)非常之廣,同時將鍛煉到自己快速學(xué)習(xí)的能力,能夠不受各種條條框框的限制而達到快速高效解決問題的目的,但常常會讓習(xí)慣了大公司規(guī)范流程的人有一種“野路子”的感覺。
綜上所述,對于新人求職,推薦大公司,因為大公司的工作環(huán)境、技術(shù)氛圍等因素會讓你養(yǎng)成更規(guī)范、更高效的工作習(xí)慣;當在大公司的工作可以游刃有余地完成時,如果想要跳槽,無論是大公司還是創(chuàng)業(yè)型小公司都是可選的,只要明確了自己內(nèi)心想要什么,選擇便不存在問題。
對于程序員來說,活到老,學(xué)到老永遠都不是一句空話。無論此時身處大公司還是小公司,持續(xù)的學(xué)習(xí),不斷地汲取新知識都是非常重要的,這樣不僅能夠提升認知水平與決斷能力,讓自己不可替代,還可以積蓄改變現(xiàn)狀的力量,提高每一次選擇的成功率。
程序員學(xué)習(xí)交流請?zhí)砑幽秸n網(wǎng)官方客服微信:mukewang666回復(fù)暗號“前端面試”可進前端交流群回復(fù)暗號“Java”可進Java交流群回復(fù)暗號“專欄”可進程序員交流群