Twitter Instagram キャンペーンツール「キャンつく」
フォロー&Likeで応募になるキャンペーンです。Instagramでも簡単に応募が可能なので、近時多くのブランドで行われてます。またTwitterでは一定の拡散が見込め、応募者のタイムラインに表示されないので、普段からTwitterを利用しているアクティブなユーザーも参加がしやすいキャンペーンとなっています。 ...
https://camtsuku.com/
ーピクルス社のエンジニアの皆さんは、どのようなお仕事をされているのでしょうか?
クライアントのランディングページ(LP)やブランドサイトなどの受託開発と、自社のサービス「キャンつく」の開発をしています。
▼Twitter Instagram SNSキャンペーンツール「キャンつく」
キャンつくでは主に機能の新規開発やアップデート作業を行っています。クライアントから頂いた様々な要望を定期的に整理し、精査しながら日々新しい機能を追加してサービスのブラッシュアップをしています。
開発期間に関しては大規模な開発から小規模なものまで機能によってさまざまですが、大きいものですとひと月単位で取り掛かることもあります。
ーエンジニアメンバーのそれぞれの役割について教えていただけますか?
今、エンジニアチームは全員で5名いますが、キャンつくの開発に携わっているのが3名、残り2名が受託開発をメインに担当しています。
キャンつくの機能アップデートについては、小さい規模のものですと機能ごとに各自担当をし、大規模のものなりますと3人で分担をしながら一つの機能を開発してます。
ー濱洲さんの具体的なお仕事内容を教えてください。
主にキャンつくの開発をメインでやっているのですが、特にチーム内で役割が明確に決まっているわけではありません。
例えば1つの機能アップデートをするとき、自分が中心となって開発を進める場合は設計から実装まで全て担当します。また複数人で開発する場合は、中心となって設計したメンバーの設計書に従って実装部分のみ行う時もあります。
実はキャンつくのサービス自体の規模が以前に比べて大きくなっているので、全ての機能を完全に把握しきるのがなかなか難しいんです。そのため、アップデート対象の機能を一番理解しているメンバーが中心となって開発を進めるケースが多いですね。
全く新しい機能を開発するときは、「やりたい!」と手を挙げた人が担当することもあります。
ー実際の開発の流れをお伺いできますか?
アップデートを行うにあたり、まず現状の課題を精査するところから始めます。アカウントチームから挙がってきたものやエンジニアチームからの提案など様々な課題の中から、より効果が高いもの、またその効果に見合った工数で実現可能なものを優先度高めにし、アップデート内容を決めていきます。
何をやるかが決まったら次に必要な機能の洗い出しや、UI設計など要件定義をし、詳細設計に入ります。設計パートでは要件の内容に沿って機能を細分化し、設計に落とし込んでいきます。このとき例外エラーなどのパターン分岐についても細かく記載しておくようにしています。
設計ができたら他のメンバーに確認してもらい、この設計で問題ないかや漏れがないかなど意見を貰いながら修正し、実装に移ります。実装が完了したら、設計を元に検証リストを作成します。
リストに沿ったパターンを全て1つ1つ試し、問題がなかったらアカウントチームに確認してもらい、本番公開する流れになります。
ー具体的に携わられている機能についてお伺いできますか?
直近では「ログイン型キャンペーン」という新しいキャンペーン方法の開発をしています。
現在もTwitterでリツイートしたらその場で懸賞の当選結果が分かるインスタントウィンキャンペーンというものがあるのですが、今回のキャンペーンはリツイート後にSNSから離れたブラウザの画面上で抽選ボタンを押して、当選結果が分かるものになります。
基本的にキャンつくはサーバーサイドの開発がメインになるのですが、今回の「ログイン型キャンペーン」でいうと、ユーザーの画面が必要だったので、フロントエンドの部分が自分の担当になっています。
▼ログイン型キャンペーンとは?
他にはInstagramのAPI移行に伴う改修を担当しました。
少し前になりますが、Instagramのハッシュタグ検索のAPIが廃止になり、GraphAPIという新しいAPIに移行しなければなりませんでした。
GraphAPIでは旧APIと比べ取得できる情報がいくつか制限されていたり、APIの認証フローも異なっていたため、大規模な改修が必要になりました。
このときはサーバーサイドからフロントエンドまでほぼ一人で開発させていただきました。
ーピクルス社では仕事の効率化についても力を入れていらっしゃると伺っています。エンジニアの方の場合、意識されている点はありますか?
▼生産性向上に関するインタビューはこちら
最近始めたものになりますが、毎日終業時刻の少し前にリーダーがメンバーの進捗を確認しています。スケジュールの進み具合や今日1日で進めたソースコードを簡単に確認してもらったりしています。
「漏れがないか」や「組み方に問題がないか」など1日単位で確認できるので、納期に対しての進捗のズレが早いタイミングで気づくことができ、大幅にスケジュールを調整しなおすことが少なくなりました。
今まではスケジュール的には問題なく進んでても「実は、漏れがあった」ということが納期間近になって気づくこともあったんですが、自分とリーダーの双方で日々確認をするので、早い段階でミスに気づくことができ、自分自身も効果が出ていると感じています。
そのため緊急な対応が入った場合も、スケジュールの変更や他のメンバーへのサポートなど柔軟な対応が可能になっています。
ー濱洲さん自身が生産性を上げるためにやられてることはありますか?
特別な工夫ではないのですが、やることは明確にしてから進めるということは意識しています。開発している中で少しでも不安だなって思うところはすぐに他のメンバーに相談をしたりしながら進めています。不安なまま進めて、後から「実は違うことをやっていた」では、時間を無駄にしてしまうので。
その点、先ほどお話しした1日1回のレビュー時間は自身の生産性向上にも繋がっていると思います。
―開発の環境で工夫されていることはありますか?
キャンつくの場合、設計書などの開発資料をGoogleドキュメントやスプレッドシートにまとめて、全員が同じものを確認できる状態で作業をするようにしています。
以前はExcelで管理していたんですが、複数のメンバーが開いて編集することで最新のものが分からなくなってしまったりすることがありました。Goolgeのドキュメントやスプレッドシートですと常に同期されてその心配もありませんし、コメント等を残せるので確認のやりとりが非常に便利になりました。
機能アップデートをした際に行う検証の項目も、検証リストとしてスプレッドシートで管理することで効率化に繋がりました。
▼エンジニア詳しい開発環境を知りたい方はこちら
ー最後に「ピクルスで良かった!」と思うところを教えてください。
会社全体で生産性の高い働き方を目指しているので、無駄な残業が発生しない分プライベートの時間を持ちやすいです。あとは個人の現在のスキルレベルに合わせて「ここまでしか任せられない」というやり方ではなく、経験がないものでも積極的にやらせてもらえる環境にあるのは嬉しいですね。
ー濱洲さん、ありがとうございました!