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

インターンで知り合った仲間と一緒にISUCONを戦ってみませんか?

ISUCON6の出題者の1人の@catatsuyです。

ピクシブ株式会社では夏インターンとしてpixiv 2016 SUMMER BOOT CAMPを開催中です。

ssl.pixiv.net

そこでエンジニア職のインターン生に講義をする時間をもらえたので、ISUCONについて話をしました。何回か記事を上げていますが、ピクシブ社員の4人が今年のISUCON6の出題を担当しています。

isucon.net

inside.pixiv.net

inside.pixiv.net

今年のISUCONでは学生枠に力を入れています。そこで講義ではISUCONを知らない人のために具体的にどういうことをするイベントなのか、どうすれば勝てるのか、何を準備すべきなのか、を意識して話しました。実践すれば学生枠ならばISUCON本選出場はほぼ間違いなしと思う内容になっています。ぜひ参考にしてください。講義資料はQiitaに上げてあります。

qiita.com

今回のインターン生ですが、講義中に『MySQLなどにデータを保存するWebアプリケーションを作ったことはありますか?』『Linuxサーバーにsshしたことはありますか?』という質問をしたところ全員が手を上げました。『(クラウドサービスなどを使って)自分専用のサーバーを作ったことはありますか?』という質問にも半分以上が手を上げていました。今回のインターン生への期待が高まるばかりです。

今回のインターン生には実際に社内のWebアプリケーションに対して変更を入れてもらっています。今週末のインターン生の成果発表が楽しみです。

今回の講義で一番伝えたかったことは、

  • 大学内に一緒にチームを組んでくれる人がいません
    • インターン生同士で組みましょう
    • Web系の会社のインターンに参加するメリットは、Webに興味のある同世代と出会えることです

です。インターンで知り合った仲間と一緒にISUCONに挑戦して欲しいです。

締め切りは 2016年9月9日(金) 12:00:00 JSTです。締め切りが近づいていますのでお早めに!

isucon.net

追伸:pixiv 2016 SUMMER BOOT CAMP参加者へ。はてなインターン倒すぞ!!!

「最速で最高のプロダクトを!」即戦力を生む、新卒エンジニア研修とは?

今年の4月に入社した新米エンジニア、せすたです。ピクシブ株式会社では今年から新卒エンジニアの研修期間を約1ヶ月に拡大することになりました。今回は受講者である新卒の目線から、生まれ変わったエンジニアの研修について内容や感じたことをお伝えします。

伝えたいこと

今回の記事でお伝えしたいことは以下の2点です。

  • スクラム研修や実務開発研修などの実践的な研修内容
  • 研修を通して学んだチーム開発で大切なこと

ピクシブ株式会社に興味を持っている学生の方や、新卒研修を企画している方の参考になれば幸いです。

研修の内容

研修は「(pixivで)最速で最高のプロダクトを作れるようになる」「プロダクト作成後もメンテナンスに気を配れるようになる」「業務を通じて開発の段取りを覚える」を大目標として行われました。内容は主に以下の5つです。

  • 基礎を固めるためのpixivのソースコードのメンテナンス研修
  • 開発のフローを学ぶスクラム研修
  • プロジェクトを体験するための実務開発研修
  • 技術職の新卒が総合職の新卒に技術を教えるプログラミング研修
  • 次回の出題者によるISUCON研修

プログラミング研修ISUCON研修については、弊社のcatatsuyが既に記事を書いていますので、今回の記事では割愛します。

メンテナンス研修

昨年までは配属先チームでのOJTによる研修とpixivの技術的背景についての短期間の座学が主で、新卒全員を対象にした開発研修はありませんでした。今年度は昨年度にも増して多様・大人数の新卒が入社したため、1ヶ月に渡っての技術研修が企画されました。

また、BOOTHなどRubyを採用したチームに配属されると、会社の中核サービスであるpixiv.netのソースコードに触れる機会がなかなか訪れないという事情もあります。本年度からはエンジニア全員がpixiv.netについて最低限の理解を得る機会として「pixivメンテナンス研修」が行われました。

この研修では実際にpixiv.netに発生している問題(コード上に残るレガシーな記述の置き換えや、ごく稀な場合に発生するエラーなど)を修正してサービスに反映し経過観察という流れを繰り返し行います。ひとりひとりに明確な課題としてGitLabのissueが割り当てられ、自分で実装の方針を考え、メンターや既存の社員と相談やレビューを繰り返しながらデプロイできる状態まで持っていきます。

スクラム研修

みなさんはスクラムをご存知でしょうか?スクラムは目標達成に向けてチームが一体となって動くことを重視したソフトウェア開発手法の1つです。今回のスクラム研修ではLEGOを使ってスクラム開発手法を体験しました。この研修は前半でスクラム開発手法はどのような流れで進んでいくかについて学び、後半は学んだ内容を元に実際にLEGOを用いて作業をしていきます。

f:id:sesta:20160707142515p:plain

この研修ではプロダクトとしてリゾート村を作りました。私たちはそのために、プロダクトオーナー(村長)にヒアリングを行い、要件定義やタスクの割り振りを行い、理想とするプロダクト(リゾート地)を完成させます。上の画像は私たちがLEGOを使って作ったリゾート地で、画用紙に道などを書きながらLEGOで施設を作っていきました。リゾート地とは程遠いですね(汗)。後でメンターの方から聞いた話なのですが、このスクラム研修では良いプロダクトが生まれたといった成功体験ではなく、ここがよくなかったといった反省点を多く持ち帰って欲しかったらしいです。実際に終わった後での振り返りでは多くの改善点が出てきました。

実務開発研修

最後に行われたのが実務開発研修です。この研修は先ほどのスクラム研修のような仮想のプロダクトオーナーではなく、実際にその機能を必要としている人が社内にいる業務効率化ツールを開発するものです。新卒は2チームに分かれて2つのプロダクトを開発していきますが、このチームは途中で交代となります。ですので、前半と後半でそれぞれどこまでやるかといった納期の意識と、引き継ぎまで考えてタスクをこなす責任感がこの研修では求められます。また、前半と後半は1週間ずつしかないため、スクラム研修で得た開発フローの知識や反省点を生かし、いかにうまくプロジェクトを回すかが重要となってきます。

学んだこと

ピクシブのエンジニア研修はとても実践的だったと感じています。最初から最後まで勉強になることばかりの研修でした。折角なので研修の内容ごとに感じたこと、学んだことをお話します。

メンテナンス研修

今まで、個人やチームで好きなものを好きなようを作っていた私にとって、1900万人が使うサービスのソースコードを触るというのは最初は不安が大きく、本当にデプロイをして大丈夫だろうかという気持ちでした。いくらメンテナンスとはいえ、バグが入ってしまえばサービスが機能しなくなる可能性もあります。ですが、この研修ではコードの改善からデプロイまでを反復的に何度も行いますし、前半はメンターの方がデプロイから経過観測まで付き添ってくれました。これによって研修が終わるころにはある程度の緊張感は持ちつつもデプロイを恐れることはなくなっていました。また、デプロイを繰り返すたびに自分の書いたコードが反映されていくため、自分も開発者の一員なんだという自覚をすぐに持つことができ、やりがいに繋がりました。

スクラム研修

この研修は本当に自分の行動を考えさせられました。「研修の内容」でお話したように、この研修自体は多くの反省点を得ることが重要だったわけですが、作業の共有ができていなかったり、終盤になってタスクが終わらないことに気づいたりなど、ここまでうまくいかないものかと思いました。しかし、研修が終わった後にしっかりと振り返りを行ったことで、チームメンバーとのコミュニケーションやスケジュールを意識したスピード感など多くの気づきを得ることができました。 一度やっただけでこれだけ多くの気づきを得られるスクラム研修は本当にやってよかったと思います。

実務開発研修

この研修はスクラム研修で得た反省があってこその研修でした。スクラム研修で先に開発のフローと、チームで動く時に重要な要素を知っていたため、チーム全員で同じ方向に向かって開発ができたのだと思います。スクラム研修ではコミュニケーションとスピード感の大切さを強く学びましたが、この研修では信頼関係がプロダクトに及ぼす影響を学びました。具体的には、プロダクトの内容を決める時に仲間同士で良いものは良い、悪いものは悪いと意見しあわなければ良いプロダクトは生まれないということです。メンテナンス研修やスクラム研修ではある程度作るものが指示されていました。ですが、この研修からはプロダクトオーナーは要望を伝えてはくれますが、具体的に何を作れば良いかを指示してくれるわけではありません。要望を満たすための詳細設計はチーム内で議論しなくてはいけないのです。信頼できる仲間と意見をぶつけ合いながら議論できたからこそ、最終的に良いプロダクトが生まれたのだと思っています。

まとめ

ピクシブのエンジニア研修は内容が濃く、常に挑戦し続けることができる研修でした。メンテナンス研修では開発の基礎を学びながら既に動いているサービスの修正を行い、スクラム研修では開発のフローを学びながら失敗を経験し、実務開発研修ではスクラム研修の失敗を生かすことでプロジェクトを完遂しました。これらの研修のおかげで最初に挙げた3つの大目標も達成できたのだと思います。今回の研修で学んだことを生かし、来年は次の新卒を教えられるように、1年間で技術面はもちろん開発の段取りを精一杯学んでいきます!

ピクシブでは一緒に最高のプロダクトを作ってくれる人を募集中です。今年の夏もインターンシップを行いますので、実際にチームでサービスを企画・開発してみたいと思っている学生のみなさんは、下のページから 7月11日(月)23:59 までに応募をお願いします!参加を待ってます!

ssl.pixiv.net