目次
- はじめに
- 課題山積み!? 現状の開発体制は?
- みんなで考えてみた!技術革新への道のり!
- おわりに
はじめに
今回はいつものようにテーマについて自由にお話しするトークイベントとはちょっと違い、discordメンバーのyshimizuさん(@hatafull_shimizu.y)のお悩みに対してみんなで考えてみました!
スピーカーは以下のとおりです!
yshimizuさん
- 福島県の制作会社に所属
- リードエンジニア
運営メンバー
- 運営メンバーの情報はこちらから
コミュニティーリーダー
- なんでもトークンさん(@nandemotokun)
- 虎野ともさん(@tomo_torano)
課題山積み!? 現状の開発体制は?
yshimizuさんのお悩みは、まさに今回のトークテーマでもある、「技術革新をどう進めていくか」です!
開発状況を聞いてみると以下のとおりでした。
開発状況
- エンジニアのメンバーは4人。
- yshimizuさん以外はデザイナーも兼任。
- 基本的に1つのサイトは1人で実装。
- プロジェクトごとにNodeモジュールを入れているのではなく、1人1つのpackage.jsonやnode_modulesを使用して複数プロジェクトの制作をしている。
- gitを使用してない。一度導入したが、浸透せず廃止。
- サイトの規模は10~30ページが多い。
- 納品後も更新はあり。更新は他のメンバーが対応することもある。
- マスター管理は本番環境、テスト環境で行なっている。コンパイル前のファイルもアップ。
yshimizuさん曰く、技術革新の必要性は感じているものの、全員が切実に困っていると言うわけではないため、なかなか浸透が難しく、新しい技術になれる前にやっぱりやめようとなってしまうことが多いそう。
確かに日々忙しい中で、慣れたことを放棄して新しいものに挑戦するってなかなか難しいですよね。
みんなで考えてみた!技術革新への道のり!
① パッケージ、Nodeモジュールは、人ごと→プロジェクトごとに!
yshimizuさんが技術革新を進めていきたい理由として1つ挙げてくださったのは、1人1パッケージ、1Nodeモジュールを使って複数のプロジェクトの開発をしていることで、Nodeのバージョンアップをする際に、プロジェクトによっては動かなくなってしまう危険性があるということでした。
実際、そうした危険性の危惧だけでなく、voltaは導入しているもののプロジェクトによって毎回コマンドを叩き直さなければならないという不便性も発生しているよう。(volta不完全燃焼)
技術革新の第一段階として、プロジェクトごとにパッケージとNodeモジュールを用意するところから始めようという意見が挙がりました!
確かに、この一点を変えるだけでも、yshimizuさんが危惧しているNodeのバージョンアップで環境が動かなくなってしまう危険性も回避することができ、案件の受け渡しもやりやすくなるのではないでしょうか!
② gitは入れるべき!
yshimizuさん曰く、一度はgitを入れてみたものの、基本的に1人での開発が多いことから、浸透する前にやめようとなってしまったそう。
私は普段から複数人での開発が当たり前なので、gitのありがたさは日々感じてはいるものの、確かに、1人での開発が普通となるとgitが必ずしも必要に思わない気持ちもわかるなぁと思ったのですが、gitは入れるべきと言う意見は圧倒的に多かったです!
kaminalyさん
gitは30ページでも入れたほうがいいですね。
satoさん
私は1ページでもgitは必要だと思ってます。でもやったことない人がgitに入るって結構大変ですよね。
mikiさん
普段から使ってないと良さがわからないですよね。
確かに私も初めてgitを触った時は、pushやpullといった用語を覚えたり、ローカル、リモートなどの概念を理解するのが大変でした。
チームメンバーがyshimizuさんを含めて4人ということで、「1人説得できたら過半数じゃん!」という意見もありましたが、まずは自分がgitの理解を身につけて、その上で周りを納得させるのはかなりエネルギーかかりますよね。
また、一度gitの浸透を試みたyshimizuさん曰く、
何かしらプラスになる感情がないといけないんだろうなと思ってます。めんどくさいとかそれをやってうまくいかなかったという経験を減らすことができれば浸透するのかな、と。あと、導入だけでなく、その先の運用に乗せていくまでしないと浸透させることはできないんだと思いました。
とのことで、確かに導入したことによるメリットを大きく感じることができないと難しいですよね。
次へ続く.....
③ 案件じゃないところから始めてみよう!
リスナーさんから「正直困ってないのでは?」という意見もありましたが、事実、正直困っていないことも技術革新を妨げる要因になっているようです。
複数人でサイト制作を行わないがために、gitを導入してみたものの、チームメンバーが便利さを感じることができないまま廃止になってしまったり、Nodeのバージョンが人ごとに違っていても開発には直接的に影響がないため、革新に至っていないとのこと。
トシヤさん
やっぱり変えるとなると意志って大事ですよね。
サトウさん
確かに、私の会社でもgitを最初に入れたのは、やらなくてはいけない状況だったのでやむおえずって感じでしたね。
確かに、技術革新しないともうどうしようもない、という状況に陥れば嫌でもするしかないですが、絶妙に困ってないという状況が難しいですね。
だからこそ、皆さんが仰っていたのは、案件じゃないところが初めてみる!ということです。
日々忙しく業務をこなす中で、ただでさえ技術革新を行うのは、慣れるまでに時間がかかる、覚えることが増えるなどネガティブな面もあります。
それをいきなり案件で使う前提となると、安全性を考えてより技術革新に消極的になってしまうとのことで、まずは案件じゃないところで、フローや技術に慣れてから案件に取り入れるのがおすすめという意見が多くありました!
特にgitに関しては、フローを覚えることが大事なので、1つのリポジトリをみんなで触って何かしらサイトを作ってみるといった業務に近いハンズオンをしていくことが有効ではないかとのことでした。
またyshimizuさんの開発体制では、yshimizuさん以外のメンバーが皆さんデザインを兼任しているということで、業務以外のところで技術に関する「共有会」をすることで、メンバーの技術に対する意識を高めていくという方法もおすすめしてくださいました!
トシヤさんが、
文化から作っていくべきなのかな
と仰っていましたが、技術革新をする価値や意味を作り上げて、技術革新をしやすい雰囲気を作るという意味で文化から作っていくというのは納得できました。
おわりに
今回はyshimizuさんの「技術革新をどうやって進めていけばいいか」というお悩みに対して、皆さんと一緒に考えてみました!
「技術革新をどう進めていったらいいか」と一口にいっても、様々な課題が重なっていて実行の難しさを感じました!
トシヤさんが
課題に向き合っていることだけでもいいこと
と仰っていましたが、日々技術革新に向けて試行錯誤しているyshimizuさん本当にすごいです...!
そんなyshimizuさんのお力に少しでもなれたら嬉しいです!
皆さんも解決したい課題があればぜひトークイベントにテーマとして立候補お願いいたします!
またdiscordの「みんなの質問」チャンネルにご投稿お待ちしております!
次回のトークイベントもお楽しみに!