1. 程式人生 > >大公司和小公司的程式設計師差別在哪?

大公司和小公司的程式設計師差別在哪?

對於一名程式設計師來說,在大公司和小公司的工作體驗差別還是挺大的,比如:

關於大小公司的劃分,在此我們暫且把BAT這類公司理解為大公司,把大部分創業型的公司理解為小公司。大公司的標籤多為規範可循的工作流程、充足的人才、穩定的福利待遇、清晰的發展規劃等,而小公司的標籤則是工作多且雜,一個蘿蔔好幾個坑,福利待遇更靈活,發展機遇與挑戰並存等等。

先來看一下大小公司的程式設計師自己的感受:

大公司的程式設計師A初入公司:

每天的工作內容固定且狹窄,甚至不知道我做的東西最後被用在了哪裡;

我基本不太容易遇到那種很有意義的難題,因為這些難題在領導給我分配任務之前就已經有人搞定了;

公司大牛太多了,遇到了難題,隨時可以在專案組內求助,通常很快就可以得到解決。

小公司的程式設計師B初入公司:

每天的工作內容好多啊,總有一種被別人拿著鞭子逼著快跑的感覺;

沒有幾個人能幫到我,主要得靠我自己,這樣雖然很辛苦,但是能感到我的技術進步很快,而且各個方面的技術我都接觸過;

回想半年前剛入職的時候我還什麼都不懂,現在已經基本明白我們公司的專案是在做什麼了,大概的架構也很清晰;

加班加點是常事,誰讓我很多東西還不熟練呢?

結論:對於新手來說,進入大公司更容易切入工作狀態,因為在技術大牛眾多的大公司,新人往往負責的是部分模組的部分內容,同時也會有更多機會接受技術大神的專業“洗禮”;進入小公司則需要快速成長為面面俱到的多面手,掌握各種技術點甚至架構層面的東西,幾乎沒有技術大牛可以依賴。

接下來,我們從幾個具體方面分析一下大公司和小公司程式設計師的差別:

1、工作內容:小而精VS大而廣

大公司的組織架構非常清晰,每一個職位都有明確的職責描述。甚至很多大公司的前端開發又細分了 CSS 和 JavaScript 兩個部分。常常會有程式設計師說,在大公司,每個程式設計師更像是一顆螺絲釘,大部分時間都只是負責自己職位內的那一小部分工作,接觸其他工作內容的機會很少。

相較於大公司,小公司通常沒有完善的組織架構,對於程式設計師崗位的職責描述非常籠統。在小公司,往往更強調的是請更少的人,花更少的錢,實現更強大的效果。因此,多數時候一個程式設計師要兼顧多個角色,前端寫後臺,後臺寫前端也是常有的事情;甚至一個程式設計師包攬了整個業務模組的開發工作(沒錯,就是傳說中的全棧開發)也是可能的,有時甚至還包括 UI/UX 設計;更悲催的是某些小公司的程式設計師還兼顧了修電腦、拉網線的活。所以說,在小公司奮鬥的程式設計師,工作內容比大公司的程式設計師要寬泛的多。

2、工作量:加班皆常有,主要看進度

從工作量上來說,無論是大公司還是小公司,程式設計師的工作量都不小,二十四小時都在改bug的事情(沒錯,連做夢也在改bug)雖然不是常態,但總是會發生的。

大公司的程式設計師並不會因為工作職責更明確而工作量變少,BAT 的加班現象也很常見,具體還要看團隊的交付能力以及專案進度。

3、流程/規範/工具:完備VS簡單

大公司有非常完備的流程和規範,流程包括但不限於專案立項、產品設計、需求pk、技術方案評審、介面設計、DB 設計、開發、單元測試、整合測試、聯調、構建、釋出、回滾、監控等;規範包括但不限於PRD 規範、編碼規範、介面規範、資料規範、安全規範、checklist 規範、bugfix 規範、日誌規範等;工具包括但不限於交付平臺、工作流平臺、構建平臺、mock系統、文件系統、程式碼版本系統、釋出平臺、監控平臺……

小公司在這方面的內容普遍比較簡單,基本上能有產品設計、開發、測試、上線就算不錯了。對於文件規範、程式碼規範、設計流程、交付流程、上線流程、回滾流程等都沒有做到自動化,缺乏對應的工具或平臺,很多靠人工操作,比較容易出錯。對於線上系統也缺乏監控手段,主要靠人工看日誌debug等。在業務規模相對比較小的初創階段,這樣還能勉強應付過來,一旦業務規模擴大,改變架構升級流程是不可避免的。

所以對於程式設計師來說,在大公司有很多現成的東西可以“拿來主義”,讓工作更加高效;而在小公司可能就需要花費額外的精力去解決這些問題。

4、發展空間:主要是平臺差別

大公司的程式設計師,在自己專屬的領域本來就有兜底的技術,再加上長期專注研究,技術深度會達到一定水平,成為團隊中該領域的權威人物;同時,大公司的規範流程與團隊協作等可以讓程式設計師的整體素養得到提升;另外,在大公司接觸大型專案的機會更多,隨著程式設計師資歷的不斷提升,將有機會接觸到大型專案整體的技術細節,這種能力提升的機會更是難能可貴。

小公司程式設計師,會接觸到不同的技術領域,可能不會對某一個專屬領域進行深挖,但是所掌握的技術非常之廣,同時將鍛鍊到自己快速學習的能力,能夠不受各種條條框框的限制而達到快速高效解決問題的目的,但常常會讓習慣了大公司規範流程的人有一種“野路子”的感覺。

綜上所述,對於新人求職,推薦大公司,因為大公司的工作環境、技術氛圍等因素會讓你養成更規範、更高效的工作習慣;當在大公司的工作可以遊刃有餘地完成時,如果想要跳槽,無論是大公司還是創業型小公司都是可選的,只要明確了自己內心想要什麼,選擇便不存在問題。

對於程式設計師來說,活到老,學到老永遠都不是一句空話。無論此時身處大公司還是小公司,持續的學習,不斷地汲取新知識都是非常重要的,這樣不僅能夠提升認知水平與決斷能力,讓自己不可替代,還可以積蓄改變現狀的力量,提高每一次選擇的成功率。

歡迎工作一到五年的Java工程師朋友們加入Java架構開發:760940986
群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
 

本文來自悟空問答:https://www.wukong.com/question/6514834007652303108/