天天看點

不做全棧開發工程師

最近老是聽到一個詞:全棧開發工程師,英文是:Full Stack Developer。仔細分析,所謂的全棧開發工程師或許也分為兩種:一種是做小公司小網站,一個人全包,什麼都做,自然什麼都會;另一種是大公司大網站,需要整體架構設計師,分工明細,很多人做,但需要人統籌。顯然這是兩種境界,初級水準是無一精通;進階是無一不精。

在十幾二十年前,一個人一台電腦,搞定一個軟體,一個網站。那個時候沒有那麼多細分,也就是用戶端-伺服器,或者浏覽器端-伺服器端,最多加上一個資料庫端。我有一位老上司,一直沉浸在二十年前的技術美夢中,做什麼系統都張口閉口作業系統,CPU中斷,似乎一切都很簡單,手到擒來。但理智點講,全棧開發工程師曾經或許可以成為我們的夢想,但是現在的全棧開發工程師隻是一個神話。就像招聘啟事中和應聘履歷中總寫“精通XXX”,但其實認為精通的其實也很可能隻是了解,最多熟悉而已,潛台詞是具備多方面能力的多面手。

全棧開發工程師或許在各個方面或者各個層級都有些實戰經驗,但幾乎不可能成為全棧專家。即使現在是全棧開發工程師,但每年技術都在快速的更新換代,若幹年後或許也會發現有許多陌生的地帶。不知道企業招聘所謂的全棧開發工程師是做什麼,但我認為是這比較幼稚的想法和做法。企業和社會都是存在大量分工的,一個員工前端不錯,後端也不錯,但稍微大點的系統也不可能一個人全做了。一個員工技術不錯,管理也不錯,但一定會有一個主要的發展方向。企業最需要的不是全才,而是專才。做架構的專心于全局架構,寫程式的專心于局部代碼。

我做了十多年的程式開發,曾經自卑過,也曾經自信過,到現在反倒有些迷茫。做的時間越長,發現自己不會的越多。一個人的精力有限,上班要工作,下班要生活,穿插着學習一些新東西。這也想學,那也想學,最終可能變成十全大補丸。曆來真正有技術成就者都是思想行為專注者。前端後端,軟體硬體,基礎理論,程式開發,軟體工程,業務領域,團隊管理,什麼才是自己的核心技能?

最近偶爾在思考這個問題,未來的路要走向何方?這本應該是應屆畢業生最容易面對的問題,現在我也正在面對,而且暫時還沒有找到答案。但至少我知道我不可能,也不應該成為一個全棧開發工程師。