読者です 読者をやめる 読者になる 読者になる

新卒エンジニアが半年でプロダクトに貢献できる範囲

自己紹介

こんにちは、16新卒エンジニアの根本征(@tadashi0713)です。

大学は文系学部だったのですが、3年生からwebを触りはじめ、その後独学やスクールに通ってプログラミングを身に着け、個人でwebサービスを作っていたりしていました。エンジニアとして就職活動をしていた際には、中学生のころに海外滞在経験もあり、インターネットサービスを通じて海外で挑戦できる環境で働きたいと考えていました。

メルカリに入社したきっかけは、今でも定期的に開催されているDrink Meetupというイベントへの参加です。CTOをはじめ社員の方々の”メルカリを世界で使われるプロダクトにする”という意気込みを感じ、このようなチャレンジングな環境は他にないとGitHub採用を通じて入社を決めました。

入社した頃の自分

半年前を振り返ると、当時の自分は新しい機能開発・改善がプロダクトの貢献に繋がるものだと考えていました。もちろんプロダクトに貢献する一面として間違ってはいないと今も思いますが、他の側面をあまり考えられていませんでした。

この半年を通じて様々な経験をさせてもらい、その貢献できる範囲について学んだことを実際に自分が行った業務を交えながらお話したいと思います。

f:id:mercarihr:20161012173828j:plain 半年間お世話になったメンター(左)と

プロダクティビティへの意識を学んだweb開発

入社してから約3ヶ月間はwebチームに所属し、メルカリのweb版の開発をしていました。また、9月はJP版アプリにある機能をweb版に移植する仕事をしていました。

その際に、チームの生産性を意識する機会が多くありました。特に6月にリリースされたweb版の出品機能を実装した際には、チケット単位で行われていた普段の開発状況とは異なり、リリース目標に向かって1人1人が臨機応変に対応・実装する必要がありました。今までチームの生産性について意識したことはあまりありませんでしたが、チームの生産性を向上すればそれだけ多く、そしてスピーディーにプロダクトの改善ができるため、今後意識しながら自分がどう行動すればいいか考えながら動きたいと思いました。

信頼性の本質を学んだSRE研修

7月の1ヶ月間はSRE(Site Reliability Engineering)チームで研修を受けており、大きく分けて監視、問題解決、自動化の業務を担当しました。普段アプリケーションエンジニアとして担当する機会が少ない業務を担い、その中でSREの業務が具体的にどのようにサービスの安定性・信頼性を高めているのかを学びました。サーバーの監視によって、サービス内にある問題をより早く見つけることができ、またインフラに関わる様々なことを自動化することによってより問題解決にフォーカスすることができます。そして本当に解決すべき問題が早く見つかり、解決することができればサービスの安定性・信頼性を高めていることに繋がると研修を通じて考えました。

改善の土台の重要性を学んだSET研修

8月の1ヶ月間はSET(Software Engineer in Test)研修を受けました。Web版の開発をしていた際にも自分が実装した部分のユニットテストは書いていたのですが、この期間はユニットテスト・リファクタリング、CSツールのブラウザテスト導入、テストインフラ環境構築などテストに関わる幅広い業務をやらさせてもらいました。

リグレッション(他の部分への影響)の恐れを少なくしながら、リファクタリング、機能開発・改善することができるというテストのメリットや、様々なレイヤーのテストを増やしていけばマニュアルテストの担う部分を減らすことができるなど、具体的にテストがプロダクトの品質や生産性に貢献することができるのか体験することができました。

SET研修では加えてmercari-mini3というdockerベースで構築された新しい開発環境の改善作業を行いました。この開発環境では、現状の開発環境よりも本番環境に近い構成にすることができるようになります。社内ではエンジニアのみならずデザイナーもコーディングするようになったのですが、現状の開発環境では構築の際、様々な問題によってつまずいてしまうことがあるのが課題でした。

この新しい開発環境を改善・移行することによって、エンジニア・デザイナーが開発環境でつまずく時間を減らすことができ、よりプロダクトの改善にフォーカスすることができると思いました。

急成長しているからこそプロダクトに貢献できる範囲は広い

このような経験から、たとえ新卒であっても半年前に考えていた以上にメルカリという急成長しているプロダクトに貢献できる範囲はかなり広いと感じました。

これから私はサーバーサイドエンジニア・WEBエンジニアとして働くわけですが、自分が今後よりプロダクトに貢献するために頑張りたいことが大きく2つあります。

1つは実装速度について。現在メルカリを展開しているJP・USでは競合となるサービスがいる状況です。そのような中でプロダクトの改善スピードはプロダクトの競争力に直結します。だからこそ、エンジニアとして実装速度をあげることにフォーカスしながら成長していきたいと思っています。

そしてもう1つは設計です。決済・配送管理などの機能を有するメルカリでは、ただ“動けば良い”コードではなく長いスパンを想定した、設計の良いコードを書くことが求められます。そのために多くを実装し、フィードバックをもらって経験値を増やしたいと思います。また設計の良いコードを書けば、「テストが書きやすくなる」「使い回しやすくなる」「他のエンジニアが見て理解しやすい」というメリットもあり、それもプロダクトへの貢献につながるのではないかと考えています。

メルカリでは新卒エンジニアを絶賛募集中!

メルカリでは新卒エンジニアも絶賛募集中です。各分野のプロフェッショナルが集まり、グローバルなプロダクトを作ることができる貴重な機会だと思いますので、気になった方は是非エントリーしてみてください!

www.mercari.com