經過無數經驗教訓后我給獨立程序員的建議
2016-03-04 15:25:14 來源: ITeye管理員 評論:0 點擊:
原文:Freelance Software Development Tips 這是三篇獨立程序員(自由職業程序員)系列文章的最后一篇。 在第一篇, 我們整理了一些成為獨立程序員的優點和缺點,幫助你決定自己是否適合成為獨立程序員。 在第二篇,我們介紹了怎么成為一名獨立程序員。 在這第三篇,將分享一些過去幾年里我們作為成功的獨立程序員所學習到的經驗和技巧。 本文分
原文:Freelance Software Development Tips

這是三篇獨立程序員(自由職業程序員)系列文章的最后一篇。
在第一篇, 我們整理了一些成為獨立程序員的優點和缺點,幫助你決定自己是否適合成為獨立程序員。
在第二篇,我們介紹了怎么成為一名獨立程序員。
在這第三篇,將分享一些過去幾年里我們作為成功的獨立程序員所學習到的經驗和技巧。
本文分成三大塊來講述:
和客戶的溝通

第一個部分要談的就是和你的客戶溝通的問題。作為一名獨立程序員,這是要做對的最重要的事。我發現客戶喜歡有以下品質的人:
可靠
成為一個可靠的聯系人,能及時的回復郵件和回答問題。同時,避免讓客戶擔心你的進度,你可以給他們發送常規的進度報告或者當你完成一個目標后讓他們知道。
禮貌
禮貌并且專業,友好也一樣重要,畢竟我們是人!
誠實
不要說謊,總是遵守諾言。不要許下做不到的承諾。比如,不要在項目快結束的時候答應實現一些功能,如果你都知道你連按時項目都已經很困難了。
不要隱瞞問題
如果問題很嚴重或者遲早會暴露,盡快告訴客戶。
記錄你的時間使用
如果你是按照小時收費的,記錄你的時間使用,并且經常告訴你的客戶。如果你是按照項目一次收費的,這也可以幫助你評估你的效率。
提供技術建議
如果你發現客戶做出了一個錯誤的技術決策,一定要告訴他們而不要讓他們陷入困境。和他們討論這個決定,但是要注意的是,最后還是讓客戶自己定奪。
提出問題
不要害怕提問,這可以讓你和客戶在未來省下不少心。如果有疑問,總是去問清楚,不要自己假設客戶想要的是這樣。如果一個需求定義的不是很清楚,或者缺失了一些關鍵的細節,要求他提供更多的細節,或者告訴你他想要的結果。這樣他就能馬上指出一些錯誤。
做出客戶期望的東西,而不是你認為客戶期望的東西
在軟件開發里,總是有一條溝:溝的這邊是客戶期望的結果,溝的那邊是最后他們得到的結果。消除歧義并且在不明確的時候不要自作主張是縮小這個溝兩端距離的好方法。
比如,如果一個需求說:一個用戶注冊需要提供郵箱和密碼。但是在另一個地方卻說:一個用戶登錄需要輸入用戶名和密碼。你會發現兩個需求有沖突:注冊時填的是郵箱,登錄卻要輸入用戶名。是把郵箱當做用戶名還是在注冊時需要填用戶名?除非客戶自己說明否則沒人知道。
解決問題
當出現了一個問題,集中精力去解決它而不是去抱怨。
維護自己的名聲
這個部分要分享一些怎么維護自己的名聲的建議。
作為一名獨立程序員,這是你最重要的資產。正如老話說的,那些你做過的好事早就消散在風里,而壞事永流傳(good things are written in sand, bad things in stone)。
我們都希望事情不是這樣,是反過來的,然而世界就是如此。如果你的名聲不好,你就很難找到項目,尤其是在你的名聲是公開的社交網絡上。
最好的維護提高你的名聲的方法就是讓你的客戶滿意。
怎么樣做到呢?一個可行的方法是臨時把你想象成一個客戶。我曾經從一些平臺上(Freelancer、Upwork)雇過幾次獨立程序員,所以以下幾點有切身體會:
當然你真的不必為了體驗客戶的感覺真的去雇兩個人,這還是挺貴的 。
如果你時常從客戶的角度來思考會很有幫助。尤其是當你刻意隱瞞一些存在的問題或者撒謊這樣的行為。這輩子我最喜歡的一句話就是:己所不欲勿施于人(沒想到老外也知道這個。我天朝文化真是經久不衰)。
怎樣解決一些常見的問題
最后一部分是解決獨立程序員常見的一些問題的建議。
就像所有的職業一樣,獨立程序員也有危險的區域。這里告訴你怎樣避免一些常見問題。
在項目開始前都談清楚
在上面里我提到,讓用戶滿意的一個關鍵就是明確客戶的期望,消除歧義。項目的開始階段也有很多不明確的地方:開發速度,開發費用,支付方式和交付日期。這些一定要談的非常清楚。
不要在對項目一無所知的時候簽下保密協議
有好幾次客戶在沒有向我展示項目的任何信息就要我簽署保密協議(NDA)。即使冒著丟掉的風險,我也總是拒絕。
為什么呢?關鍵是:我怎么能簽下一份不知道具體詳情的協議,讓我自己去為它保密,在沒有完成前都要保密,我連要保密的是什么我都不知道!如果我一開始就已經違反了保密協議呢?
如果你也遇到這樣的情況,請求客戶告訴你這個項目的idea是什么,不需要太多的細節,只要讓你能有信心能做到保密。
這個項目是做什么的?一個社交約會APP?額....我應該告訴你們我最近在做著一些相似的項目。
仔細閱讀理解合同里的條款
看起來這是顯然的,但是這是需要一個特別認真對待的話題。一份合同是受法律保護的你和客戶間的協議。并且通常都是客戶要求你簽的,這份合同通常總是更關注保護客戶和他的項目的權益,而不是你的權益。
這很難給出建議,因為沒有兩份合同是一樣的,而且更重要的是,我也不是一個律師。但是有一些通用的忠告:
為可能突然找不到項目做準備
有時你在一個項目完成時找不到下一個項目是很正常的情況。我的對策就是保證自己至少同時在做著兩個可以兼顧的項目,寧可放棄一個可以專職的項目。
這樣每個項目都可以為另一個項目當做后備:如果一個結束了,我還是有項目可以做。畢竟有一半收入比完全沒有好。
當真的發生這樣的情況,你可能會很傷心,至少我有時會這樣覺得。但是我知道這只是一種正常的反應,當我感覺我狀態正常了我就開始找一些其他有挑戰的事。
如果我依然沒有激情狀態不好,我就會讓自己休息一兩天。我會和家里人花更多的時間相處,也可能做一些我平常沒法做的事,因為總是有著大量的工作,比如一些休閑活動(我最近在練習打鼓:]),學習一些新東西或者讀讀書。
最后,我不知道是因為運氣好,巧合還是其他的什么。當我的一個項目結束的時候,我經常就收到主動邀請我的offer。上一次,比如,在一個項目突然暫停后的第二天,我就接到Stack Overflow的邀請,在那之后的幾天又收到LinkedIn的。都是一些不太熟的人,不是朋友或者朋友的朋友介紹的。
我希望這樣的事情也能發生在你的身上。
然而,無論有沒有主動的offer,我會堅持搜索,申請項目,詢問我的朋友等等。知道我有一個新的項目可以做。有時會花幾天時間,有時也能要幾個月。
這些我都知道了,我還能去哪多了解一些?
我希望以上提到的這些能對你有幫助,如果你在考慮是不是要否要成為一個獨立程序員,或者已經是了正在尋找一些經驗建議。
如果你想要了解更多的東西,下面是一些可以提供的資源:
有人給我推薦過:Serial Winner,一本不是專門給自由職業者的看的書,而是給那些希望自己總是成功的人的書。
還有一本是我的個人推薦,和自由職業者完全不相關但是有好幾個地方都激勵了我,是關于管理你的資金:The Richest Man in Babylon。
譯文來自:簡書

這是三篇獨立程序員(自由職業程序員)系列文章的最后一篇。
在第一篇, 我們整理了一些成為獨立程序員的優點和缺點,幫助你決定自己是否適合成為獨立程序員。
在第二篇,我們介紹了怎么成為一名獨立程序員。
在這第三篇,將分享一些過去幾年里我們作為成功的獨立程序員所學習到的經驗和技巧。
本文分成三大塊來講述:
- 和客戶的溝通
- 維護自己的名聲
- 怎樣解決一些常見的問題
和客戶的溝通

第一個部分要談的就是和你的客戶溝通的問題。作為一名獨立程序員,這是要做對的最重要的事。我發現客戶喜歡有以下品質的人:
可靠
成為一個可靠的聯系人,能及時的回復郵件和回答問題。同時,避免讓客戶擔心你的進度,你可以給他們發送常規的進度報告或者當你完成一個目標后讓他們知道。
禮貌
禮貌并且專業,友好也一樣重要,畢竟我們是人!
誠實
不要說謊,總是遵守諾言。不要許下做不到的承諾。比如,不要在項目快結束的時候答應實現一些功能,如果你都知道你連按時項目都已經很困難了。
不要隱瞞問題
如果問題很嚴重或者遲早會暴露,盡快告訴客戶。
記錄你的時間使用
如果你是按照小時收費的,記錄你的時間使用,并且經常告訴你的客戶。如果你是按照項目一次收費的,這也可以幫助你評估你的效率。
提供技術建議
如果你發現客戶做出了一個錯誤的技術決策,一定要告訴他們而不要讓他們陷入困境。和他們討論這個決定,但是要注意的是,最后還是讓客戶自己定奪。
提出問題
不要害怕提問,這可以讓你和客戶在未來省下不少心。如果有疑問,總是去問清楚,不要自己假設客戶想要的是這樣。如果一個需求定義的不是很清楚,或者缺失了一些關鍵的細節,要求他提供更多的細節,或者告訴你他想要的結果。這樣他就能馬上指出一些錯誤。
做出客戶期望的東西,而不是你認為客戶期望的東西
在軟件開發里,總是有一條溝:溝的這邊是客戶期望的結果,溝的那邊是最后他們得到的結果。消除歧義并且在不明確的時候不要自作主張是縮小這個溝兩端距離的好方法。
比如,如果一個需求說:一個用戶注冊需要提供郵箱和密碼。但是在另一個地方卻說:一個用戶登錄需要輸入用戶名和密碼。你會發現兩個需求有沖突:注冊時填的是郵箱,登錄卻要輸入用戶名。是把郵箱當做用戶名還是在注冊時需要填用戶名?除非客戶自己說明否則沒人知道。
解決問題
當出現了一個問題,集中精力去解決它而不是去抱怨。
維護自己的名聲
這個部分要分享一些怎么維護自己的名聲的建議。
作為一名獨立程序員,這是你最重要的資產。正如老話說的,那些你做過的好事早就消散在風里,而壞事永流傳(good things are written in sand, bad things in stone)。
我們都希望事情不是這樣,是反過來的,然而世界就是如此。如果你的名聲不好,你就很難找到項目,尤其是在你的名聲是公開的社交網絡上。
最好的維護提高你的名聲的方法就是讓你的客戶滿意。
怎么樣做到呢?一個可行的方法是臨時把你想象成一個客戶。我曾經從一些平臺上(Freelancer、Upwork)雇過幾次獨立程序員,所以以下幾點有切身體會:
- 怎樣從幾份申請中選擇程序員
- 期望工作的進展是什么樣
- 當開發者沒有告訴我當前的進度,沒有回復我的郵件我有多郁悶
- 如果開發者總是和你保持聯系,回答你的問題,告訴你進度是多么開心
當然你真的不必為了體驗客戶的感覺真的去雇兩個人,這還是挺貴的 。
如果你時常從客戶的角度來思考會很有幫助。尤其是當你刻意隱瞞一些存在的問題或者撒謊這樣的行為。這輩子我最喜歡的一句話就是:己所不欲勿施于人(沒想到老外也知道這個。我天朝文化真是經久不衰)。
怎樣解決一些常見的問題
最后一部分是解決獨立程序員常見的一些問題的建議。
就像所有的職業一樣,獨立程序員也有危險的區域。這里告訴你怎樣避免一些常見問題。
在項目開始前都談清楚
在上面里我提到,讓用戶滿意的一個關鍵就是明確客戶的期望,消除歧義。項目的開始階段也有很多不明確的地方:開發速度,開發費用,支付方式和交付日期。這些一定要談的非常清楚。
不要在對項目一無所知的時候簽下保密協議
有好幾次客戶在沒有向我展示項目的任何信息就要我簽署保密協議(NDA)。即使冒著丟掉的風險,我也總是拒絕。
為什么呢?關鍵是:我怎么能簽下一份不知道具體詳情的協議,讓我自己去為它保密,在沒有完成前都要保密,我連要保密的是什么我都不知道!如果我一開始就已經違反了保密協議呢?
如果你也遇到這樣的情況,請求客戶告訴你這個項目的idea是什么,不需要太多的細節,只要讓你能有信心能做到保密。
這個項目是做什么的?一個社交約會APP?額....我應該告訴你們我最近在做著一些相似的項目。
仔細閱讀理解合同里的條款
看起來這是顯然的,但是這是需要一個特別認真對待的話題。一份合同是受法律保護的你和客戶間的協議。并且通常都是客戶要求你簽的,這份合同通常總是更關注保護客戶和他的項目的權益,而不是你的權益。
這很難給出建議,因為沒有兩份合同是一樣的,而且更重要的是,我也不是一個律師。但是有一些通用的忠告:
- 仔細的讀合同。
- 在仔細的讀一遍,然后再讀一遍!
- 如果某個部分不明白或者不清晰,一定要找個有經驗的代理人幫你看看。是的,雖然獲得法律的建議要花費一些錢,但是這些建議可能最后為你節省更多的錢。
- 如果你發現有一些錯誤,歧義或者你不喜歡的條款,不要害怕提出來。
- 如果客戶不同意你提出的要求,放棄去尋找另一個項目。
為可能突然找不到項目做準備
有時你在一個項目完成時找不到下一個項目是很正常的情況。我的對策就是保證自己至少同時在做著兩個可以兼顧的項目,寧可放棄一個可以專職的項目。
這樣每個項目都可以為另一個項目當做后備:如果一個結束了,我還是有項目可以做。畢竟有一半收入比完全沒有好。
當真的發生這樣的情況,你可能會很傷心,至少我有時會這樣覺得。但是我知道這只是一種正常的反應,當我感覺我狀態正常了我就開始找一些其他有挑戰的事。
如果我依然沒有激情狀態不好,我就會讓自己休息一兩天。我會和家里人花更多的時間相處,也可能做一些我平常沒法做的事,因為總是有著大量的工作,比如一些休閑活動(我最近在練習打鼓:]),學習一些新東西或者讀讀書。
最后,我不知道是因為運氣好,巧合還是其他的什么。當我的一個項目結束的時候,我經常就收到主動邀請我的offer。上一次,比如,在一個項目突然暫停后的第二天,我就接到Stack Overflow的邀請,在那之后的幾天又收到LinkedIn的。都是一些不太熟的人,不是朋友或者朋友的朋友介紹的。
我希望這樣的事情也能發生在你的身上。
然而,無論有沒有主動的offer,我會堅持搜索,申請項目,詢問我的朋友等等。知道我有一個新的項目可以做。有時會花幾天時間,有時也能要幾個月。
這些我都知道了,我還能去哪多了解一些?
我希望以上提到的這些能對你有幫助,如果你在考慮是不是要否要成為一個獨立程序員,或者已經是了正在尋找一些經驗建議。
如果你想要了解更多的東西,下面是一些可以提供的資源:
- Staying motivated as a work-from-home developer
- Interview to Piero Toffanin, a former digital nomad
- Why you shouldn’t be scared of going freelance, by Ignacio Nieto
- Do’s and Don’ts of a Freelance Developer, by Ignacio Nieto
- Fixed quotes, by Mariano Abdala
- Busting the Top 5 Myths About Remote Workers, by Scott Ritter
- How to Travel While Working: The Traveling Engineer’s Survival Guide, by Breanden Beneschott
- Don’t Be Fooled: Calculate the Real Cost of Employees and Consultants, by Hyam Singer
有人給我推薦過:Serial Winner,一本不是專門給自由職業者的看的書,而是給那些希望自己總是成功的人的書。
還有一本是我的個人推薦,和自由職業者完全不相關但是有好幾個地方都激勵了我,是關于管理你的資金:The Richest Man in Babylon。
譯文來自:簡書
上一篇:變不可能為可能,Tachyon幫助Spark變小時級任務到秒
下一篇:WOT2016吳兆松:Zabbix監控自動化的未來如何發展
分享到:
收藏
