本人曾在一家軟體外包公司幹了六年,從程式設計師幹到技術經理再到事業部經理,然後跳槽到現在公司的網際網路專案部擔任研發經理,談談自己在外包公司的經歷和感受。 當時不知道做軟體外包和做軟體產品有啥區別,只要有個工作幹著就行了。在第一家公司主要是做政府軟體開發、政府和國企的網站開發等。我進去時應聘的是網際網路工程師,做的是各種定製網站,定製的投票系統,報名系統,業務工作系統等等,反正有啥做啥,而且時間壓縮得比較緊,加班加點那是常有的事,因為跟客戶簽定的合同都是有期限的,到期完不成,不僅整個專案的利潤要受影響,一堆子人的獎金都要受影響,開發線上的人壓力都是蠻大的,當時我們基本上都是一個專案做完馬上做下一個專案,想重構一下程式碼,想整理下工具類,想總結一下業務知識和專案經驗,根本不會給你時間。這不能怪公司,因為外包公司的盈利模式就是得靠不停接專案才能生存,專案越多,利潤才會多,壓縮開發週期才能使利潤最大化,至於軟體質量,我知道的就是能用,能滿足功能,至於好不好用,程式碼好不好維護、規不規範,軟體效能之類的,用大腦想一想就知道了,這得額外設多少個崗位,增加多少時間呀,甲方沒有獨立的第三方公司幫忙評估和驗收的話,誰願意花這錢? 軟體外包公司又分為兩類,第一類是專案外包(接各種各樣的定製系統開發),第二類是人力資源外包(比如中軟體國際就長期為華為招聘駐場人員,華為那邊一個人開3萬,中軟給求職者1.5萬,公司1.5萬)。
軟體外包公司和軟體產品公司如何區分呢?主要是看該公司有沒有核心產品,開發人員的主要精力是在升級完善產品,還是在接各種專案,盈利模式是靠不停的接活還是靠賣軟體賺錢,當然有基於核心產品做一些定製開發的公司,這種公司我願意稱之為軟體產品公司。 那麼軟體外包公司能不能學到技術和經驗呢?以我之前所在的公司為例,剛畢業的底子好的同學可以獨立實操一些小專案,這些專案的難度都不大,能收穫的東西也就是鞏固下語法,找找各種業務場景的資料庫設計和程式碼操作的感覺,在介面上呈現資料,提交表單,做JS驗證之類的,至於GOF設計模式,領域驅動設計、面向物件設計、面向介面程式設計、AOP、IOC、多層架構這些東西即使你聽說過,你也很難理為什麼要用,也很少有機會用。因為外包開發的軟體的生命週期對公司來說,交付客戶就結束了,不像產品一樣需要不停的升級和迭代,所以你很難體會到大牛們所說的擴充套件呀,靈活呀之類的好處了,況且要設計一個擴充套件性且架構良好的面向物件系統,花費的時間和精力都是巨大的,而且好的架構都是演化和重構而來的,你從事的工種決定了你很難有機會經歷系統的演化,入駐甲方一起辦公的,別人會有核心的框架,即使框架再強大,你乾的也只是髒活累活,更不用說接觸到網際網路行業裡海量高併發處理的技術了,這也就是很多做網際網路的攻城獅看不起外包公司技術人員的原因。而且你就算有那個能力,公司也很難會認可(公司需要的是開發速度快),你的客戶更不會認可(客戶需要的是按時交付他要的軟體),你很難只靠工作時間來提升你的技術水平和技術修養。我個人的建議,如果的公司沒有設立核心技術小團隊的話,你又不善於溝通,不喜歡寫方案,不適合走管理路線的話,你要麼在外派甲方時就給對方留下好印象,積極爭取留在甲方的機會;要麼頂多操練兩年就去軟體產品公司或網際網路公司,跳槽之前,建議去網上找幾個程式碼質量比較高的開源系統看一看,不管有多難,都要啃下來,絕對會進步飛速,讓面試官刮目相看,不會因為你軟體外包公司的出身就嫌棄你,否則只是做一般的技術人員待下去很容易浪費青春,以後外包公司沒那麼多專案了,再出去做技術,你會的太淺,又不甘心跟剛畢業兩三年的拿一樣工資,別人精力比你旺盛,能加的班比你多;做領域專家吧,你接觸過的業務雖多,但是不精。 接下來談一談軟體外包公司的薪資待遇。據我瞭解的大多數軟體外包公司的薪資結構都是由基本工資+專案獎金構成。我在成都這邊,09年入職時工資是3000元,然後加上專案獎金的話,大約一個月能拿到4K多接近5K的樣子,今年4月面試過一個外包公司跳槽來的哥們,他是一般開發人員,各種收入加完能拿到7K左右,他們公司是四川某上市軟體公司下面的子公司,另一外包公司的專案經理大約能拿到10K左右,外包公司的專案獎金會有很大的風險性,得等專案回全款時才會發,如果專案沒有做完或未回款時就離職,這個獎金基本上就是打水漂,很多公司都會找理由不給,一個專案的總獎金會由多個人來分(專案經理、設計師、開發和測試等等),很容易產生矛盾。就一般的軟體外包公司來說,漲薪空間不大,薪水也不具備想像空間,因為業務模式決定了他不能像軟體產品一樣具備可複製性,也不能像網際網路平臺一樣具備海量使用者,有多種變現渠道,公司想賺更多的錢就得接更多的專案,接更多的專案,就需要招更多的人,沒有更的利潤來漲薪,而且老闆也會覺得價效比不划算,所以我在之前待得最久的公司做到了事業部經理時還是離職了,離職後接到國內某大型外包公司成都分公司的電話(某軟國際),讓我去面試技術總監,他們薪水能給到15K以上,回顧了下30歲前的職業生涯,實在不想再忍受很多軟體明明有最佳化空間,卻只能束之高閣,很多工位幹幾個月就換面孔了,然後斷然拒絕了,一入外包深似海,只剩兩行淚,勸君三思。
本人曾在一家軟體外包公司幹了六年,從程式設計師幹到技術經理再到事業部經理,然後跳槽到現在公司的網際網路專案部擔任研發經理,談談自己在外包公司的經歷和感受。 當時不知道做軟體外包和做軟體產品有啥區別,只要有個工作幹著就行了。在第一家公司主要是做政府軟體開發、政府和國企的網站開發等。我進去時應聘的是網際網路工程師,做的是各種定製網站,定製的投票系統,報名系統,業務工作系統等等,反正有啥做啥,而且時間壓縮得比較緊,加班加點那是常有的事,因為跟客戶簽定的合同都是有期限的,到期完不成,不僅整個專案的利潤要受影響,一堆子人的獎金都要受影響,開發線上的人壓力都是蠻大的,當時我們基本上都是一個專案做完馬上做下一個專案,想重構一下程式碼,想整理下工具類,想總結一下業務知識和專案經驗,根本不會給你時間。這不能怪公司,因為外包公司的盈利模式就是得靠不停接專案才能生存,專案越多,利潤才會多,壓縮開發週期才能使利潤最大化,至於軟體質量,我知道的就是能用,能滿足功能,至於好不好用,程式碼好不好維護、規不規範,軟體效能之類的,用大腦想一想就知道了,這得額外設多少個崗位,增加多少時間呀,甲方沒有獨立的第三方公司幫忙評估和驗收的話,誰願意花這錢? 軟體外包公司又分為兩類,第一類是專案外包(接各種各樣的定製系統開發),第二類是人力資源外包(比如中軟體國際就長期為華為招聘駐場人員,華為那邊一個人開3萬,中軟給求職者1.5萬,公司1.5萬)。
軟體外包公司和軟體產品公司如何區分呢?主要是看該公司有沒有核心產品,開發人員的主要精力是在升級完善產品,還是在接各種專案,盈利模式是靠不停的接活還是靠賣軟體賺錢,當然有基於核心產品做一些定製開發的公司,這種公司我願意稱之為軟體產品公司。 那麼軟體外包公司能不能學到技術和經驗呢?以我之前所在的公司為例,剛畢業的底子好的同學可以獨立實操一些小專案,這些專案的難度都不大,能收穫的東西也就是鞏固下語法,找找各種業務場景的資料庫設計和程式碼操作的感覺,在介面上呈現資料,提交表單,做JS驗證之類的,至於GOF設計模式,領域驅動設計、面向物件設計、面向介面程式設計、AOP、IOC、多層架構這些東西即使你聽說過,你也很難理為什麼要用,也很少有機會用。因為外包開發的軟體的生命週期對公司來說,交付客戶就結束了,不像產品一樣需要不停的升級和迭代,所以你很難體會到大牛們所說的擴充套件呀,靈活呀之類的好處了,況且要設計一個擴充套件性且架構良好的面向物件系統,花費的時間和精力都是巨大的,而且好的架構都是演化和重構而來的,你從事的工種決定了你很難有機會經歷系統的演化,入駐甲方一起辦公的,別人會有核心的框架,即使框架再強大,你乾的也只是髒活累活,更不用說接觸到網際網路行業裡海量高併發處理的技術了,這也就是很多做網際網路的攻城獅看不起外包公司技術人員的原因。而且你就算有那個能力,公司也很難會認可(公司需要的是開發速度快),你的客戶更不會認可(客戶需要的是按時交付他要的軟體),你很難只靠工作時間來提升你的技術水平和技術修養。我個人的建議,如果的公司沒有設立核心技術小團隊的話,你又不善於溝通,不喜歡寫方案,不適合走管理路線的話,你要麼在外派甲方時就給對方留下好印象,積極爭取留在甲方的機會;要麼頂多操練兩年就去軟體產品公司或網際網路公司,跳槽之前,建議去網上找幾個程式碼質量比較高的開源系統看一看,不管有多難,都要啃下來,絕對會進步飛速,讓面試官刮目相看,不會因為你軟體外包公司的出身就嫌棄你,否則只是做一般的技術人員待下去很容易浪費青春,以後外包公司沒那麼多專案了,再出去做技術,你會的太淺,又不甘心跟剛畢業兩三年的拿一樣工資,別人精力比你旺盛,能加的班比你多;做領域專家吧,你接觸過的業務雖多,但是不精。 接下來談一談軟體外包公司的薪資待遇。據我瞭解的大多數軟體外包公司的薪資結構都是由基本工資+專案獎金構成。我在成都這邊,09年入職時工資是3000元,然後加上專案獎金的話,大約一個月能拿到4K多接近5K的樣子,今年4月面試過一個外包公司跳槽來的哥們,他是一般開發人員,各種收入加完能拿到7K左右,他們公司是四川某上市軟體公司下面的子公司,另一外包公司的專案經理大約能拿到10K左右,外包公司的專案獎金會有很大的風險性,得等專案回全款時才會發,如果專案沒有做完或未回款時就離職,這個獎金基本上就是打水漂,很多公司都會找理由不給,一個專案的總獎金會由多個人來分(專案經理、設計師、開發和測試等等),很容易產生矛盾。就一般的軟體外包公司來說,漲薪空間不大,薪水也不具備想像空間,因為業務模式決定了他不能像軟體產品一樣具備可複製性,也不能像網際網路平臺一樣具備海量使用者,有多種變現渠道,公司想賺更多的錢就得接更多的專案,接更多的專案,就需要招更多的人,沒有更的利潤來漲薪,而且老闆也會覺得價效比不划算,所以我在之前待得最久的公司做到了事業部經理時還是離職了,離職後接到國內某大型外包公司成都分公司的電話(某軟國際),讓我去面試技術總監,他們薪水能給到15K以上,回顧了下30歲前的職業生涯,實在不想再忍受很多軟體明明有最佳化空間,卻只能束之高閣,很多工位幹幾個月就換面孔了,然後斷然拒絕了,一入外包深似海,只剩兩行淚,勸君三思。