開発に自信がない私がつよつよエンジニアと1年間働いてみた話
こんにちは、ゴエモンです。ナビタイムジャパンでバスロケーションシステムの開発やUXリサーチを担当しています。
今回は、開発に自信がなかった私が新しいプロジェクトに所属し、つよつよエンジニアがたくさんいる中で1年間どうやって変化していったのかを、プロジェクトマネージャーであるけんにぃさんと、動態管理システムの開発メンバーのちーさん、おぎいさんと共に対談形式で振り返ってみました。
ちーさんは私と同じで開発に自信がなく、おぎいさんは若手のつよつよエンジニアであると聞いたのをきっかけに、似た者同士で話をしてみよう!と4人での対談に至りました。
1年前から現在の変化
登場人物
ゴエモン
バスロケーションシステムの開発メンバー。
プログラミング経験一切なしの初心者で入社。
けんにぃ
バスロケーションシステム開発のマネージメントを担当。
社内ではプロジェクト外からも設計や開発の相談を受け持つ。
ちーさん
動態管理システムの開発メンバー。
技術の話よりサービスの使い心地について話すのが好き。
おぎい
動態管理システムの開発メンバー。
技術が好きで、新卒研修でプログラミング基礎担当をしたりもする。
プログラミング苦手な人が感じていること
ちーさん:ゴエモンさんの開発に対するモチベーションは?
ゴエモン:やりたくないわけではないですが、積極的に自分で調べて勉強するモチベーションはあまりなかったですね。
けんにぃ:学生時代にPCは触ってなかったですか?
ゴエモン:触ってなかったわけではないですが、開発とかをする感じではなかったですね。コピペもショートカットではなく、マウスでやっていました。
けんにぃ:プログラミングはどの程度理解していますか?
ゴエモン:クラスの概念とか怪しいです。聞けばわかるけど、ちゃんと理解しているかと言われると…インターフェースとか漠然とわかったつもりで使いながら覚えていきました。
けんにぃ:自分も新卒のときはそうでした。言語化できなくてもあるとき理解できるようになったって感じでした。
ゴエモン:わかりやすく噛み砕いてもらうと、なるほど〜となります。
教えてもらいながらでも、自分で何かを作れた経験をしたときは楽しいと思いました。
けんにぃ:僕は人に説明するときに、なんでそうしないといけないのかを理解してもらえるようにしています。専門用語って略語もあると思うのですが、フルネームで教えた方が何のことか分かりやすいから僕は必ずフルネームで教えてます。日本語でいうとどうなるかとかも含めて。
プログラミング得意な人が感じていること
けんにぃ:プログラミングが得意な人は初歩的で誰でもわかってそうな質問をされるの好きだと思います。簡単なことって感覚的にわかっていても説明しようとすると意外と難しいので、説明することで自分の理解も深まるんですよ。前に「リリース」と「デプロイ」の違いについて質問されたことがありますけど、これって意外と答えるのが難しいと思うんですよね。
おぎい:そうですね。わかってると思ってたことも深掘りされる機会になってOJTもやってて楽しかったです。
けんにぃ:プログラミングは流行り廃りがあるので、学んだことが使われなくなったりもします。ベテランでも簡単に若手に負ける環境なので、学び続ける必要があります。新しい技術は案外若手のほうが詳しかったりしますよ。
おぎい:けんにぃさんでも知らないことがあるとわかるとちょっと嬉しいです。バグでハマったときに一緒に考えるのが楽しかったんですよね。けんにぃさんと対等に考えられている気がして。
けんにぃ:多分AWSとかは、おぎいさんのほうが詳しいです。分からないことがあったら教えてください(笑)
どうやって学んだのか
ゴエモン:Google Shell Style Guide のドキュメントを去年読みましたよね。自分じゃ読めませんでした。普段はドキュメントを読んでも入ってこないです。一緒に読んでもらって、これはこういうことだよと説明してもらったので理解できました。
けんにぃ:ドキュメントも英語でしたね。
ゴエモン:けんにぃさんに英語を翻訳してもらいながら読みました(笑)
ちーさん:英語のドキュメントを読むのはしんどくないですか?
けんにぃ:日本語サイトは更新が止まって英語のサイトと差分が出ることもあります。そうすると古い情報を取り入れてしまってプログラムが動かなくなったりすることもあるから、そうならないためにも英語を読めないといけないです。
ゴエモン:多分日本語でも理解できなかったと思います…(汗)
けんにぃ:英語と技術の両方を理解してもらわないといけないのは、同時に二つのことをやらないといけなくて難しいと思ったので、一緒に読んだ方がいいと思ったんですよね。
ちーさん:でも、ベテランの方に時間を割いてもらうのも申し訳ないような…
けんにぃ:僕が全部知ってることだったら、時間を割くことになっちゃうけど、僕も読んだことがないドキュメントだったら僕にもメリットがありますよ。しかも、英語を翻訳しながら人に説明をすることで自分の理解も深まるし、ゴエモンさんも理解が深まるから一石二鳥なんですよね。
ゴエモン:社内でペア読書とかもよくやりますね。一人で読むよりも良いインプットができます。一人で読んで詰まったところでも、他の人と話すことで理解が進んだりします。
けんにぃ:そうですね。
おぎい:モブプロとかと同じ副産物があるんですね。
ゴエモン:最初けんにぃさんに、開発するときは全部モブプロでって言われたときは結構衝撃でした。最初は不安でしたが、今では自然にみんなで集まって作業みたいなことが普通になりましたね。
モブプロのすすめ
おぎい:普段はモブプロメインなんですか?
ゴエモン:そうですね。在宅勤務のときは、基本的に Slack のハドルに入りっぱなしですね。
けんにぃ:一人で本当に仕事したいときは自席にいても良いですが、基本的に一つの場所に集まって仕事した方が効率良いと思います。すぐに声をかけられる。「ちょっと良いですか」というワンクッションが不要になる。なので、なるべくみんながいる空間に留まるのが良いです。
ゴエモン:たしかに、私がターミナルで ssh ログインするときに、いつもパスワードを入れてましたが、それを見ていたけんにぃさんが秘密鍵の設定方法を教えてくれて、ログインが簡単にできるようになりました。一人で作業してたら、そもそもログインが効率的にできることに気づけなかったです。
けんにぃ:自席で作業してたら、そういうことに気づけなかったかもしれないですね。集まっていると誰かがフォローできるので、何かを調べるにしても誰かがいる場所で仕事するのが良いと思います。
ゴエモン:レビューも一緒に見る時間をとってくれています。プルリクでレビューしていた頃はコメントされても意図がよくわからないというのが結構ありました。とりあえず言われたとおりに直すみたいな…
けんにぃ:プルリクよりもモブプロしながら対面レビューするほうがお互い楽だと思います。一人で閉じて考えるよりも内容の理解が深まるので。僕も色々ちゃんと教えたい時にプルリクだとテキスト量が多くなって大変になるので対面のほうが指摘しやすいです。
ゴエモン:開発に自信がないと、事前にちゃんと準備をしておかないとと1人で頑張ってしまいがちですが、積極的に一緒に作業を行う時間を作った方が効率的だしお互いにメリットもあるということですね。
1年間やってみてどう変わったか
1年間開発が得意なけんにぃさんに色々と教えてもらった結果、開発に対する考えが変わりました。
その中でも1番の変化は開発への苦手意識が軽減されて、少し自信を持つことが出来たことです。今では知らない言語に触れたり、設計のことについて少し話せるようにもなりました。
また、自分が感じる分かりづらさや疑問点が、開発における改善ポイントになることもあり、知識は足りなくても意見を伝えることで役に立つことがあると思えるようになりました。
最後に
何かを苦手や不得意だと感じている人は、ぜひ得意な人を誘って一緒にやってみてください。自分だけが恩恵を受けているわけではなく、相手側にもメリットがあるということがこの1年で分かりました。
同じ境遇の方にとって何かの役に立ったら嬉しいです。