ネットワークサービス部 初開発合宿開催!!

ネットワークサービス部 初開発合宿開催!! こんにちは。ネットワークサービス部テクノロジー部門の嶋です。そろそろ暖かくなってきた先月、2月25~2月27日にかけて、ネットワークサービス部テクノロジー部門のエンジニアが集まって、伊東温泉(静岡県)で開発合宿を行いました。今回はその様子をお伝えします。

開発合宿を行ったきっかけ

先日、ComCTFが開催されました。ComCTFとは、NTT Com内で実施しているセキュリティに関するテクニックを競い合うコンテストのことです。そのとき、「惜しくも予選突破できなくて悔しい」という意見や、「本選で実力不足を感じた」など、さまざまな意見がありました。また、「まとまって勉強できる時間がなかなか確保できず厳しい」という意見もあり、「どこかで勉強できたらいいよね」ということになって開発合宿を計画しはじめ、その後、合宿に参加する有志7人が集まり、“開発合宿にオススメ!旅館5選”に選ばれている山喜旅館にて2泊3日で内製開発強化を目的とした開発合宿を開催することになりました。開催するにあたって協力していただいた皆さま、ありがとうございました。

開発合宿中の様子について

合宿は以下のスケジュールで進みました。 1日目 o 朝: 各自電車移動 (新幹線 or 踊り子) o 10:00 山喜旅館ロビー集合 → 環境準備 o 11:00 開会宣言、 自己紹、 やること宣言 2日目 自由開発時間 3日目 o 12:00 チェックアウト後、会議室へ移動 o 14:30~16:00 LT的に成果報告 o 17:00 会議室 撤収 個人的な感想も含みますが、合宿期間中は本当に自由に開発することができました。集中力がなくなったら目の前が海ということもあり、散歩や漁港に泳いでいる魚を眺めに行くことができました。開発場所としてきれいな会議室が確保されていて、そこで開発してもいいし、旅館の部屋で開発してもいい、としてあったのでストレスフリーで作業することができました。また温泉地ということもあり、夜は温泉など、リラックスできるものがたくさんあったので、楽しみながら開発することができました。

開発ネタについて

今回の開発合宿では各自が自分で持ってきたネタを実装する形式をとりました。何人かのネタをここでご紹介したいと思います。

  • Batfish + inet-hengeでconfigテスト + トポ図自動生成
  • ansible nw module, gitlab でCICD化
  • SOプログラムのpython置き換え
  • 100万pps送信する自作ツールに再チャレンジ

これらは1部ですが、さすがネットワークサービス部ということでネットワーク周りのプログラミングが多かったように感じます。 またopenstackなので仮想基盤系のネタもあり、クラウド系のネタに挑戦するメンバーも多くいました。またお互いに不足している知識や経験を補い合うような場面もあり、討論が盛り上がる場面も多々、見られました。

最終発表に使った資料の一部をご紹介します。 → https://gitpitch.com/take4mats/201902techcamp#/

合宿形式の有用性について 開発合宿という、普段とは異なった環境で開発するのは普段、オフィスで働くのと、どう違うのか?について、全員の感想をご覧いただきながら解説します。

 <全員に聞いた感想> ・やる気のある人が集まって取り組むだけで、完成までのモチベーションが持続する ・途中、アイデアや実装に詰まっても他の人の意見をもらえ、解決の糸口になることもある ・事務作業にほとんど触れず、プログラミングだけに集中できる ・もくもくやる人が目の前に集まっているだけでやる気が持続する ・もくもくやる一方で、たまに独り言からの会話が解決につながることがあり、とても良かった ・改まった質問と独り言ではハードルがぜんぜん違う ・しゃべると頭が整理される(1人で考え込むより良い) ・余計な interrupt がないのにはすごく感謝(特に自分は普段ひどいため) ・寝食をともにしていると、作業時間以外での会話も良い影響になる(ナレッジ共有、アイデア議論、親睦) ・リモートワークは2日までに制限されているが、1つのPoCを集中して仕上げるには3日間の合宿が適切だと思った ・慣れない分野で1つの成果を生み出すために断続的に計3日間リモートワークとるより、合宿で3日間連続して取り組む方が効率が良いと実感

意見として多かったのは、質問のハードルの低さや目の前で頑張っている人がいるだけでもう少し頑張ろうと思える、ということです。あとはモチベーションについての意見も多く、普段の環境よりもモチベーションの持続性が全然違うと口をそろえて言っていました。エンジニアリングにおいて、モチベーションの維持というのは結構重要な位置を占めるものです。開発合宿というのはそのための新たな働き方の1つになるのではないでしょうか?

もう1つ大事だと感じたのは、テーマ選定や事前の環境準備です。事前に参加者同士で集まってテーマ候補を話し合うようにしましたが、そのテーマにどんなアプローチで取り組むか、いくつかの案を練っておくことも重要です。 せっかくの機会なので、無策で臨んで成果ゼロ……というようなことにはないように準備が大切です。決められた短期間でアウトプットを出す訓練としても有用だと思います。

今後の開発合宿について 今後も継続的、定期的に開発合宿が開催できるように努力していきたいと考えています。

最後に伊東温泉での美味しかったご飯(伊東温泉名物「うずわめし」)と旅館の部屋をご紹介して終わります。

© NTT Communications Corporation All Rights Reserved.