見出し画像

【クレド深掘り対談 #2】「やっぱり俺たちエンジニアだからね」ユアマイスターのエンジニアが技術を使って価値を生み出し続けるために原点に立ち返り生まれたクレドとは

こんにちは!ユアマイスター広報インターンの村上です。

こちらはユアマイスターの「エンジニアチームクレド深掘り対談」第2回目の記事です!

「エンジニアチームクレド深掘り対談」では、毎回エンジニアチームのメンバーを1人お呼びし、プロダクト部長、星さんと私村上の3人で全4回に渡って各回ごとにテーマとなるクレドについての対談を行っていきます。

エンジニアチームクレドとは何か?

画像1

対談の前に、ユアマイスターのエンジニアチームクレドとは何かをご紹介していきたいと思います。

エンジニアチームクレドを簡単に説明すると、「ユアマイスターエンジニアが大切にしている価値観」のことです。(クレド[Credo]とは、チームメンバーが心がける心情や行動指針のことを指します。)

ユアマイスターのエンジニアチームクレドは以下の4つ。

・LISTEN--顧客と仲間からの 聞く耳を持つ
・FOCUS--目的から 目を逸らさない
・CHANGE--変化を適応し 変化を作り出す
・HACK--構造化+最適化 +効率化

これらのクレドは、2020年4月に行われたオンライン開発合宿で設定されました。

オンライン合宿の詳しい内容については、こちらをご覧ください

今回のクレド「HACK」

第1回目に注目したクレドは「LISTEN」。

そして今回注目するクレドは「HACK」

「HACK」は、エンジニアチームクレドの中でも最も”エンジニアらしい”クレド。技術を活用して価値を提供していくための指針と言えます。

詳しい説明はこちら↓

> man hack

NAME
    hack - 構造化 + 最適化 + 効率化

SYNOPSIS
    hack [-m|--mind] [-s|--skill]

DESCRIPTION
    問題点を捉え、何がボトルネックなのかを考え続けることがエンジニアの仕事だと考え
    ています。コンピューターのリソースを有効活用することが、エンジニアならではの最
    適化を突き詰めると効率化された仕組みに近づきます。

OPTIONS
    -m, --mind
        「楽をしたいから」「誰かを喜ばせたいから」「コードが動くのが楽しくて」人に
        よって技術への向き合い方は様々です。共通点は技術は手段として考えること。好
        奇心を武器に、新しいテクノロジーと価値を追求します。

    -s, --skill
        変化にキャッチアップしていくために、技術スキルを磨くことに余念がありませ
        ん。インプットして満足ではありません。アウトプットを前提とした学習を継続
        的に行います。

今回の対談ではこちらのクレド「HACK」について深掘りしていきます!

今回クレドを共に語るのは、エンジニアチームのみが所有するエンジニアチームクレドTシャツをかっこよく着こなすプロダクト部長、星さんとエンジニアチームリーダーの増井さん

お二人は、エンジニアクレド「HACK」についてどんな思いを抱いているのでしょうか。

「エンジニアである」という原点に立ち生まれたクレド

画像2

--今回は、エンジニアチームクレド「HACK」について星さんと増井さんにお話を聞きたいと思います。よろしくお願いします!

星さん、増井さん(以下敬称略):よろしくお願いします!

– まずは「HACK」が誕生した経緯を教えてください!

星:合宿でクレドを何にするか話し合った時、ユアマイスターぽいクレドはいっぱい出てきたけど「やっぱり俺たちエンジニアだからね」という話をまとめたことで最終的に「HACK」が出てきました。

増井:そうですね、最初に合宿した時個々人のレベルからいろいろ話し合いをしていてエンジニアリング要素的なものの共通点が出てきました。それが最終的に「HACK」という言葉に昇華されたと思います。

業務効率などいろいろなものを仕組み化できるのはエンジニアの醍醐味だと思います。そういう意味で構造化だったり、最適化、業務効率化などは「HACK」の要素に組み込まれました。

また、エンジニアチームクレドの「man hack」の中でいうと、仕組み化するにしても能力は常に磨き続けていかないとより良い仕組み化はできないという観点から「変化にキャッチアップしていく」みたいな要素がさらに追加されました。

単に技術を使って何かをするだけではなく常に新しいやり方を模索することも大事。「このやり方の方がより簡単に構造化できる」みたいな手段を常にアップデートするために学ぶことも重要だと思います。

技術を使うこと自体は目的ではない

星:プログラマーの3大美徳というのがよく言われるのですが…

プログラマーには、次の美徳が絶対に必要です。この美徳の一つでも欠く人は、プログラマーとなってはいけません。また、これらの美徳を欠いているにも関わらずプログラマーという職業に就いてしまった人は、今すぐ転職を考えましょう。それくらい重要な美徳です。

1.怠慢(Laziness)2.短気(Impatience)3.傲慢(Hubris)

「3回ぐらい同じことやるんだったらスクリプト書けばよくないか?何手でやってるの?」みたいなことを感じて、そこでカッとなってスクリプト書く。みたいなのが「短気」。

「傲慢」というのはいい意味でも悪い意味も含まれているけど、自分の書いたコードに結構思い入れがある感じです。

そのようなマインドは形を変えて合宿でいろんなワードの中に出てきました。

OPTIONS
    -m, --mind
        「楽をしたいから」「誰かを喜ばせたいから」「コードが動くのが楽しくて」人に
        よって技術への向き合い方は様々です。共通点は技術は手段として考えること。好
        奇心を武器に、新しいテクノロジーと価値を追求します。

「man hack」のOPTIONSにも書きましたが、技術を使う目的というのは人によって違うというのが話した結果。

でも共通点はあります。それは、技術を極めたいから技術を使うというより、技術を使って誰かを喜ばしたいだとか、価値を産みたいから技術を使っているというマインドでいようねという認識です。

もともと採用面でもサービス志向をキーにしてきたところもあるので、事業会社というのも加味して使ってくれるお客さんが喜んでくれるために作っていく。そのために一番最適な技術を選んだりアップデートしていこうというのを大事にしてきた結果ではあるかなと思います。

技術を使うこと自体が目的ではないので、今後もそう言った人と働きたいよねという思いを持ってHACKというクレドを作りました。

プログラマーの美徳を持ち合わせる2人の「HACK」

画像3

--「 HACK」を意識して仕事をした場面とか何か具体的にあれば教えていただきたいなと思います

増井:例えば僕だと結構カッとなってやるのは社内向けツールの改修なのですが画面を使いやすくするために細かいUIの改善などを「えいやっ」と思って気づいた時ベースで手を入れています。

星:カッとなったハック!

僕が思い出に残っているのはパートナーサイト(ユアマイスターに出店しているプロが予約管理のために使うサイト)のちょっとした改修です。

営業社員がパートナーさんから聞いた「サイトのここが使いにくい」というポイントを聞いてすぐに直せそうなものだったので15分くらいでリリースして、その場で喜ばれたことがありました。

エンジニアは解決策はいっぱい知っているけど、課題を見つけにいく時間はなかなかないことが多いです。なので、パートナーさんに近い人から課題を聞いて一瞬で解決できたのは良い経験でした。

増井:即席系で言うと僕もあります。

去年全国に700件ほどある施設の電話番号を1人30件くらいスプレッドシートにまとめてくださいという依頼が社員全体のslackに流れてきて、「これはスクレイピングだろう」って思って自動的に電話番号収集したら一瞬で電話番号が集まりました。

「HACK」し続けていくための学び

-- 先ほどこのクレドにはただ単に技術を使って何かをするだけではなく「学ぶ」ことも含まれるとおっしゃっていたと思うのですが、「HACK」し続けるために普段からやっていらっしゃることはありますか?

増井:チームの勉強の機会としては社内勉強会があります。

直近は輪読会をいくつか開催しました。「テスト駆動開発」とか「クリーンアーキテクチャ」などが題材です。また、外部のエンジニアをお呼びして体験談ベースでお話いただく「学びの窓」などの勉強会もあります。

【学びの窓についてはこちらをご覧ください↓】

それ以外のことで言うと、個々人で外部のイベントに参加したり…技術系のカンファレンスなども全部今動画ベースなので最新の事情などにアンテナ張りながらやっています。

アウトプットでいうとブログなども書いていて、去年は6,70件書いたと思います。一時期1週間に3記事書いていた時もありました。

-- 星さんは普段やっていらっしゃることなどありますか?

今はどちらかというとマネジメントの勉強をしているのでHACKとか違うかもしれませんが…

エンジニアのマネジメントを学びたいと思って本を読んだり、それをポッドキャストで配信することで定着を図っています。外に良い情報があると思うので、新しい技術書を読んだり外部のエンジニアと話して新しい刺激を手に入れられるようにもしています。

エンジニアはただのプログラマーじゃない

-- 今後「HACK」を使って「こういうことやっていきたい」というものはありますか

増井:今まで作ってきたシステムがツギハギで作ってきたものなので、折を見てがっつり裏側からちゃんと作り変えることをやっていきたいと思います。もちろん最重要のプロダクト開発とも絡めてやれる前提でですけど。

既存機能をコンポーネント単位で疎な状態を今のうちから作っておくとテストコードを書きやすくなりますし、将来「アーキテクチャを変えよう!」となった時に変えやすくなるので、普段から少しずつ疎な作りに変更し始めています。

システム規模が大きくなっても、ユーザーさんやパートナーさんに喜んでもらえるものをいち早く届けられるようにすることで、さらにユアマイスターのValueにあるようなハッピートライアングルを実現して、ユアマイスターも幸せになれるような状態を作りたいです。

– 星さんはどうですか?

星:「HACK」が好きなのはエンジニアが主体となってエンジニアから始められるからだと思います。

「HACK」以外のクレドはマインド面が重要視されているものですが、「HACK」は手を動かしている感じが強いです。エンジニアが主体となっていけると言うのは魅力的だし職種にとって大事なことだと思っています。

本筋の開発の分類の1つに「Hack or Learn」があるというのは「やっぱり俺たちエンジニアだからね」というように、みんなのワクワクを自分たちの提案で作り出せる起源になれば良いなという思いを込めています。

【開発タスクの振り分け】
▶︎プロダクト開発
->ロードマップに従い開発する。定期的に優先順位の見直しを行う。
▶︎プロフィット開発
->各部署からの依頼型の開発。
▶︎Hack or Learn
->業務改善を行い、障害対応やバグ修正、問い合わせ対応にかかる工数を減らす。

エンジニアはただのプログラマーじゃなくて、技術に対して一番真摯に向き合っていないといけないし、技術に対して一番詳しくなければならないと思っていて。そうじゃなければエンジニアとして価値はありません。

プログラミングが得意な人は世の中にごまんといるんだけど、それをうまく活用したい、誰かの課題を解決したいという思いを持って誰かのためになるまでできている人って結構一握りだと思います。

エンジニアは抽象的なものを具体的に落とし込むことが得意で、抽象的なものがどういう構造なのかを見た時に「ここが問題なんだ」「こういう繋がりがあるんだ」「3つに分岐しているんだ」というようにレントゲン写真のように見えるわけです。

その中で一番最適な方法を、知識と経験のある人は手持ちのカードが30枚くらいあってどれにしようかなと選べるけど、そうじゃない人は1枚2枚しかない、もしくは妥当な解決策がないという状態になります。

まず手札を増やしていくのが最適化になっていくと思うし、実装までできて効果を出していくというのが効率化になると思います。

これができるエンジニアかっこいいな、なりたいなというそもそものスタートラインが必要だと思いますけど、「ちゃんと使いこなしている」という状態に繋がるように「HACK or Learn」の開発をしてみたり、実際手を動かして開発を進めていきながらチームのため、お客さんのためになることを実現してほしいです。

今後も「HACK」を押し出してユアマイスターエンジニアのプレゼンスを高めていきたいなと思っています。

--星さん、増井さん、ありがとうございました!

おわりに

「HACK」というと暗い部屋でキーボードをカタカタする悪いハッカーのようなイメージがありますが、もともとの語源はマサチューセッツ工科大学で用いられていた俗語で「一流のアートやエンジニアリングの一種」を指すもののようです。

その言葉の通り、ユアマイスターのエンジニアクレドの1つであるHACKは、エンジニアであり続ける限り大事にしておきたい考え方がたくさん詰まったクレドでした。

次回はクレド「FOCUS」についての深掘り対談をお届けします🌟


この記事が気に入ったらサポートをしてみませんか?