ソーシャルコーディングとは
- ソースを誰もが変更する権利を得て、
- 誰もが自由にソースを変更
- これまでのソフトウェア開発と一線を画し、限られた開発者以外でもソースをいじれる
- ソフトウェア開発のスピード感がUPされる
- ソースコード改変の民主化
職業プログラマこそソーシャルコーディングすべき
人材の流動性が高まっているため、職業プログラマがこれまでに作ったものを把握し、 最新情報の取得、多様な文化の取得のためにソーシャルコーディングは注目されている。
採用担当者視点からどちらがほしいプログラマか? - 今までに書いてきたコードを閲覧できるorできない。 - 最新のソフトウェアに精通しているorしていない。 - 多言語や異なるソフトウェアの多様な文化を理解しているorしていない。 後者にならないために、ソーシャルコーディングは必要。
世界を閉ざさず、多種多様な文化を見る
会社という閉ざされた世界の中でプログラミングをしていたのでは、 いつの間にか扱っている技術が陳腐化していることもありえる。 世界中で使われて、日々変更されるコード、設計、文化に目を向け、 よければ採用する眼力が必要。
コードを書けるプログラマが求められている
- facebookのプロフィールのように自分が書いたソースをポートフォリオとすることができる。
- 自分がどれほどのコードを書いたかを面接時に提出することができる。
- 人間性を見るため意外に、ソースでどのレベルのプログラマかをアピールできる。
GitHubとは
集中型と分散型
Subversion=集中型 M 管理がシンプル D サーバに接続できない状態だと最新ソースコードが取得できない(svnサーバがダウンしたら終わり)
Git=分散型 M 複数リポジトリで管理できることになる D 管理ルールを明確に決めないと、管理が面倒になっていきやすい
※分散型で集中型のような管理もできる。
GitHubのメリット
これまでのGit歩スティングサービスでは、人にフォーカスできなかった。 Git+SNSのようなもので、有名なスーパーハッカーや、 有名企業のPGとも接点を持てる、または、その人の興味に触れることができる。
GitHub機能
- Gitリポジトリ
- organaization(企業用)
- Issue(バグトラッキング機能)
- Wiki
- Pull Request(変更を相手に取り込んでもらう機能)