はてなで働くエンジニアにアンケートシリーズ第18回は、マンガメディア開発チームのWebアプリケーションエンジニア、id:nakaoka3に話を聞きました。
京都で働くのもよさそうだと思って
── Q. はてなidとその由来を教えてください
本名から付けました。GitHubやTwitterで使っているユーザーネームは入社時点で既に取得されていたため、それに近いものを選んでいます。
── Q. いつどんなきっかけで入社されましたか?
入社する前は神奈川に住んでいて、Androidアプリのエンジニアとして働いていました。転職を考えている時にはてなのコーポレートサイトを見たところ、Androidアプリのエンジニアを募集していたので応募しました。
表参道にある東京オフィスなら交通の便は悪くないかなと考えていたんですが、京都で働くのもよさそうだと思い、京都オフィス所属での入社に至りました。
その時々で一番良いフォーメーションを取る
── Q. 現在の仕事を教えてください
マンガメディア開発チームのWebアプリケーションエンジニアとして、マンガビューワ「GigaViewer」が採用されているマンガサイトやマンガアプリ用APIの開発をしています。
入社してからしばらくはAndroidアプリ・iOSアプリの開発をしていたのですが、サーバーサイドの開発もやりたかったので、希望を出してサーバーサイド側に異動しました。
── Q. チーム内での立ち位置を教えてください
役割を分けたり立ち位置を固定することはしたくなくて、よくも悪くもこだわりはありません。何でもやろうと思っています。その時々のチームの中で一番良いフォーメーションが取れればいいのではと考えています。絶対にリーダーシップを取らないといやだというわけでもありませんし、いろいろな役割をやっている方が楽しく感じます。
チーム内には、サッカーで例えれば「若くて優秀な点取り役」が多いと思うので、自分としてはスマートフォンアプリとサーバーサイドそれぞれの開発に携わったことを活かし、両方のバランスを取って円滑にコミュニケーションをとって開発できるように、ということを意識しています。
── Q. 1日の仕事の流れを教えてください
最初にSlackを見て、その後はコードを書いたりレビューをしたり。必要があればSlackのハドルミーティングで会話をします。
開発合宿で作った推薦システムを実際のサービスに実装
── Q. これまでの仕事の中で、うまくいったことについて教えてください
サーバーサイドの開発チームで「webアクション」の立ち上げの開発に携わることができました。新しく始まるサイトの立ち上げに関われるのは楽しかったです。
また、id:kouki_danのアンケートシリーズ記事でも書かれているのですが、開発合宿で、マンガアプリのユーザーの閲覧データからユーザーが好みそうな作品を提示する推薦システムを作りました。
自分の読書傾向と似ているユーザーの読書傾向のデータから作品を推薦する協調フィルタリングです。Google CloudのBigQuery MLを使って推薦モデルを作り、それをAPIサーバーの動いているAWSから使う実装もできました。
これは、「コミックDAYS」のアプリ内で使われていて、実際のサービスに用いることができたのも良かったです。導入前は、手動でおすすめ作品を出す仕組みだったのですが、自動化したいという動きがありました。一般的に自動化した方がスケールしますし、コンテンツ系サービスでもよく取り入れられています。
機能リリース後の指標を見たところ、読まれる作品が増加していました。また、社内でも合宿の成果がプロダクトに導入された点などについて評判が良く、取り組んで良かったと思う開発でした。
── Q. うまくいっていないと感じることはありますか?
サービスが成長中のため、やりたいことがたくさんあるんですが、それになかなか追いつけないという点でしょうか。プロジェクトの進め方もチーム内で試行錯誤していますし、もっと手を動かす時間も欲しい。課題と感じるポイントは多くあります。
チームとしては、フロントエンドのReact化、コンテナ化を進めたいと考えています。モダンなフレームワークに乗れれば、開発の効率も上がり、できることも増えます。ユーザー体験の向上にもつながります。やることに優先順位を付けて精査したり、そのための調査に取り組んだりしています。
人を増やすと解決されることも多くあるので、チームとして採用活動にも時間を充てるようにしています。
オープンに文章を書くことが会社のカルチャーとなっている
── Q. 普段大切にしていることは何ですか?
いわゆる「座右の銘」のようなものは特にないのですが、現在担当しているプロジェクトに直接関連することに限らず、「新しいことへの挑戦」を自分の中で大事にしています。
新しいことを勉強するのが好きなので、他のプログラミング言語を学んだり、フロントエンドのコードを書いてみたりしますし、データ分析に関する機械学習の情報について「仕事で使えることがないか」「何か面白いことはないか」と調べてみたり、それを基に勉強したりしています。
冒頭で触れた、アプリの開発からサーバーサイドの開発への異動についても同じことが言えます。はてなはWebの会社として認知されていますし、せっかくだから新しい方向に飛び込んでみる方が良いと感じていました。それは自分にとって「挑戦」だと思っています。
はてなという環境に身を置いたことも「挑戦」の結果でした。はてなには多くのエンジニアがいて、Slackで技術に関する会話をしたり、社内の勉強会での発表で「面白いことをやった」と話しているのを見たりすると、非常に楽しそうですし、話している内容も興味深く、自分自身も楽しいと感じます。
nakaoka3のブログ「続・Kindle 読み上げ機能を使う – no context programmer」より
── Q. はてなはどんな会社ですか?
挑戦することに寛容な会社だと思います。チームの異動や開発合宿など、自主的に挑戦しようと思えば支援してもらえる会社だと思います。
また、オープンな会社だと思っています。オープンに文章を書いたり議論したりできるところが特徴的だと感じます。Slackでもオープンチャンネルの利用が推奨されていますし、議事録などのドキュメントも社内で誰でも見られるScrapboxなどに書かれていて、興味を持ったら読めることが多いです。
書くことが会社のカルチャーとなっていて、スタッフが考えていることを文章にしたものが社内で共有される機会が多いのも特徴の一つです。リーダーやマネージャーなど特定のレイヤーの人だけが書くのではなく、本当に誰でもフラットに文章を書いて発信します。今となっては普通に思えるようになりましたが、他の会社と比べたらかなり特徴的なところなのかなと思います。
はてなのWebアプリケーションエンジニアには、自分の担当サービスに積極的に関わっていく姿勢が求められます。技術の進歩のスピードが速いこの業界では、品質の高いコードを書くだけでなく、新しい技術へのキャッチアップも必須。技術はエンジニアの共通言語であり、他職種と連携するための道具です。技術に対する向上心を持つ仲間を募集しています。ご連絡をお待ちしております!
▼ Webアプリケーションエンジニア職 転職・中途 – 採用情報
▼ Webアプリケーションエンジニア職 新卒採用 – 採用情報