この記事は GMOペパボエンジニア Advent Calendar 2021 の17日目の記事です。
昨日は Akihito さんで「ふたりのWebエンジニアが奮い立ったり、易きに流れたり、渇いたりした記録」でした!
その前日のtommy さんが書かれていた「初めてのGo製CLIツール作成、初めてのOSS公開に込められた物語」を読んでいた自分からすると1つの映画を見終わったような感覚になりエモい気持ちになりました。いいですね...!
そんな中僕も最近"やりたい事をやるだけ"というフレーズにやられた設定で今から「YYC」に入会できないかと考えたのですが、今日のテーマは「キャリアキーノート」という事で自分のキャリアについてお話をします。
キャリアキーノートを書こうと思ったきっかけ
アーカイブで@hiboma さんの「インフラ技術者と私のキャリアドリフト」を視聴したのですが、凄い良かったです..!今後の自分のキャリアを考える際に刺さる内容で繰り返した見たくなりました🙏#InfraStudy
— Futoshi Endo 🎮 (@Fendo181) 2021年10月30日
以前、Forkwellさんが開催されている「Infra Study 2nd」という勉強会に ito hiroyaさんが「インフラ技術とキャリア」というテーマで登壇された際に発表された
「インフラ技術者と私のキャリアドリフト」に感化されたのが一番の理由です。
(動画もありますので是非ご覧下さい!!)
この発表について軽く紹介をすると、hiroya さんが経験されたキャリアドリフトについて語られております。キャリアアンカー、外的キャリア、内的キャリア、について解説をし、キャリアアンカーと内的キャリアについて「大切にしている技術書」や「影響を受けた技術者」を具体例として紹介しながら、どのように影響を受けてきたのか?について語られています。
この発表スライドの中の最後で、かつてお世話になった先輩で okumura takahiro さんが書いた「キャリアキーノート」について紹介されています。
hiroya さんのスライドで紹介されたキャリアドリフトのお話、そしてokumura さんが書かれてキャリアキーノートの記事を読んで「自分も何か語れるものはあるだろうか?」と思い、今回このテーマで記事を書いてみようと思った次第です!
自分のキャリアキーノートについて語る
キャリアキーノートは内的キャリアを重視すべきだ。行動指針や価値観を生み出した背景は、肩書や専門用語を排したエピソードとして語りやすい(ただし、自分自身へ相当踏み込まなければならない場合もあるので、別の意味で難易度は高い)。
キャリアキーノートを書くにあたっては内的キャリアを重視すべきという事でまず自分がどのような経緯でエンジニアになったか?を紐解いていきます。
これと似たような話を以前こちらのブログにも書いたのでもしかすると、重複している部分があるかもしれないですがまとめます。
エンジニアになろうと思ったきっかけ
父親が電気技術者という事に影響がありました。
当時は父は常に作業服で生活をしており、朝早くに車で会社に向かい、そのまま作業服で帰って来て夕ご飯を食べて寝る..という生活を側から見ていました。
世間一般的に見ると作業服での父というのはかっこ良くなかったかもしれないです。
ただ、父のごつごつと岩肌のような手を見ては誇らしいように見え、将来自分も技術者になりたいと考えていました。ただ「電気技術者」は父の後追いになって嫌なので、別方面のエンジニアになろうと漠然と考えていたのを高校時代にぼんやり覚えています。
プログラミングに興味を持ったきっかけ
その後プログラミングに興味を持ち始めたのは4gameというゲームポータルサイトで紹介されていたこの記事です。
この記事のタイトルの見出しには大きく「プログラミングは最高だ」と書いてありますが、当時はプログラミングという言葉自体知らなく「なぜゲームポータルサイトにこんな記事が上がってくるのだろう?」と、逆に不思議でした。
ただ、読んで驚いたのはenchant.jsというJavaScript製のゲームエンジンが出来た経緯のこの一文でした。
発端は今年の3月ごろに清水氏が漏らした「昔あったファミリーベーシックみたいなものがほしい」という言葉から始まったという。その場にいた学生達は「ファミリーベーシックってなに?」と思いながら聞いていたらしいのだが,調べると,テレビにつないで子供がプログラミングしてゲームが作れるものらしい。こんな感じかなと当時大学1年だった田中 諒氏が1週間くらいでさらさらっと作ったのがenchant.jsのα版となるものだ。
この記事を読んだ当時の自分の心境を紹介すると大学受験を失敗した浪人生でした。
その状態でこの記事を読んだので大学1年生がゲームエンジンを作って企業で有給インターンをしている姿はかっこ良く「こんな風になってみたい..!」という希望が出てきたのを覚えています。この頃からプログラミングをして何か作れないか?と興味がでてました。
大学時代にPHPに触れる
大学入学後にすぐに「有給インターンしながらサービス開発するぞ!!」という事で、当時オンラインで服を買った時にサイズが合わない課題を解決する為に考えた「オンライン3D試着システム」の構想案についてまとめて、7社ぐらいにメールを送りました。
そこから運良く1社お話をもらって内定し、まずはスキルを身に着けようという事で「基本情報技術者試験」の教本だったり、パーフェクトPHPを読んでひたすら写経をしていました。
その後はEC-CUBEを拡張した在庫管理機能を作成するのに奮闘します。
この時、人生で始めて自分が書いたプログラムがブラウザ上で動いてるのを感動して、「PHPは書いて直ぐにブラウザで反映されて面白いなぁ〜」と考えてました。
大学の授業ではC言語を習っていたのですがC言語よりも手軽で、直感的である事も好きになった要因です。
その後はちょくちょくPHPの教本で載せてあるサンプルコードを写経して動画アップローダーや、簡単な掲示板を作って研究室の先輩や友人に披露していました。
ここまで漠然としてエンジニアになりたい、プログラミングがしたい、サービスを作りたいと考えていたのですが、根本にあったのが「サービスを利用して利用者が喜んでくれたり、反応があるのが嬉しい」と気付きました。
入社前に技術力を上げる事、アウトプットする事を考える
次に技術力上げる事と、アウトプットをする事を意識しだした重要なカンファレンスがあります。
「東京Ruby会議11」というRubyのカンファレンスです。
これは自分がペパボから内定をもらってすぐの頃に「社内のエンジニアもいるから遊びにおいで〜」と呼ばれて参加したイベントです。
この時自分はまだ学生だったのですが、登壇している方が真面目なカンファレンスにも関わらず楽しそうに発表をしているのを見て衝撃を受けます。
楽しそうというよりは、楽しんでいるというのが正解かもしれませんが、業務で得た知見の共有だったり、好奇心から突き進めた技術書の話だったり、自分はとてもわくわくしました。
因みにこの時から僕はAaron Patterson のファンです。
それまで「アウトプット」というのは自分にとっては研究発表をイメージしていて、もっと堅苦しいものだと思っていたのですが「自分がちょっと悩んでいる事や気づいた事を喋るだけでも良いんだ!」と気付かされたカンファレンスでした。
そして同時にこのカンファレンスは自分の技術力の無さを痛感したカンファレンスでもありました。
技術的能力はあった方がいい。なぜならTokyo Ruby Kaigi 11で発表されたスライドの話が2倍、3倍と楽しめるからである。少なくとも僕はそう感じた。ちょうどmrubyを使って研究をしようと考えていた時期があり、mrubyの話を聞いた時に「あぁ、あの時mrubyについて少しでもやっておけば今の話はもっと面白いんだろうなぁ」と僕は、mrubyの話を聞きながら考えていた。だから、こういった機会はその時しか味わえない空気や熱というものがある中で自分がその熱を感じられないのは非常に勿体無い上に悔しいと感じた。
この頃からサービスを作りたい為にコードを書くだけじゃなくて本質を求めて技術力を上げないといけないと思ったのを覚えています。
その為にはとにかく興味を持った事や困った事があればアウトプットし続ければ、今日登壇したエンジニアの方と同じ視点が見れるのではないか?と思ってQiitaで少しづつアウトプットを始めました。
入社後、Laravelの勉強会を通じてコミュニティに参加する
この頃Laravelを使って趣味でWebアプリケーション開発を行っていて「何か発表ができるネタないか?」と思っていました。
当時、ドットインストールやLaravelの公式ドキュメントに記載されているチュートリアルを3~4回程繰り返していた自分は「もっと手軽にできるチュートリアルはないか?」と模索してました。
「これなら発表ネタになるのではないか?」と思ってLaravel Newsで取り上げられていた記事がちょうど良い長さだと思って作者に許可を取り翻訳し記事に上げました。
はじめてのLaravelアプリケーションを構築する為のStep by Step Guide - Qiita
更にそれを改良した内容と過程をネタに発表しようと思って作成したのがこのスライドです。これが最初に登壇した内容だと思います。
この勉強会を通じてちょっとずつPHP関連の勉強会に顔を出したり、LTしたり登壇して少しづつPHPerの知り合いが出来ていったのを覚えています。
そして気づけば、Laravel JP Conferenceのコアスタッフとして運営する立場になっていました。
そこから何人かのコアメンバーの人と一緒に「Laravel.shibuya」というIRT形式の勉強会の共同主催者になったりして、入社前に「東京Ruby会議11」で観客側で見ていたのが、いつのまにか登壇する側になり、運営側にもなりと、入社前の自分でも想像してなかったぐらいにLaravelコミュニティに浸かっていました
自分がやりたい事と必要な技術のベクトルを合わせる
ここまでお話した事を一旦、整理します。
- 高校時代にエンジニアを目指そうとする
- 大学時代にPHPに触れてWebアプリケーション開発に興味が出る
- 入社前に参加したカンファレンスで「技術力を上げる事、アウトプットする事」を意識する
- 入社後にLaravelの勉強会を通じて登壇したり、コミュニティ活動を行う
整理した上で今現在のお話を書きます。
正直に書くと今は業務でLaravelに触れる機会はほとんどなくPHP、Ruby、Railsを見る機会が多いです。もっと言うとコードを書くよりも、コードを読んで仕様を見て日本語を書いている時間の方が多いかもしれないです。
こう書くと、「今まで行っていたアウトプットやコミュニティ活動というのは無駄だったのか?」と思われるかもしれません。
ただ、自分の芯としは「サービスを利用して利用者が喜んでくれたり、反応があるのが嬉しい」というのが原点としてあり、その次に技術が来ていると思いました。
友人にみてもらう為にPHPやLaravelでサービスで作った事も、コミュニティ活動も誰かに助けになったり、反応があるのが嬉しくのめり込んだ事です。
それは今の環境でも変わらないと思います。
自分がやりたい事と必要な技術のベクトルを合わせる。そして必要な技術で学んだ事をアウトプットして本質を学ぶ...というのが自分に取って目指すべきエンジニアであり、大切にしている事だと思いました。
まとめ
自分のキャリアキーノートについて書いてみました。
この記事を書くにあたって既に社内の先輩でキャリアキーノートについて書かれているスライドや記事、自分が書いたブログを何度も読み返しました。
何度も読み返す度に「自分は良いキャリアキーノートが作れているだろうか..?」と自問自答しては頑張って文字を整理してみました。
書けば書くほど自分に「本当にそう思っているのか? そう思っていたのか?」と聞かれているようで苦しかったです..。
ちょっと前に「ペパボのCRE&CSが語る、ユーザーが安心して気持ちよく使えるサービスの裏側」で登壇した時にもスライドでも紹介しましたが、チームが代わり、見る技術もかわって、コミュニケーションも変わり、今が一番キャリア・ドリフトが起きている瞬間かもしれないと思ったので自分を見つめ直す時間になり良かったです。
改めて hiroya さん、きっかけをくれてありがとうございました!
18日目の GMOペパボエンジニア Advent Calendar 2021 は 最近ホットクック買って料理を楽しんでいるosamtimizer さんです!
おわり