Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

『Merpay Tech Talk #2 for iOS Engineer』を開催しました!

f:id:li-yunjie:20181115180319p:plain

こんにちは!メルペイのiOSエンジニアの @celiaです。

11月14日(水)に、メルペイiOSエンジニアのみによる、初のTech Talkイベント『Merpay Tech Talk #2 for iOS Engineer』を開催いたしました。注目している技術や開発を進めてきた中で得られた知見等について、メンバー自らお話ししました。

mercari.connpass.com

今回はそのレポートをお届けします。

発表内容

今回は、Merpay iOS エンジニアの三名から発表しました。

Cloning Photos App Fluid Interface

まずは @masamichiから、iOSのインタフェースの進化、Appleが推奨するFluidインターフェースの定義と注目点について紹介しました。例としては、iOSのネイティブ写真アプリのようななめらかな操作体験を実現する手法について詳しく解説しました。

xibで作るViewController + IBDesignable

@akifumiからは、UIViewControllerのインターフェースを作る際、Storyboardを使うの問題点、そして代わりにxib + IBDesignableを使ってそれを解消する策について発表しました。

Functional Programming for UI

また、@teddyからは、実際に開発したプロジェクト内のチュートリアル画面のある技術チャレンジと、Swift言語の関数型プログラミングとしての特性を活用してそれを解決した知見について語りました。

懇親会

f:id:li-yunjie:20181116124035j:plain

全てのプレゼンテーション終了後に懇親会を開催しました。 メルペイのiOSエンジニア陣全員出席で、様々なプロダクトに携わっている参加者の方々と情報交換や意見交流をさせて頂き、楽しく充実な時間を過ごしました。

おわりに

メルペイでは社外向けのTech Talkを定期的に行っています。来週の水曜日(2018年11月21日)には『Mercari x Merpay Tech Talk for Android Engineers』を開催する予定なので、 ご興味がある方はぜひ参加してみてください!

mercari.connpass.com

ご参加いただいたみなさま、ありがとうございました。次回のご参加をお待ちしております!

mercari.go #4を開催しました

はじめに

こんにちは、mercari.go オーガナイザーの@morikuniです。

11月9日にメルカリ主催のGo勉強会 mercari.go #4 を開催しました。 今回は、先日開催されたISUCONに関する発表や、メルカリのマイクロサービス化にあたってのPHP to Goの話、オリジナルのLintツールについて発表をしました! この記事では、各発表を簡単にまとめて紹介しようと思います。

f:id:inukirom:20180704172134p:plain

続きを読む

In-house Tech Meetup vol.1 を開催しました

こんにちは、@1000ch (id:hc0001) です。先日 In-house Tech Meetup という社内向けの勉強会の第一回を開催したので、今回はその様子を少しだけお届けします。

In-house Tech Meetup とは

In-house Tech Meetup は、メルペイのエンジニアが日々の技術的なインプットを共有し、交流を通じてお互いの理解を深める勉強会です。

今メルペイではエンジニア(だけじゃないけど)が急速に増えています。母数が増えれば増えるほど、お互いが取り組んでいることが見えにくくなってきますが、こうした場を設けることでエンジニア同士のコミュニケーションを促進し、技術組織としての結束を高めていくことを目的としています。

  • 技術チャレンジを共有しあって技術ナレッジを高める
  • エンジニア同士でお互いに何をやっているか知り合う
  • 他のプロジェクトでやっていることを共有してプロジェクトの知識を深め合う
  • 上記を通してチームで結束してエンジニアチームとして良いプロダクトを出せる技術力を高める

また In-house ということで参加者を社内に絞っているので、業務上の課題に対する技術的な工夫など、社外に公開しにくい話題も赤裸々に話せます。

f:id:hc0001:20181024185638j:plain
In-house Tech Meetup の趣旨について話す @hidek さん

開発者の持つスキルをフルに発揮し、成長につながる環境を作っていく必要があります。そのために、メルカリのバリューである Be Professional や Go Bold なチャレンジができる空間にしていこうといった取り組みのひとつです。

つまるところ社内勉強会ですが、色々な配慮が必要です。

実施に際した配慮

メルカリグループには多種多様なエンジニアが在籍しています。In-house Tech Meetup ではこれらの要素が壁にならないよう、そして自ら取り払っていける仕組みを目指しています。

  • 職種: Backend・Frontend・iOS・Android・SRE・Data Platform・Security・Machine Learning・etc...
  • 言語: 日本語・英語・etc

エンジニアは技術分野単位でグルーピングされており、業務において他の分野に触れることは多くありません。しかし隣接分野の業務知識や技術知識を得ることは、技術力のボトムアップだけでなく日々の業務をより効率よく遂行する上でとても重要です。今回のミートアップでは、iOS・Frontend・Backend のエンジニア三人から、各々が今取り組んでいる業務や技術に関する内容について発表がありました。

言語についても配慮が必要です。海外から来たエンジニアには、英語しか話せない人もいます。発表する人が日本語・英語の両方を話せればそれがベストですが、それが出来る人は多くありません。全てを選択できない中で、今回は次のレギュレーションで実施しました。

  • 発表資料は英語で作る
  • 英語が話せる人は英語でプレゼンする
  • 日本語の発表を GOT にリアルタイムで英語に書き起こしてもらう

メルカリには Global Operations Team という、グローバルに関わる全てを支えるチームがあります(通称 GOT)。今回も GOT の協力で、日本語プレゼンの英語書き起こしを用意してもらいました。GOT の皆さん、いつもありがとうございます!

このような配慮は些細なものと感じるかもしれませんが、心理的な安全の確保を第一に、そしてお互いの理解を深めるために重要です。

今回のコンテンツ

今回は3人に発表してもらいました。社内イベントなのでコンテンツは非公開のものもあり、タイトルのみの提供も含まれます。

ご覧の通り、業務とは直接関係ない、各自が普段から興味を持って取り組んでいる技術などについての発表もありました。最初の発表は社内事情満載の話でしたが、二番目は先日オープンソース化された dev.to(GitHub repo: thepracticaldev/dev.to) のパフォーマンスの秘密について、三番目は ICFP-PC という競技プログラミングの大会についての発表で、大いに盛り上がりました。

また、発表コンテンツ後の懇親会ではお酒を交えながら、専門領域の垣根を超えて交流しました。

引き続き

今後も、この In-house Tech Meetup をはじめ、様々な取り組みを通じて、組織力のさらなる強化に取り組んでいきます。次回は、開発合宿の様子を @osamingo (id:osamingo) がお届けします(たぶん)!

Kaggleは凄かった! 更に簡単な出品を目指して商品の値段推定精度を改善中

皆さん、こんにちは機械学習エンジニアの @hurutoriya です。

2018/05/09 にメルカリが開催した Kaggle Competition である「Mercari Price Suggestion Challenge」の閉会式を行いました。 「Mercari Price Suggestion Challenge」では実際に米国版メルカリで販売された商品データを公開して、参加者の皆様に商品の値段推定精度を競い合っていただきました。

Mercari Kaggle Competition: Closing Ceremony 2018 - connpass

f:id:hurutoriya:20181109005757p:plain

この閉会式は「Mercari Price Suggestion Challenge」の上位者(ロシア・ポーランド・中国)と日本人上位入賞者を招待して、各種上位者の解法やKaggleに対する考え方をパネルディスカッション形式でお話を聞かせていただきました。 今回はカーネルオンリー(計算機資源と計算時間の制約)というルールも相まって、面白いコンペになったのではないかと思います。

当日のパネルディスカッションの動画も公開準備を終えたのででこの場をお借りして共有させていただきます。

続きを読む

「必要最低限のルール」に何を望む? 徳丸浩×メルカリ八木橋のセキュリティ対談

きっかけは、メルカリのセキュリティエンジニア・八木橋優のFacebook投稿でした。

f:id:mercarihr:20181113102946p:plain
対談のきっかけになった、メルカリ八木橋のFacebook投稿

「徳丸本」とは、Webセキュリティの第一人者であり、現在は情報システムの監査やコンサルティングを行うEGセキュアソリューションズ株式会社の代表取締役である徳丸浩さんの著書についた愛称。かくして、社内メンバーでひっそりと行う予定だった輪読会は、徳丸さんというビッグゲストを迎えて開催されることになったのです。

続きを読む