いいエンジニアを採用したい。そう思うのであれば、彼らがより仕事がしやすい環境を整えておくことは非常に大切なことです。
また現状の社内の開発に携わっているメンバーの開発プロセスの効率化を図ることで、今いるメンバーによりよい働きをしてもらうことができるメリットがあります。
今回は、エンジニアに喜ばれる、そして社内の開発効率化につながるノウハウを共有したいと思います。コデアル株式会社で実際に活用しているノウハウですので、ぜひ皆様にもご活用頂けると嬉しく思います。
弊社の開発において使っている主なツールに関しては、以下の通りです。エンジニア、デザイナー、ディレクターともに以下ツールに関しては全員が使っています。
1. Redmine
最初はHeroku上にRedmineをインストールして使っていました。今はDigitalOcean上にホスティングしています。
元々代表の愛宕がエンジニアであり、使いなれていたこともあり、営業、デザイナー、エンジニア問わず、社内ナレッジの共有や外部の業務委託契約先などに対する情報共有にもRedmineを使っています。
これまで社内で蓄積してきた知見をRedmineにストックしていっています。各プロジェクトごとに権限を付与し、閲覧権限の管理がしやすいのがRedmineの特徴です。事業運営をしていくなかで、色々な方に業務に関わって頂くことになります。そのなかで、閲覧範囲を自由自在に変えることができるのは非常に重宝しています。
メッセージングアプリでやり取りしていて、その中で流れていってしまっては困る情報をRedmineに定期的に整理、まとめて記載するという形で使っています。弊社では100%開発を内製化していますが、開発の際のチケット発行の機能はあまり使用していません。
2. チャットワーク
Directを使ってもよろしいかと思います。非常に使い勝手のいいサービスです。こちら30日間のトライアルキャンペーンもやっているようです。やはりプッシュ通知機能があり、すぐに情報共有ができるのは助かりますよね。
コデアル株式会社では、チャットワークを使ってディレクターがタスクの期限、及びタスク担当者を設定し、期限になったら作業内容を確認するという作業方針をとっています。誰が、いつまでに、何をやらなければいけないのかを開発に携わるメンバー全員に共有し、見える化するようにしています。
またなにか開発の際にわからないことが出てきたときには、チャットワーク内で作業者に投稿してもらい、質問できるような体制をつくることでインターン生をより早く開発において戦力化する体制をつくっています。
また海外にいるメンバー(主にアメリカ)とのコミュニケーションをとることが多いので、チャットワークのビデオ会議機能を使って遠隔でもやりとりしています。アメリカにいるエンジニアとやりとりをする際には、時差を考慮に入れて、連絡をとる時間を日本時間のPM2:00-4:00の間とするなど決めています。
基本的に急ぎの対応が必要な場合や、設計に関する話など直にコミュニケーションをとる必要性がある場合に使っています。
3. Bitbucket
少人数のアジャイル開発の強い味方です。参加者が5名までのリポジトリであれば無料で利用できます。開発に関わる人数が増えてきた場合には有料アカウントへの移行が必要です。GitHubの有料アカウント作成し、非公開リポジトリを作れるようにしてもいいでしょう。
いずれにせよ、ソースコードのバージョン管理システムは必須です。SVNを使っている企業は少なくなってきています。Gitのブランチの仕組みにいったんなれてしまうと、GitからもうSVNには戻れないと思います。ソースコード管理にGitの導入はぜひともおすすめしたいところです。
コデアルでも創業当初はGitを導入していない時期がありましたが、そのときに起こった問題は複数の人間が作業をしていて、ある人間が作業した内容が本番に展開したコードには反映されていないという問題が発生してしまいました。これを機に、弊社ではGitでのソースコード管理を徹底しています。
4. Source Tree
ソースコード管理のためにGitを使っていますが、全メンバーに利用してもらううえで、GitのクライアントアプリとしてSource Treeを使っています。入社直後にソースコードのバージョン管理の仕組みについて代表の愛宕から共有し、その後プロジェクトに参加するという流れになります。
エンジニア以外のメンバーにもソースコード管理の仕組みに参加させたいという場合に、Gitのコマンドが叩けなくても問題がないので、非常に重宝するのが、Source Treeです。GitHubが提供しているクライアントアプリを使うのもよろしいかと思います。
5. Capistrano
Capistrano を導入することで、Gitで管理しているソースコードをそのままテスト環境、本番環境にデプロイできるような環境を構築しています。ターミナルから cap production deploy のコマンド一発で本番に自動でデプロイができる環境をコデアルではつくっています。
最初は導入していませんでしたが、修正したコードをより高速に、かつミス無く本番環境にもっていくうえで非常に活躍してくれています。
6. AWS
最初はさくらのVPSを使っていましたが、AWSに今は完全に移行しています。AWS上でインスタンスをつくっておきさえすれば、すぐに別の環境にも展開できるのは非常に魅力的です。AWSはAmazonが自社のサービス運営上使っているリソースを公開しているものだということもあり、見事にかゆいところに手が届くようなサービスだと感じています。
Amazon EC2,Amazon RDS,Amazon SNS,Amazon S3,Amazon Redshiftなどどれをとっても本当に大助かりのサービスです。全てをAWSで完結させておくと管理画面もAWSの管理画面だけで済むというメリットも大きいですし、Amazonが他の会社に買収されることはないはずなので、よくあるPaaSやBaaSを提供しているベンチャー企業のように、買収されてサービスの運営が疎かになった、クローズしたという心配もないであろうというのも大きなメリットだと言えると思います。
上記6つを導入してみて、開発現場の環境改善に役立ててみてはいかがでしょうか?もし実際に開発現場の環境を見直してみたい、エンジニアの採用に困っているという企業様はぜひ以下よりお問い合わせ下さい。