てくすた

ピクスタ株式会社のエンジニア・デザイナーがつづるよもやまテクニカルブログです

ピクスタに入社して6ヶ月でわかったピクスタ開発部の雰囲気

この記事は、PIXTA Advent Calendar 2017 3 日目の記事です。

初めまして開発部の西尾です。

私がピクスタに入社して6ヶ月経ちました。
前職はSIerで、もらった作業を黙々とこなすような仕事をしていました。
今回はピクスタでどんな風に開発が行われているかを前職と比べながら書きます。

開発環境

ピクスタの開発環境はDockerを使って構築しています。

環境構築で一日悩まなくてすむ

前職ではWindowsにそれぞれ好きな仮想環境を立てて、手順書を見ながら環境構築をしており、1日以上かけて悩みながら構築していました。
ピクスタでは、docker-sync-stack startコマンドを実行するだけで、開発環境が導入できるので悩まずによくなりました。2時間程度で環境構築ができるのでスピーディーです。
また、開発メンバー全員が同じ開発環境なので問題が出た時に「自分の環境だけ動かない・・・」ということがなくなりました。

継続的に技術改善を行なっている

前職では、技術改善に時間を充てることができずRailsのバージョンが古いままでした。
ピクスタでは下記のような技術改善を継続的に行なっています。
http://texta.pixta.jp/archive/category/Rails

そのため、効率良く開発することができています。

また日頃チャットで技術系の情報共有が盛んに行われており、新しい技術に触れる機会が多いです。

一週間のスケジュール

ピクスタではスクラムで開発を行なっています。
私の所属するチームではスプリントを一週間に設定しており、月曜日にKPT*1とプランニングの時間をとっています。
また、デイリースクラムで今日したこと、明日すること、困っていることなどを情報共有します。
それ以外の時間は読書会やミーティングを除いて基本的には実装をしています。

KPTによる改善活動が頻繁

前職では振り返りが定期的に行われず、リリース完了後に行うだけでした。
リリースまでの期間が長いプロジェクトの場合、振り返りの頻度が少なく、困ったことや反省点を忘れてしまうメンバーも多く、改善活動ができていませんでした。
ピクスタでは、週に一回KPTがあるので記憶が新しいうちに振り返りができます。またTryも確実に実施しているので、日々環境が良くなっています。

読書会がある

ピクスタでは現在、週に一回読書会があります。
一人で読むのと違ってみなさんの意見や体験談が聞けるので読んだ内容を活かしやすいと思います。
対象の本はメンバーに知ってほしい知識や、基礎から学ぶべき内容のものが選ばれます。
これまで読書会で読んだ本は以下です。

  • SCRUM BOOT CAMP THE BOOK
  • プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則
  • SQLアンチパターン

私は読書が苦手なのでこういう場があるのがとてもありがたいです。

雰囲気

ピクスタにはペアプロブースがあり、私もよくペアプロをしています。
初めの頃は「ペアプロは人に見られながらソースを書くからやりにくい」と思っていたのですが、
業務知識はもちろんのこと、技術知識や便利なショートカットを互いに教えあえるので学びが多いと感じています。

f:id:nishioha:20171130172009j:plain
ペアプロの様子

また、フラットな雰囲気も良いところだと思います。
ピクスタでは、アルバイトの人の意見で実装方法が決まったり、入社して間もない人の意見で作業の優先順位が変わったりと、発言者の役職などに関わらず、良い意見が採用されます。
スクラムマスターが発言を促してくれたりして意見を言いやすい環境でもあります。

質問しやすい

前職では黙々と仕事をすることが多かったのですが、ピクスタに入社してからは会話することが増えました。
ペアプロで作業することでエンジニア間のコミュニケーションが増え、ペアプロ後も質問しやすい雰囲気になっています。
また、社内の部活動やランチトーーク*2で他部署の人とも会話の機会があるので業務で質問するときも声をかけやすいです。

まとめ

ピクスタに入社して6ヶ月で私が感じたのは、 仕組み化された開発環境、技術改善に取り組む文化と、フラットで発言しやすい環境だということです。
良いものを作るために自分から働きかけたいという人が向いている環境だなと思います。

ピクスタでは能動的に改善に取り組んでサービスを良くしたい人を募集しています。

recruit.pixta.co.jp

*1:振り返りの手法。Keep,Problem,Tryの3つを振り返る。

*2:ピクスタの福利厚生の1つ。ランダムなメンバーでランチをしてコミュニケーションを促進する目的がある。

エンジニアのためのGoogle Tag Manager入門

この記事は、PIXTA Advent Calendar 2017 2日目の記事です。

元エンジニア、現在はPIXTAの開発・運営全体を統括するプラットフォーム本部担当役員の遠藤です。 プラットフォーム本部には、開発、企画、マーケ、サポート、審査と様々な部署やチームがあり、相互に協力しつつサービスを運営しています。

今回は開発とマーケをつなぐ話です。

Google Tag Managerはマーケターのためのツールでエンジニアのツールではない?

ある日、エンジニアの @kaiba が「Google Tag Managerはマーケターのためのツールでエンジニアのツールではないと思う。エンジニアだけでやるならGoogle Tag Managerを使わないほうが良いと思う。」と言っているのを耳にしました。

Google Tag Managerは、タグ、変数、トリガーなどがあり一見複雑で、エンジニア目線だと、ソースにタグを貼り付ければよいだけなのに、わざわざGoogle Tag Managerを経由しないといけないのか、疑問に感じる方もいらっしゃるかもしれません。

Google Tag Managerはマーケターにはもちろん、エンジニアにも嬉しいツールなのです。

Google Tag Managerとは?

f:id:endokenji:20171201152620j:plain

Google Tag Manager(以後GTM)とは、アクセス解析や広告配信ツールなどのタグを一元的に管理できるGoogleが無償で提供するツールです。これまでエンジニアに都度修正依頼をしないと、タグの追加変更が出来なかったマーケターなどに人気があります。

遠藤が感じるメリットを紹介します。

ウェブアプリのデプロイなしにデータを送付できる

一度GTMのタグを設置すると、GTM上の管理画面からタグの追加、変更が可能となります。

エンジニアにとっては必要なデータを引き渡すコードさえ書いたら、あとはマーケターに設定と確認を依頼できるのが大きな利点で、お互いの時間を有効に使えますね。

マーケターが送付のタイミングや条件を指定できる

以下の条件などで外部サービスにデータを送付できます。

  • 指定のページにアクセスした
  • 指定のページから辿ってきた
  • イベントが発生した
  • 特定の変数が設定された

バージョン管理されている

バージョン管理されており、前のバージョンに戻すことができます。 不具合があったとき、ウェブアプリのデプロイなしに即座にできまし、原因の特定にも役立ちます。

外部サービスのタグをウェブアプリに書かなくて良い

f:id:endokenji:20171201152724j:plain ソースコードは短く、綺麗に保ちたいものです。色々な外部サービスのためのタグが多数記載されていると、見通しが悪くなります。 ソースコード上には、GTMのタグを記載するのみで済みます。

タグの非同期読み込み

タグマネージャーのタグ配信は非同期ですので、読込の遅いタグがあってもページ読込全体に遅延は生じません。 サービスが成長するほどマーケティング用のタグが増えていくものですが、安心して設置できます。

その他の機能

個人的にエンジニア向けと感じるのは、変数に対してカスタムJavaScriptを設定できる機能です。 これを使用すれば様々なデータ加工がGTM内で行うことができます。 例えば、変数 {{url}} を小文字に変換するのもお手の物です。

function() { 
  return {{url}}.toLowerCase();
}

まとめ

以下の点でGTMは、エンジニア、マーケター、サービスにとって有用です。 できることが多いため複雑に見えるのですが、利点は大きいです。 これを機にGTMの使用を検討されてはいかがでしょうか?

  • エンジニアはGTMにデータを渡すだけで作業完了。
  • 一度設定してしまえば、ウェブアプリのデプロイなしに変更可能。
  • マーケターは渡されたデータを様々な条件で外部サービスに渡すことができる。
  • 非同期読み込みでウェブアプリが高速に動作する。

それでは、3日目の西尾へバトンを渡します。

* * * * *

ピクスタでは、一緒にサービスをつくり育てるエンジニアを募集しています!

recruit.pixta.co.jp