ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

Labels:  BigQuery, DevOps, 分析基盤, 開発よもやま 投稿者:godgarden

ランサーズに出戻って1年。担当した開発プロジェクトを振り返る。

ランサーズ Advent Calendar 2018 」23日目の記事です。

こんにちは
ランサーズでEngineering Managerをしてます神庭(godgarden)です

残すところ, 今年も数営業日。1年の振り返りをしている方も多いと思います.

個人的にも, ランサーズに戻ってきて1年とちょっとが経ちました.

友人の皆さんには生存報告と, はじめましての方には, ランサーズのエンジニアこんなことをやってるんだなという, いちエンジニアの事例として開発の雰囲気を知っていただければと思います.

10年目を迎えた 「Lancers」 の完全HTTPS化

復帰作 1品目は, lancers.jp の完全HTTPS化

テクニカルな要素こそあまりありませんでしたが, 10年運営される複雑化した仕様や, ユーザやSEOをはじめとした社内外のステークホルダーにも影響を出さず移行する役目でした.

体制

  • エンジニア: 1名
  • 期間: 1ヶ月前後

もし, まだ移行が完了していない方がいれば少しでも参考になれば嬉しいです.

分析基盤 / モニダリング環境の構築

ランサーズのKPIシステムの変移だけで, ひとつ記事が書けそうですが, それはまた別の機会にでも.

分析基盤のシステムアーキテクチャの設計から, モニタリング環境の土台を作ったりしてました.

体制

  • 人員: エンジニア1名, PM(プロダクトマネージャー)1名
  • 期間: いくつかのフェーズに区切って, 2ヶ月ほど

Before

  • 依頼が集中しエンジニアは開発に, 企画者は企画に集中できなくなる
  • クエリが人によって異なり結果の差異がでる
  • データベース以外のデータが活用されていない
  • お手製KPI管理システムはメンテナンスが滞っている
  • 同じようなデータ調査を複数の人間がしている
  • データ依頼部屋がカオス…(´;ω;`)

After

  • Redash導入
  • KPIや定常依頼系のクエリをダッシュボード化
  • 分析用のViewの作成(ex. 流通, 報酬, 取引のペア etc…)
  • アクセスログやアプリケーションログの構造化
  • ログ収集やETLのシステム一新
  • Athena導入
  • BigQuery導入
  • Digdag, embulk. fluentd, etc のETL環境

効能

以前に比べ, データ出し依頼業務も少なくなり「とりあえずRedashを見ればデータがある」がといったデータの民主化した状態は作ることが出来ました.

先日Redashのクエリを見ると, 一時的なモノも含めると 1,000を超えるクエリが登録され活用されていました.

学び

組織として, もっと早くデータに関する仕組みを整えることが出来ていたら…という点は悔やまれます.(スタートアップ期から, お手製のKPIダッシュボードは存在していましたが組織の成長に合わせて, データ環境も育てていくべきでした)

また, 同じようなプロジェクトを考えているエンジニアの方にアドバイスをしておくと,

エンジニアだけでやると結構な確率で死にます!

途中から, PMとタッグを組めたのは大きかったです(ありがとう Uさん!)

データ基盤は自社のステージ, チームとアーキテクチャを意識して設計し育てていくことが大切です.

運用に携わるエンジニアは, ただの運用者にならずデータ基盤を育てていきましょう(コストセンターからプロフィットセンターへ)

参考

ランサーズを支える会計システム基盤

全社横断のタスクフォースプロジェクトに助っ人参加。

詳細は, 22, 24日担当の @sayakob@autumnlike の記事をご覧ください!

エンジニア組織

エンジニアの最高な福利厚生は, 好きなプロダクトを 優秀なエンジニアと働けて自己成長できることだと自分は思っています.

ランサーズには, 最高な仲間が多くいますが, 真面目な気質もあってか社内に留まっている外部に伝えきれていない魅力も多くあったり, 自分の凄さに気づけていないエンジニアも一定いたりしました.

社外のエンジニアと接点を増やすことで今の自分達の立ち位置を知って, 何かキッカケを少しでも作りたいと考え,試行錯誤してました.

  • 採用面談 / 面接にとにかく出る
  • スカウト
  • 登壇イベントの企画,運営
  • エンジニアブログ推進大臣
  • ランサーズ開発ランチ(Lunchers)の企画,運営
  • 採用要件の定義(ジョブディスクリプションから, 求人作成, ライター業など)
  • 社内のエンジニアロールの策定とジョブディスクリプション, ミッション定義(リードエンジニア制, EM)

学びの機会。ランサーズ開発ランチ(Lunchers)

月に1, 2回ほど社内開発部メンバーと(エンジニア、デザイナー、PM)社外からゲストをお招きして、お弁当を食べながらカジュアルに交流をする開発ランチを企画/運営していました.

きっかけで, 興味を持ってくれた入社してくれた仲間や, 社内の開発に取り入れたりと.
登壇していただいたご友人や, ブログを書いてくれたり参加してくれた社内外のメンバーにも感謝です.

エンジニア採用

当時, 社内の事情や, 過去の経緯も重なりエンジニア採用に関してダイレクト・リクルーティングに完全振り切っていました.

正直, もっとうまい手があったと振り返ると感じるところ多くありますが, やってみて分かる多くの学びもありました.(書ききれないのでランチでも!)

お世話になった方のTwitterからの引用 になりますが, 以下に尽きると思います. 自分が決断した時もそうでした.

いい人を採用したいならやることは1つ。
声をかけ続ける。
これに尽きる。
心変わりのタイミングなんていつ来るかわからない。本人すら予測できない事も多い。
「一緒に働きたい」と心折れずにどれだけ伝え続けられるか。
その人が魅力か?ビジネスは成長するのか?仲間は?は、もっと後の話。

幸いにも, 活動の過程での出会いもあり, フリーランスCMOに許 直人氏が就任 や年明けからも優秀な仲間のJOINが決まって, 諦めかけた頃に結果はポツポツとついてくるので, 諦めないことが秘訣だなと感じました.


昨日より明日をもっとよくするをモットーに頑張りましょう.

とある新規事業の価値検証

とある新規プロダクトの価値検証を社内外のメンバーを含めた混合チームの開発リードをしてました.

詳細は, 現時点ではあまり多くは語れませんが, 落ち着いたタイミングでブログを書こうと思います.

技術スタックだけ書くと, 適材適所にに技術選定し新しいことにも取り組んでいます.

  • サーバーサイド: Go
  • フロントエンド: React
  • インフラ: AWS Fargate
  • ツール: Prott, Zeplin

ランサーズといえば, PHPのイメージが強いですが, 色々な技術スタックを実は扱ってます.

最後に

駆け足になりましたが, 思い出深いプロジェクトに沿ってランサーズのエンジニア生活の1年を振り返りました.

変えきれなかったり力不足を感じることも多くありますが, 間違いなく変化をつけられたこともあるので, 引き継ぎやっていき精神で頑張ります.

最後に, 2019年から新しい仲間も加わり, 色んなプロジェクトも動き出すので, すこしでも興味を持ってくれた方や, 関係なくもっと裏話聞きたいというお優しい方がいれば気軽に 「話を聞きに行きたいボタン」 やTwitter などで反応ください. ランチでも参りましょう

それでは良いお年を. あでゅ

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。


【中途採用】
サービスリードエンジニア
テックリード(アーキテクト)
フロントエンドエンジニア
サーバーサイドエンジニア
業務エンジニア(社内システム基盤・基幹システム)

【インターン・学生バイト】
19新卒対象サマーインターン
エンジニアインターン

その他採用情報

関連記事

githubのissue, pull request 検索をハックする!

こんにちは、エンジニアの上野です。 ランサーズストア の開発責任者として日々奮闘中です。 今日は、エンジニアみんな大好きgithubの検索クエリをハックする!!と題して、検索クエリの解説をしようと思います。githubではissueやpull requestを …

デスクチェアとしてのバランスボールのすすめ

エンジニアのota(@purratto)です。 すっかり市民権を得たと思っている(私だけ?)デスクチェアとしてのバランスボールですが、弊社では現在バランスボールの上でコードを書いているのは私一人というマイノリティなので、椅子としてのバランスボールの良さについて …

ランサーズ開発合宿2017@湯河原温泉おんやど恵

こんにちは。ランサーズの @sayaです。 先月末、湯河原温泉で第3回開発合宿をしてきたので、その模様をレポートします。 今回は幸運にも「湯かけまつり」という楽しいお祭りの開催と重なり、大いに盛り上がる合宿となりました。 テーマ 今回のテーマは「開発を最大化す …