ねこ的アルゴリズム

技術的な話メインの雑記ブログ

新プログラミングスクール!?slack like なチャットアプリをチーム開発してみた

こんにちは、珍獣(@mc_chinju)です。

f:id:neko_aquaalta:20170716194928p:plain

7 月 1 日から 2 週間という短い期間で、slack like なチャットアプリをチーム開発してみよう!という試みをしてみました。

かなり面白い取り組みになったのでこちらで報告しますー。

プロジェクト概要

僕は今、りゅうけんの『人生逃げ切りサロン』 というオンラインサロンに参加しています。

ここでは slack を使って色々な取り組みをしているのですが、slack は無料使用の場合、

ログの検索と閲覧が 10,000 件まで

という制約があります。

slack はものすごく便利なツールであることは間違いないのですが、過去のやり取りが見れなくなるというのは、結構痛いです笑

まぁ、したら自分たちで作るかーというのは自然な流れですね!w

メンバーを集めて作ることにしました!

企画の目的

そもそも、単に過去ログがすべて見れるチャットアプリを作るだけであれば、そこまで難しい話でもありません。モチベーションさえ湧けば、ひとりでも作れるものだろうなという気持ちでした。

そんな中で、僕がプロジェクトを立ち上げようと思った理由は 3 つあります。

  1. 仲間がいるので開発のモチベーションが湧く
  2. 開発ハマりポイントをダイレクトで知れる
  3. 現場で通用するスキルを学べる環境を作りたい

A. 仲間がいるので開発のモチベーションが湧く

何をするにもそうなんですが、一番難しいのが「モチベーション維持」です。やり続ける意義が見出せないと、なんであれ続けることって難しいじゃないですか。

今回は、僕が引っ張っていく形になっていたので、 開発しつつ、質問に答えつつ、適切にアサインする 経験を積めそうだなと。

あー、めんどくせぇなぁと思っていることでも、 「〜がわかりませんー」と質問が来て、「こうじゃないですかー?」って返事して感謝されるのって、 めちゃめちゃ気持ちのいいことですし、楽しいんですよね。

僕のタスクがネックになって進められなかったりすれば、全力でやって次進めてもらわねば!って気持ちもわきますし、 誰かに教えながら作るって最高の環境 だと思ってます。

で、その環境を自分で作れたらすごくいいよねと。

B. 開発ハマりポイントをダイレクトで知れる

ある程度開発経験が長くなってくると、初学者がハマるポイントがだんだんわからなくなってくるんですよね。

今回のように複数人で開発してみると、同じポイントで質問が来たりします。

そう、 よくある質問 がわかるんです。それが知りたかった。

というのも、ブログ記事書く上で、できるだけ意義のある記事書きたいじゃないですか。せっかく自分の時間を割いて書くからには。

ブログ書くのって楽しい部分もありますが、そりゃゲームしたり映画見たりしてるほうが楽しいですからね笑 書くからには多くの人に役に立つものを書きたい。

これからしばらくは、よくあった質問に関して記事を量産していきたいと思っています。実際に困っていた方がいたため、参加者の方々の復習にもなりますし、対象者が具体的なので、最低 1 人でも喜んでくれるひとがいる!

(経験上、そういう記事の方がたくさんの方に読んでもらえている気がします笑)

誰かのために書くというのが一番のモチベーション!

書くぞー!

C. 現場で通用するスキルを学べる環境を作りたい

以前、某プログラミングスクールの講師をしていた経験があるのですが、 お勉強の延長だなぁこれ って思うことが多かったんですよね。

開発の現場にいると、細かい知識の有無ってあんまり重要じゃないんですよね。その場で調べられれば済む話なので。

採用する側から考えれば至極当たり前なんですが、結局 現場で使うものが当たり前に使える人 が欲しいですし、言語の細かい仕様についてなんてまず聞かれません。

実際の現場は一人で開発するなんてほとんどないですし、チームで開発する上でコミュニケーションだって必要になるわけです。

仕様確認し、実装し始め、調べて、わからなければ聞いて、PullRequest 出して、レビューしてもらって、修正する。

このフローを何度も繰り返して実戦形式で学べる環境を自分で作りたいなーと。

終わってみての感想

A. 仲間がいるので開発のモチベーションが湧く

これは本当に期待通りでした。たくさん質問がきて、それに答える。 やり取りが見れるので、僕だけではなく、参加しているメンバーにとっても高いモチベーションで開発に取り組める環境を作れたのかなと思います。

また、 2 週間という短い期間を設定したのがかなり効果が出たように思いました。

締め切り効果めっちゃ大事!

B. 開発ハマりポイントをダイレクトで知れる

かなり収穫がありました。印象深かったのが、git まわり。 ひとによって使うツールも違いますし、なんだかんだ需要ありげ。その他のものも、順次記事にしていきます!

C. 現場で通用するスキルを学べる環境を作りたい

仕様確認し、実装し始め、調べて、わからなければ聞いて、PullRequest 出して、レビューしてもらって、修正する。

とにかくこのフロー回してもらうように心がけましたが、だいぶ感覚をつかんでもらえました。

  • 調べる!とにかく調べる!
  • わからなかったら何がわからないかチャットに投げる!
  • 一人で悩みすぎない!数時間も悩むならさっさと聞く!

こういったプログラミングに直接関係ないスキルを身につけてもらいながら、さらには個々人が学びたいことに取り組み、一人で解決できるようになるためのヒントも与える…!

ってな感じで運用できたかなーと。

エンジニア的な考え方に触れる機会 って、スクールとかじゃあまりないんですよね。僕も前の会社で学びました。基本的な考え方が違うとその後の伸び方も全然違うのでほんと大事です。

Special Thanks!

今回の企画に参加してくださった方々をご紹介します。(GitHub の Collaborator に追加しているメンバーを基準にしています)

YUTA さん

実質、企画者の YUTA さん!アパレル系出身で、Web デザイナーになるべく奮闘中! 今回最初から最後まで一番コミットして、2 週間前とは別人かと思うくらいできることが増えたと思います!

てぃす さん

現役エンジニアの てぃす さん!以前は組み込み系のプログラミングに従事されていたそうです! 今回は、フロントエンドに React/Redux を使ったのですが、フロントの環境構築・実装その他すべてやってくださいました笑

それと、企画が終わった後に真っ先にブログ記事にしてくださいました!感謝!

ネットで知り合った人たちとチャットツールを共同開発したら、とんでもなく勉強になった - TIS NOTE

opiyo_taku さん

岡山住まいのSE、 opiyo_taku さん!お子さんがいらっしゃる中、時間を作って参加されていました! プログラマーを目指し勉強中!

opiyotan.hatenablog.com

神里 さん

元化学系研究者の神里さん。現在は Web デザインや、プログラミングを学び、さらには学んだことを教えているめっちゃアクティブな方。プログラミング教えて欲しい!と頼まれたので、個人的に教えています。逆にデザイン系のことを教えてもらえることになったので今から楽しみ♪

utina.yoshitokamizato.com

やまもとりゅうけん さん

今回の場を提供してくださった方。現役インフラエンジニア。 意見をズバッと言っているので、ブログや Twitter 見ていて爽快。かなりいいひと。

サロンめちゃおすすめです!

まとめ

公開できるまでもう少し時間がかかりそうなので、引き続き、開発は続けていく予定です。

また、 LINE@ を始めました。

  • チャットアプリ開発に携わってみたい!
  • 珍獣から直接プログラミングを学びたい!
  • エンジニアになるために色々聞いてみたい!

といった方は是非ご登録ください!お待ちしております!

友だち追加

それではまた次回!珍獣でした!