ピクシブでの開発 - 金髪の神エンジニア、kamipoさんに開発の全てを教わった話
爆速で成長していた、ベンチャー企業ピクシブ
面接の時の話はこちら=>ピクシブに入るときの話
そんな訳で、ピクシブでアルバイトとして働くこととなった私は、初出勤の日を迎えた。
(↑ピクシブのユニークなオフィス)
ほぼ何も分からず始まった開発
プログラミングスキルはほぼ無く、やることも決まっていなかった私は、早速開発の統括をしていたCTOの青木さんからの指示を仰いだ。
こんな感じで、話は進んでいった。
そして、私は早速困った。
開発経験のない私は、開発時に一般的に使用されるツールの事も全く知らなかった。
ググっても、『オープンソースのバージョン管理システム』という謎の説明しか出てこず、使い方もサッパリ分からず、目的も分からなかった。
(バージョン管理システムとは、プログラミングした成果物を適切に保存する仕組みの事でした。)
とりあえず分からなかったので、適当に資料を読み、何とかして、先に進んだ。その作業の繰り返しだった。
こちらも良く分からないまま適当に進めようとする・・・・
が!
ある時点で、全く分からない問題へぶち当たる。肝心のサーバー・データベースへの接続の仕方が全く分からなかったのだ。Unixサーバー系の知識が根本的に欠如していた為、何をすれば良いか分からないし、何が分かってないかも分からないという、どうしようもない状態だった。
という風に、負の思考ループにハマリながら、暗澹たる気持ちになっていた。
kamipoさんとの出会い
そういう訳で、勇気を出してkamipoさんに聞いてみた。kamipoさんはピクシブの中では珍しく金髪でメガネをかけており、なおかつ『デスノートのL座り』っぽい感じで椅子に座りながら、キーボードを黙々と叩いていた。
と思いながら、勇気を出してkamipoさんに質問してみた。
と、そこで私は衝撃を受けた。
kamipoさんのPCの画面が、とてもカラフルでめちゃくちゃカッコ良かったからだ。
『kamipoさんのコンソール(イメージ)』
『私のコンソール(当時)』
俺もこんなコンソールを使いたい・・・!!格好いい・・!!マトリックスみたい・・!!
このとき、そう強く思ったのをよく思っている。
私の席につくと、kamipoさんはおもむろにキーボードを叩き始め
と言いつつ、作業を始めてくれた。作業自体は20分程で終わり、私のPCからテスト環境で作業出来る仕組みが直ぐに整った。
と、少し素っ気無いながらも、今後の復習に必要な事も、しっかり教えてくれた。
コンソールを格好良くしたい!
せっかくなので私は、kamipoさんが席を立とうとしたとき、どうしても気になった事を質問してみた。
と、すぐにカラフルにしてくれた。僅か数十分で私のPCは、必要な事が大体出来るようになり、なおかつとてもカラフルになってやる気が出る環境になったのだった。
コマンドの履歴から学習する
そしてそれから、私の勉強時間が始まった。
kamipoさんが打ってくれたコマンドの履歴は、私にとって宝の山だった。
kamipoさんが短時間で行った事には、データベースとの通信の仕方、サーバーとの同期の取り方、通信エラーの原因の切り分け方などが含まれており、これらは基本的な技術として欠かせない物だった。
これらの復習をすることは、問題集の答えを見ながら勉強するようで、非常に効率が良かったのだ。
kamipoさんのお陰で私は短期間で、最低限の基礎知識を一気に増強する事が出来たのだった。
その後、どうしても分からない事があるとき、特に根本的に解決策が思い付かない問題があるときは、かみぽさんに聞くようになった。
深夜から明け方にかけての貴重なレッスン
アルバイトとして入社して暫くは、全く何も貢献出来ない、実力がない自分がイヤで仕方なかったので、出来る限り夜遅くまで残って、ひたすら勉強も兼ねて作業を進めていた。
終電を逃す事もしばしばあり、そういう時はこれは良いキッカケだと思いそのままひたすら作業を続けることも良くあった。
そして大体そういう時はkamipoさんもオフィスで深夜まで作業をしていた。
深夜2時ぐらいだと他の人はおらず、質問がしやすかったので、ちょくちょくkamipoさんに日頃から気になっていた疑問を聞いてみたりしていた。
だからここをこうして・・・
kamipoさんは、私にも分かるように噛み砕いて、本質的に重要な部分を論理的にきちんと説明してくれた。
kamipoさんはそういう時、根幹となる部分の説明を実際にコードを走らせたり、コマンドを実行したりして説明してくれる事が多かったので、実践的で非常に勉強になった。(コマンドはメモしてあとで意味を調べ、コードは後でもう一度自分で書いて、意味を再確認していた。)
これらのお陰で私はどんどん出来る事が広がっていった。
また、特に当時使用していたプログラミング言語の『php』という言語の仕様に関わるような質問をしたときは
と、次々に私が知らない知識を教えて下さった。今まで自分は何も知らなかったんだと改めて自覚すると共に、本物のエンジニアというのはこういう方々なんだろうな〜と実感していた。
エンジニア力を底上げする文化と指導
kamipoさんは、私がコミット(書き上げたソースコードを皆に共有すること)をすると、そのコミットの内容をたまに読んで下さっていたようだった。(と言うか全員の全コミットを読んでいた可能性もある)
そして有難いことに、たまに良くない所を指摘してくれた。
と、エンジニアとしては当たり前の事で、かつ本では中々学びにくいような事を沢山教えてくれた。
まずexplainを叩いてみ。ここでUsing filesortとか出てたらこのケースではアカン。
また、セキュリティに関してもkamipoさんは非常に卓越した知識を持っており、Webアプリケーション開発で必要最低限備えておくべき脆弱性に関しても、私に沢山教えてくれた。
と、ある事柄に対して助言をくれた時は、それに付随して周辺知識を必ず教えてくれたので、私はどんどん色々な事を知ることが出来た。
本番のサーバーを落としたときは・・
私の失敗で、何度かモバイルの本番のサーバーを落としてしまったことがある。
1秒間に10通ぐらい来てる・・・
そもそもテスト環境できちんとテストをしていなかった私が完全に悪いのだが、事はすでに起こしてしまった後だ。こういう時はまず、インフラのリーダーをしていた店本さん、そしてkamipoさんに相談するのだった。
すみません・・・ここの修正でこうして、元に戻したつもりなんですが、戻ってないみたいで・・
と、大体の場合は、私が問題を起こしてしまった事はすでに気付いてた。
そして即効で原因を調べて、直してくれるのだった。
常々、これほど頼りになる人々はいない・・!と思っていた。
(ちなみに、私は隠してもどうせバレてるので、隠そうと思うことは無くなった)
著者の溝部 拓郎さんに人生相談を申込む
- 1
- 2
著者の溝部 拓郎さんにメッセージを送る
著者の方だけが読めます