如果你想要找個自由開發人員協作開發項目,那么問題來了,該如何找到一個完美的開發人員呢?這是一個艱巨的任務。之所以用艱巨這個形容詞,其實一點也不夸張,哪怕你有著再豐富的技術
如果你想要找個自由開發人員協作開發項目,那么問題來了,該如何找到一個完美的開發人員呢?這是一個艱巨的任務。之所以用艱巨這個形容詞,其實一點也不夸張,哪怕你有著再豐富的技術。話說,人們很容易只重視技術因素而忽略其他。即使是天才,要是不能與人合作,那么聘請他也是一個錯誤的決定。
本文將介紹幾個可以確保你找到最完美的合作伙伴的方法。
可以要求看一些程序員已經完成的作品。花一些時間來研究他們的項目。指出你喜歡和不喜歡的地方。也許他們建立web應用是很快,卻有一些奇特之處限制了用戶密碼。問問他們是什么導致他們做出這樣的決定。
任何形式的軟件開發,無論是web、移動app,都能找到最佳的折中方案。聽聽開發人員面臨的各種權衡和取舍,以及他們解決問題的方法,這對你評估他們今后的表現是非常有價值的。
如果你自己本身對代碼了解得不多,那么不妨挖掘一下開發人員的GitHub賬戶,看看他們寫的代碼,做過哪些項目。通過代碼能讓你從技術的角度確定他們是否是一個合適的選擇。
當你查看自由職業者的GitHub時,下面這些要點是你應該要特別注意的:
語言:此開發人員是只使用一兩種他所青睞的語言呢,還是許多不同的語言都有涉足?找一個匹配項目的專業型人才能快速推動項目的進展,而有著豐富經驗的人才則能夠提供更適合現實工作的相關建議。
注釋和文檔:代碼注釋寫的如何?自由職業者的性質意味著他的代碼很有可能需要轉經其他人之手,所以其代碼是否友好就是關鍵了。如果答案是否定的,那么你就需要三思了。有的開發人員認為,自文檔化的代碼就不需要任何注釋了。呵呵,如果沒有注釋,你怎么確保代碼的可讀性呢?
是否參與過其他項目?理解別人的代碼是個難題,但是這是個必要技能,特別是你如果想要聘請開發人員參與到現有的代碼庫中去的話。所以如果他們已經參與過其他項目,促成過開源項目,那么他們寫出可維護代碼的可能性更大,因為他們知道這樣做的重要性。
無論是實踐還是現實中使用的技術,軟件開發的變化速度是非常快的,所以如果你選了一位依然停留在10年前老技術的開發人員,那么你將會錯過很多可以讓你的項目更好、更快、更易于維護的工具和技術。
問問他們是如何學習新事物的,最近學了什么有助于開發的內容,從學習中收獲了什么,接下來想學什么以及為什么。
即使你并不熟悉相關細節,你也可以從他們的回答中了解他們是否對這一行業有著充沛的熱情和好奇心。雖然說,好奇心害死貓,但是一般說來,一個擁有著好奇心的開發人員對項目總歸是利大于弊的。
溝通可以成就項目,也可以破壞項目。所以請確保你和開發人員都能用一種雙方都認可的方式和頻率進行溝通交流。大多數開發人員都有常用的通訊工具。你先看看你是否能用。如果不能的話,那么應該確保開發人員能夠適應你提出的替代工具。
此外,你還需要問一問開發人員大概多久會與你溝通。如果你聽到的回答是,“每個里程碑結束之時說一下”。那么你就需要注意了。這樣的頻率是有風險的。最后出來的結果可能與你原先設想的完全南轅北轍。
定期查閱工具(至少每周一次)可以修復一些小誤會,以避免最后成為大麻煩。
問問題和看代碼只能讓你了解一個開發人員很瑣碎的一面。要想真正了解與他們合作的感覺,最好的辦法是通過實際的項目測試一下。
所以如果可以的話,將你的項目掰出一小塊來,然后一起合作來解決它。當然最好能夠支付他們報酬。這么做的好處是:
測試風險低;
即使最后不能一起工作,也有一定的成果;
如果你愿意支付公平報酬的話,那么你們雙方就是互惠互利的。
我之所以提及最后一點,是因為有的企業會要求開發人員建立一個小的測試項目以評估他們和他們的工作作風,而不付出酬勞。我認為這并不是一個好方法。沒有人愿意成為實驗對象。而且如果一切順利的話,你們以后將成為合作伙伴,所以不要因此而讓對方心生芥蒂。
在測試期間,請睜大眼睛好好觀察,看看該開發人員有沒有什么你不能容忍的行為。
如果項目很緊迫,你沒有時間采取上述舉措,那么至少做一下測試。可以讓開發人員來構建大型項目的某一片段。這么做不但風險低,而且不浪費時間。即使最后你并不滿意,還是需要再找其他的合作伙伴,所耗費的時間和資金也更少。
當然,如果一開始就進行挑選,選擇余地肯定會大得多。不過,總而言之,要想找到適合的開發人員,你應該盡可能地睜大你的眼睛。