前幾天問答裡,回答了一個程式設計師接私活的定價問題,展現量和閱讀量都還可以,還有些同行私信諮詢。
這裡我寫篇關於程式設計師接私活的心得,希望對有私活的同行有所幫助,不合理的地方歡迎同行指導留言,我也能進行改進、提升。
寫得比較詳細,內容較多,分為上、中、下三篇,今天暫且只能寫完上篇。
私活就是程式設計師私下接的活,然後利用業餘時間來完成開發、測試並交付給客戶從而獲取不菲的報酬。
關於我自己
為什麼介紹我自己?不是為了炫耀啥的,其實我只是個老碼農而已。只是讓大家結合我自己的背景,綜合分析下自己能不能接單並順利完成交付。如果貿然接單,做不好可能會被客戶煩死,甚至起訴。
我是2007年畢業後開始從事Java開發,計算機專業畢業,算得上科班出生。從最初的全棧開發到慢慢接觸管理,因為職業規劃中沒有放棄技術,這麼多年來雖然工作中寫的程式碼越來越少,但是在後端技術上還是時不時的有計劃地去學習,但是前端還是隻會最基礎的JS、HTML、CSS。所以軟體的開發流程、後端技術選型、編寫基本的框架、需求的採集我基本上都知道。正是我知道這些,所以當第一個單子來臨的時候,我雖然忐忑但是還是敢接。
技巧:
大家現在做私活,千萬別自己從零去寫框架,比較耗時間和精力,當然如果你為了鍛鍊自己的技術可以自己去編寫。現在開源的有很多,比如若依、Jeecg-boot、springboot-plus等等。大家可以從Github、Gitee上尋找適合自己且可以商用的開源框架,有點瑕疵或者bug沒事,可以自己動手改。
這裡推薦ORM用Spring Data JPA的框架,因為私活一般都不大,一些傳統小企業定製開發的。使用JPA會比MyBatis快很多很多。
如何接單?
這點我沒什麼特別好的方法,這也是很多程式設計師接私活最難的一步。分享下我的方式,希望可以對大家有所借鑑。
我的第一個單子是朋友介紹的,所以我的第一步相對比較容易。第一單是我自己一個人做的,很辛苦,也踩了不少坑,這單最大的成就不是賺了多少錢,而是走出了第一步;加上花了心血去做,客戶比較滿意,後面客戶給我介紹了兩單。後來在我長時間沒活的時候,我採取了以下方式:
- 印名片,只要是接觸面廣的親朋好友,談好抽成,放個200張在每個人那。
- 印小廣告,沒事時跑到廠房多的地方去貼。不過現在管得嚴,很難貼。
技巧:大家如果真想貼廣告,寫字樓別去貼,管得嚴,即使貼了效果也沒去廠房多的地方好。因為廠房多的地方很多傳統小企業,他們其實是需要做一些小系統或者網站的。
如何和客戶談合作?
客戶有意向找你了,那麼你可以約客戶當面溝通下。這是第一次溝通,千萬別主動談價格,不要讓客戶覺得你的眼裡只有錢,可能會失去這次合作的機會。這次溝通,你就和客戶談需求範圍,比如:
- 客戶現在的業務是什麼?
- 這個系統是要解決什麼問題?
- 系統開發好了後給誰用?
- 客戶現在的業務上的困難?
- 最晚的交付期限?
技巧:有客戶會讓你現場報價,你要拒絕掉,你可以說:“xx總,我要了解清楚你們的業務需求,才能報價,今天我瞭解完,最晚xxx號給你報價。”。還有更離譜的就是有些客戶會直接問你2000、3000能不能做的,遇見這種情況,你就直接說做不了,很多情況下這種客戶是合作不下來的,因為他們根本不懂軟體,在他們的印象裡軟體就是電腦上的幾個頁面或者圖片。
第一次溝通,就立足於需求,要收集到大概的需求,至少要確定需求範圍。這樣做有兩個好處:
- 給客戶的印象是你一直關心的是他們的業務、需求,是個負責、靠譜的人。
- 採集到大概需求,可以更好地為接下來的報價和需求設計做準備。
在這次溝通快結束時,要和客戶提出伺服器甚至資料庫的購買,現在買雲伺服器就可以了。要讓客戶知道這個價錢是和系統分開的。如果你不說,很多客戶會以為找你做軟體,做好了就能直接用的。
技巧:這裡不建議你給客戶提供伺服器,如果你提供伺服器你還得承擔伺服器售後的相關事宜;叫客戶自己註冊賬號自己購買,他們更放心,你也不用管售後事宜。
如何報價?
在和客戶溝通完,瞭解清楚需求範圍後,就要給客戶進行報價了。那麼如何報價呢?大家可以依次參考以下幾方面。
- 針對你掌握的需求進行功能設計和拆解,顆粒度最好精確到每個選單級別的功能。
- 以自己的經驗去估算每個功能的開發時長,單位為小時。可以參考我的公式:時長 = 前端開發時長 + 後端開發時長 + 測試時長 + 缺陷修復時長 + buffer時長。
- 計算需求採集和需求說明書編寫成本。這個我自己一般就是給編寫需求說明書的酬勞乘以2。為什麼乘以2,因為我自己也參與需求採集。
- 計算設計總時長,這個一般是我自己。
- 計算前端開發總時長。
- 計算後端開發總時長。
- 計算測試總時長,因為私活都不大,所以我自己這邊測試有一個人就足夠了。
- 有了上面的各職責和環節的總時長,乘以各自的小時單價,就得出報價。除了以上這些,你可能還有其他成本比如交通費用、開票費用,那麼也得算進去。
技巧:團隊成員小時單價怎麼算?我一般是根據他們的上班薪資來計算的,公式:
小時單價 = 上班月薪 * 1.2 / 21.5 / 8
其中,1.2是係數,因為兼職都是熬夜幹活,比較辛苦,所以適當上浮點。21.5是一個月他們平均工作天數,8表示每天工作8小時。
下面是我的計算方式:
上圖的價格加上交通成本1000,開票成本2000,最後是33960。那麼你可以給客戶報45000~55000,因為客戶肯定要還價。
疑問:看了上圖,可能很多人會問,你這成本都30960啦,你贏利在哪裡?需求採集、設計、後端、buffer、我都參與,這就是我的酬勞。同時,像使用者管理、選單管理、許可權管理、部門管理這些通用功能,基本上不需要開發的,這也是我的盈利。
好了本篇就到這裡,主要寫了個人介紹、如何接單、如何和客戶談合作、如何報價。下篇,我會詳細介紹如何簽訂合同、需求採集、計劃制定和監控,感興趣的朋友記得關注我,謝謝。