自由程式設計師的3個開發技巧

2016-03-16    分類:程式設計師人生、首頁精華1人評論發表於2016-03-16

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

我們有三個系列的小技巧要分享:與你的客戶溝通,保護你的聲譽以及解決常見的自由職業問題。下面讓我們開始吧!

1.與你的客戶溝通

作為一個自由職業者,這是你最重要的事情之一!我發現客戶更認同以下的做法:

可靠:做一個可靠的溝通者,及時回覆電子郵件和回答問題。另外,通過傳送定期狀態報告和/或讓他們第一時間知道你完成了一個階段目標,可以避免讓你的客戶猜疑你究竟在幹什麼。

禮貌:禮貌和專業,但同樣重要的是,還要友好。畢竟我們是人!

誠實:不要說謊,信守諾言。不要承諾那些你不打算履行的承諾。例如,不要在專案結束時承諾實現一定的功能,如果你已經知道,就算不加上這個功能,在預計期限內完成專案也是有困難的。

不要隱藏問題:如果問題很嚴重和/或無論無何遲早會暴露出來,那麼儘快通知客戶問題。

跟蹤你的時間:如果你按小時收費的話,那就應該跟蹤你的時間,並定期分享給客戶。如果你每個專案都採取統一的收費率,那麼它可以幫助你找出估計工作量和實際工作量之間的差異。

提供技術諮詢:如果你發現客戶做了錯誤的技術決策時,一定要對他們指出這一點,而不要應該讓他們在錯誤的路上越走越遠,直到舉步維艱。一起討論決策,但要記住,最後的決定權一定以及始終在客戶手裡。

提問:不要害怕問問題:這可以避免你和你的客戶走彎路。有疑問,就問,遇到有歧義的地方,不要按自作主張自以為是。當需求沒有正確定義,或缺少重要細節的時候,讓客戶提供更多的細節,或給出你的版本,這樣對方就可以立即發現錯誤。

釋出客戶期望的內容,而不是你認為他們期望的內容:在軟體開發中,常常存在著一種期望代溝——客戶的期望和他們真正得到的結果之間的差異。當事情未指明的時候,消除歧義,避免假設是減少這種代溝的好方法。

例如,如果需求上宣告,使用者必須通過提供一個電子郵件地址和密碼才能進行註冊,而另一條則說要求使用者通過輸入使用者名稱和密碼登入,這時你會發現這裡有一個不一致的地方:註冊需要電子郵件(而不是使用者名稱),而登入期望使用使用者名稱。那麼應不應該在登入時使用電子郵件,或者在註冊時也要求輸入使用者名稱?除了客戶,沒人能回答這個問題。

解決問題:碰到問題,那就專心致志地去解決這個問題,而不是在一邊怨天尤人。

2.保護你的聲譽

作為一個自由職業者,這是最重要的資本!俗話說,好事不出門,壞事傳千里。

我認為,其實我們應該銘記好事,遺忘壞事,但這個世界就是這麼殘忍。如果你有一個不好的名聲,那麼就可能很難找到專案,尤其是網上的自由職業者,因為你的名聲是公開的。

幾年前,我在Upwork上僱了一個開發人員幫我做一個JEE專案,雖然他沒有JEE的特定經驗。我願意支付他去學習他所需要的東西,並且安排的任務也簡單,是一個非開發任務,技術寫作。

大約一個星期後,他改變了主意,說JEE太複雜了。更糟的是,他開始毀謗我和我的客戶所選擇的框架,用一些令人非常反感的話。即使這樣,他依然要求我向他支付所有他在這個專案上花的時間,並且指責我讓他工作於他不想要處理的技術。

最後,我只支付了他一小部分的時間費用,並且還在Upwork上給他寫了長長的負面評價,我敢肯定這將破壞他在該平臺上的聲譽。我是有意的。請不要誤解我的意思:我不是為了報復。我只是覺得我有必要提醒未來的潛在客戶,他們應該預見這個傢伙的服務水平和專業性。

保護和提高聲譽的最好方法就是保證客戶的滿意!

那麼該怎麼做呢?有一種方法是暫時將自己想象成是客戶。我從Freelancer和Upwork等平臺上僱過幾次開發人員,感謝這些經歷,因為這讓我懂得了:

  • 如何從若干候選人中選擇最好人選
  • 在工作進行中該期待什麼
  • 當碰到開發人員不傳送更新、不回覆電子郵件時,會有多麼沮喪
  • 當開發人員總是讓你瞭解內情,能夠預料到你的問題,並提供更新時,會有多麼開心

當然,你不必為了表現得像一個客戶而真的去僱傭開發人員。這成本太高了。 :]

但這種代入的思維可以幫助你從客戶的角度看問題。尤其是當你故意做一些事來隱藏問題或者欺騙客戶的時候。有一句我最喜歡的格言是:己所不欲,勿施於人。

3.解決常見的自由職業問題

和任何職業一樣,自由職業也有危險區域。以下就是關於如何預測和預防最常見的問題。

解決前期所有模稜兩可的問題

上面我就提到過,讓客戶滿意的關鍵方法是明確客戶的期望,消除有歧義的地方。專案一開始可能充斥著很多關於費率,酬勞,付款條件和時間期限等有歧義的地方。一定要正確地解決這些問題!

不要在稀裡糊塗的情況下籤署保密協議

我曾被多次要求在不告知相關專案任何細節之前簽署保密協議。我的態度就是拒絕,即便有失去專案的風險。

為什麼呢?問題就是,在對我需要保密什麼都不知道的時候,我怎麼能簽署保密協議?如果我已經工作過的專案和這份保密協議發生了衝突怎麼辦?

如果你遇到這種情況,那麼不妨問問客戶是否能給一個專案的大概想法,不需要透露太多——只要足以讓你評估你是否可以負責任地簽署這份保密協議即可。

是什麼樣的專案?是社交app嗎?——哦,好吧,我想我應該告訴你我最近開發過類似的專案。

是什麼樣的專案?一個用來計算太空火箭的軌跡和油耗的app?——那行,我可以簽署保密協議。我敢肯定我從來沒有參與過任何哪怕是一點點相似的專案。

閱讀和理解合同

這是顯而易見的,但是這個話題要格外小心地處理。合同是你和你的客戶之間具有法律約束力的協議,但由於通常是你的客戶要求你簽署得,所以合同主要用來保護他和他的專案,而不是你。

這裡很難給出建議,因為沒有兩份合同是一樣的,最重要的是,我不是律師。但這裡有幾條通用的指導:

  • 仔細閱讀合同。
  • 再次仔細閱讀,然後再來一遍!
  • 只管去聯絡有經驗的律師來幫你審查合同,尤其是有任何困惑,不清楚或令人不安的地方。誠然,法律諮詢是昂貴的,但最後如果有用的話,絕對物超所值。
  • 如果你發現任何錯誤,或含糊不清不利於你的條款,那麼只管提出修改。
  • 如果客戶拒絕修改,那麼退一步去尋找其他的專案。

做好突然沒工作的準備

沒有提前通知,專案就停了下來,這是自由職業的屬性之一。我的對策是一次至少接兩個兼職專案,而不是單單一個全職專案。

每一個專案都是其他專案的後備:如果其中一個被中止,我還有其他工作。畢竟,一半收入總比什麼都沒有要好。

當發生這種情況時,你可能會感到沮喪 ——至少,這有時會發生在我身上。我知道沮喪是正常的反應,並且當我覺得自己調整好心態之後,我會去尋找其他的挑戰。

有時候,如果一兩天過去了,我還是沒有行動的激情,那麼我會選擇和家人一起共享天倫之樂,也許會去做一些我平時因為工作太多而沒辦法做的事情,比如參與業餘活動(近日,我在學習打鼓:]),學習新的東西或看書。

最後,我不知道是運氣,巧合,還是其他什麼東西。當專案結束時,無論是突然發生的還是因為其自然而然地到了時間期限,我經常收到主動和意想不到的offer。例如上一次,在專案突然被凍結的第二天,我在Stack Overflow上收到了一個方案,過了幾天之後在LinkedIn上又收到了另一個。這兩個都是新的聯絡人,而不是朋友的朋友。

不知道在你的身上是否發生過同樣神奇的事情。

然而,無論是否是主動提供的offer,我會保持搜尋,保持申請專案,詢問我的聯絡人等,直到我終於找到一個值得我下功夫的新專案。這個過程有時需要幾天,有時甚至要幾個月。

如果你想了解更多,這裡有一些有趣的讀物:

有人曾推薦給我《Serial Winner》,一本並不是專門針對自由職業者,但任何想要成功的人都必須閱讀的偉大書籍。我還沒有看過,但我已經新增到我的閱讀列表。

另一本是我個人建議的,並非全部有關於自由職業,但在管理財務狀況方面比較實用的書籍是《The Richest Man in Babylon》。

歡迎留下任何你想分享的問題或建議!

譯文連結:http://www.codeceo.com/article/freelance-programmer-tips.html
英文原文:Freelance Software Development Tips
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章