EmotionTechテックブログ

株式会社Emotion Techのプロダクト開発部のメンバーが、日々の取り組みや技術的なことを発信していくブログです。

テックリードになって一年経って

はじめに

こんにちは、テックリードのかどたみです。 Advent Calendar最終日ということで全力でポエムを書きます! 現在テックリードを名乗っていはいるものの拝命して1年しか経っていない上に社会人経験期間はチームメンバーで最短タイです。 こんな私がなんでテックリードになったのか、日々何を考えてどんなことをやっているのか、振り返られるように残しておきたいと思います。

テックリードになるまで

採用時に「テックリード候補」という形で入社はしていましたが、現在、正社員の仲間は増えたものの入社した時点では正社員のアプリケーションエンジニアは私一人でした。

1エンジニアとして業務委託メンバーと同じようにタスクをこなしていましたが、開発部部長もエンジニア経験の無い方が担っていたり、他の部署と兼任したりしていたのでテックリードではなく部長になりたくないかと打診を受けることもありました。ただ、採用時の話では技術的な課題解決や設計改善に注力してほしいということでしたし、自分としてもそのような仕事をするために内定を承諾していたので、当時の状況で部長となってコスト管理や勤怠管理などを行いたくはありませんでした※。

そして何より、部長になったとして将来部下ができたときに彼らのキャリアパスに責任を持てるほどの経験を積めていないことは明白であったため部長のお誘いは断っていました。

しばらくはテックリード候補として開発タスクをこなしつつ、組織の課題の洗い出しや社長への報告などを行っていましたが、私の他に正社員が一人増え、バックエンドの設計改善がある程度形に出来た段階で当時の部長と外部のアドバイザーであった現在の部長に課題に対する仕事への取り組み方やテックリードをやる上での最低限のテクニカル・ヒューマンスキルがあることを認められ、正式にテックリードになりました。

※部長の管理業務にネガティブな感情があるわけではありません。いずれやりたいとは思っていますが、人生設計の中で当時の状況でやるのは違うという判断をしたということです。

どんなことをやってきたのか

テックリードという名前の職種はいろんな企業に存在するとは思いますが、企業毎に任されている仕事が異なると思います。技術に特化して導入検証や、機能開発をリードしていたり、チームリーダーとして他のチームとの橋渡しとなっていたり、また、その両方だったり多岐に渡るでしょう。

私もほぼこれといった特定の仕事を任されるということはなく、開発以外にも、社内の業務効率化を考えたり、教育をしたり、採用をしたりしています。 どんなことを考えて、どのようなことを主にやっているのか、大まかなことを書いてみます

技術面

レガシー改善

5年間継ぎ足された秘伝のタレを解明するためにバックエンド・フロントエンド両方の改善を行っていました。そもそもテストコードが存在しなかったり、設計というものが存在しなかったりして心理的安全性が確保されていない状態でしたが、責務を切り、テストコードをしっかり書くことを取り決めてメンバーに徹底してもらい徐々に良いものにしていっています。 あとは性能改善をしてサーバー負荷を減らしたり、SQLのチューニングをしたりといった泥臭い仕事が多いです。

また、Dockerイメージの最適化やバージョンアップ、CIの改善にも取り組んで安定稼働に寄与したりもしています。

技術導入検証

マイクロサービスの導入における採用言語やアーキテクチャ、データレイクの性能などを検証しています。 新しい物を導入して現状の課題は解決出来ても他に懸念点は無いのか、制約によって仕様の変更が伴う場合にユーザーの体験を損なうことは無いのかは十分に検討しています。 しかし、作ってみないとわからないことも多いので、作りながら確認したりそれと現状を比較しながら問題が無いか検証しています。

チーム面

評価方法の変更打診

今となっては結構考えられないのですが、私の入社前はチケットの消化数や各課題の改修スピードによってエンジニアが評価される状況でした。評価者にエンジニア出身者がいなかったというのはありますが、これでは、本質的な改善をやるほど自分の評価が下がることや、新たな仲間を増やしても不満に繋がりかねないことがわかったので、当時の上長と社長に直談判して評価方法を変えてもらうようにしました。

現在では評価制度自体が全社的に変更されましたし、エンジニアの評価をエンジニア出身の部長が行ってくれるのでとても働きやすくなりました。このときの新評価制度の策定に関わらせてもらったことも良い経験だったと思います。

採用業務

正社員比率をあげるべく採用業務を頑張っています。 部長にもよく言われるのですが、一緒に働くとなったときに技術領域に関わらず自分の学びになる人を採用基準としています。これは応募者のレベルに関わらず大切な視点だと思っています。

現時点で自分より技術力が低かったとしても貪欲に学ぶ姿勢などが見られれば私の刺激になりますし、逆に技術力が高くても黙々と一人の世界を築き上げる人では学びが少ないように思います。 ありがたいことに仲間が増えてきていますが、新しい仲間からも学びが多く、この視点をもって採用することで自分の成長にも役立っているなと思います。

他部署との協調

エンジニアへの理解促進

入社当時は開発部とビジネスサイドの間に壁を感じていて、我々の対応で誤解を生んでしまっている部分もあると思い、入社してすぐ勉強会を開催してみたり、社長とラジオをやってみたりしています。 これも反響はあり、いくらか良い影響は出ている気がしますが、コロナが落ち着いて出社できるようになるとやっぱり一緒に雑談したり食事に行くのが一番の解決方法であることがよくわかりました。 こちらの発信ばかりだとエゴの押し付けになりますし、やはりリアルタイムの相互コミュニケーションは大事。

意見の吸い上げ

もともと各部署からの要望や不具合改修の依頼はかなりの数を頂いていましたが、チケットをエンジニア以外が起票する性質上チケットの内容が課題の解決につながっていないものが多くなりがちでした。その状態でその内容を愚直にこなしても良いサービスになるはずはありませんし、更に複雑さが増し、使いにくいサービスになる危険性もあります。なので極力着手に入る前に調査をしたり、根本的にお客様が何をしたがっているのか聞くことに努めていました。一人だったときはこれだけで1日が終わってしまうことも有ったのですが、最近はこのような取り組みに自発的に参加してくれるメンバーが増えていてとても助かっています。

書ききれなくなってきたのでこれくらいで終わりますが、書いてみるとテックリードといいつつも技術以外のことをたくさんやっていますね(笑)。これが良いと感じるかは人によると思いますが、私は技術的成長が出来ていると実感できている間は問題ないと思っています。

テックリードをやってみてどうか

当たり前ですが、肩書は人間の中身を変えてくれません。テックリードになったからと言って技術力がついたわけでも、知識が増えたわけでも、ましてや偉くなったわけではありません。 逆にテックリードになったという事実によってテックリードとして持つべきリーダーシップや技術力が足りていないことを痛感させられる出来事があり、不安に苛まれることも多々あります。

例えば、弊社の技術スタックがほぼ未経験だったということもありますが、経験者にもっと良い案を出されたり、ダメ出しをされたり、良かれと思った設計が今見ると良くなかったり、MTGの内容がスカスカな日があったりしています。

ただ、いろんなことを任されて失敗する経験が出来ていることはテックリードになってよかったことだと思います。 以前は他人の考えたアーキテクチャに則って上モノをつくるだけで、良し悪しがわからなかったり、再現性がなかったり、MTGもただ出席してるだけだったりしましたが、現状は自分で考えて失敗して、仮説を立てて改善するというサイクルが回せていることは自信を持って言えます。

「エンジニアとして当たり前だろ!?」と思う人が多いと思いますが、環境だったり、知識不足でその当たり前が出来ていない状況の方もいると思います。少なくとも以前の私はそうでした。 ただ、今のチームではテックリードでなくてもこの当たり前が当たり前にできるチームにしたいので、環境を整えたり成長機会を提供することへは全力を注ぎたいと思っています。

あとは、いろいろなことを決定するという行為を通じて自分の性格を知る機会も増えました。 私は自分が思っていることに対して否定的な意見を持つ人をできる限り説得したり、交渉したりしがちだったり、技術に対しても完璧主義で悩みすぎることに気がつけました。

「リーダーなんだから決めちゃえばいいんだよ」とか「技術なんて進化するし、1つ悩みが解決してもまた悩むんだから動かしてみてから改善していくマインドを持ったほうがいいよ」とかよく言われます。 自分のせいで他の人に嫌な思いさせたくないじゃん!と思いつつも組織の成長機会を損失させてしまうことに繋がるのでいい塩梅を見つけていきたいですね。

今後どのようになっていく予定か

どのようになっていくんでしょうか?(笑)

まだまだ課題は山積みなので、なにも考えていないと課題に追われてすごい勢いで時が流れてしまいそうですが、やはり、チーム全体が「自分で考えて失敗して、仮説を立てて改善するというサイクルが回せている」状態を保っていくことに全力で取り組んでいきたいとは思っています。そのための手段として自分の技術力を上げて、メンバーが自分の仕事に専念できるような環境の整備や、チームの生産性の最大化に寄与していきたいですね。

あとは、すごい特定技術の点にフォーカスすると、せっかく日本でRustのバックエンド開発が枯れる前にRustを使っていく決断をした上に、書いていてとてもRustが好きになったのでRustのノウハウを発信していければと思います。

おわりに

いかがでしたでしょうか? 来年の私がこれを見てどう思うのか楽しみですが、今の私を見下せるような成長を遂げられるように日々頑張っていきたいと思います。 駄文長文失礼しました。

エンジニアとして当たり前のことを当たり前にできる組織で働きたい方、組織課題を一緒に解決していただける方、イキイキと働きながら世の中の体験を変えていくプロダクトを作りたい方、下記募集ページからご応募お待ちしております。

www.green-japan.com

www.green-japan.com

www.green-japan.com