最近,我和兩個月前加入我們公司的一位程式設計師 (programmer) 聊天,他說他是初級程式設計師,未曾在一間公司待過超過一年半。
這種情況十分常見。只要不是公司股東,大部分優秀的程式設計師都會在 1-3 年內離職。
開發者這樣做的原因有很多,這種做法也很正常。在這篇文章中,我們會來了解一下開發者這樣做的原因。在此之前,先讓我們看看一些統計數據,你就會知道這種情況有多常見。
統計數據
以前,有些人會一生都不換工作,在同一間公司做到退休。但時代不同了,而且現在找新工作也很容易。
當然,在某些行業情況還是一樣。但在科技的世界,程式設計師或開發者在同一個崗位待超過 10-15 年,幾乎可以說是不可能的。
可能會有一些程式設計師在同一個崗位待超過 10 年,但是如果你問一些在這個行業少於 5 年的程式設計師,大多數都會說沒有興趣長期待在同一個崗位。
我利用 Hackerlife 做了一個圖表,顯示住在舊金山一萬多名軟體工程師的數據。我們可以從以下的圖表,看到他們在大型科技公司工作的平均年期。
上面的圖表主要是大型科技公司的數據,接近 50% 的程式設計師都在 2 年內離職,在 3-3.5 年左右離職的程式設計師達 75%。
其他行業專業人士工作的平均年期是 4.2 年,這個年期其實已經很短。而且大型科技公司實際上更有能力留住程式設計師,初創和中型科技公司的情況其實更嚴重。
我接觸過的程式設計師
我做招聘的時候,在面試中遇過很多程式設計師,我都會問他們一些關於上一份工作的問題,像是工作的公司、工作年期、或是離職的原因。
我沒有一個確實的數據,但 70% 至 80% 的應徵者都在兩年內離職。
我幾乎沒有見過有應徵者在一間公司待超過 5 年,可能在 200 個應徵者中只有 2 至 3 個會這樣。我接觸的比例更少,畢竟我們是一間 startup,在一間公司工作較長時間的開發者通常不會轉到 startup 工作。
程式設計師不應在同一公司待太久的原因
學習機會
這是程式設計師應該在一段時間後換工作的最大原因!程式設計師在職業生涯的早期,需要學習很多東西。
在頭一年,新的程式設計師和公司都會在彼此身上學到很多東西。公司會從程式設計師以前的經驗中學習,而程式設計師就可以從公司的技術堆疊 (tect stack)、專案和高級開發者中學習。
經過一年後,程式設計師開始構建專案,並成為公司的重要員工。但通常,程式設計師的想法跟公司不一樣。
因此一年後,程式設計師已經沒有甚麼可以從公司那邊學習了。大型科技公司可能會例外,但在中小型公司中,學習的機會就更狹窄了。
這也可能是小型公司的程式設計師流失率更快的原因。在小型公司中,軟件工程師任職的平均年期只有 1.5 年,而大型公司則是 2.3 年。
問題是,程式設計師要學習到甚麼時候呢?老實說,學習的路永遠沒有盡頭,但這也不代表你要在工作生涯中不停換工作。
大概十年之後,你就會晉升到另一個職位,到時候就不太需要換工作了。不過,這又是另一個漫長的課題了。
更好的職涯
技術堆疊不停在變,因此程式設計師的學習是永無止境的,這也讓程式設計師成為世界上獨一無二的工作。
程式設計師常換工作除了可以學習之外,還可以成就更好的職涯。如果你長期在同一間公司工作,晉升速度就會變得更慢。
通常,公司發展的速度都不及程式設計師學習技能的速度。在這種情況下,公司就無法滿足開發者的需求。
因此,即使你忠誠敬業、即使你有很多學習機會,為著更好的職涯,你還是應該離開現在的公司。
總結
那你應該何時換工作呢?老實說,這個問題沒有一個標準答案,你必須為自己找答案。我只可以分享我的意見和數據。
從我身邊的程式設計師朋友的經驗來看,頻繁換工作的人比長期留在一間公司的人晉升機會更高,而且信心亦會比較大。
即使你現在的公司正面臨危機、又或是你突然被解僱,你也不用太擔心。而且如果你的職場生活不開心、或是受到不好的對待,你應該要趁早離開。
你為多少間公司工作過呢?歡迎留言跟我們分享你的經歷。
特別鳴謝 Anupam Chugh。