2019-12-25に投稿
なんでも 20日目

私の経歴書

読了目安:10分

Eye Catch

この記事はcrieitのなんでも Advent Calendar 2019の20日目の記事です。

私がプログラミングを始めたのは中学生の時だった。

それほど裕福な家庭ではなかったが、作曲が趣味の母親が給与数ヶ月分を叩いてVAIOのデスクトップを買ってきた。
当時、私はパソコンのことはよく分からなかったが「色んなことが出来る機械」と漠然なイメージを持っていたのを覚えている。
なので当然、ゲームも出来るはず、と思い”Internet”と書かれてあるアイコンをクリックしてYahoo!を開き「ゲーム 無料」で検索しては手当たり次第遊んでいた。
今思えば、身を削って購入した高級な端末を子供に触らせるなんて、母親は怖くなかったのかと思うが、特に何も言わず自由に使わせてくれた(ダイヤルアップ接続だった時期は「夜だけにしろ」とだけ言われていた)

創作欲と出会った話

中学校には私と同じようにパソコンゲームに興じる友人が2人いた。
俗に言うWeb1.0時代、無料で遊べるゲームは沢山あったが、私たちはブラウザだけで遊べるゲームにハマっていた。有名所であれば「箱庭諸島」や「バトルロワイヤル」といったゲームである。
ページ遷移でゲームが進行する形式で、ユーザー同士の対戦やチャット等、プレイヤー間でコミュニケーションを取れる機能が組み込まれていることが多かった。

そんな時代、私たちはVagoo(ヴァグー)というゲームに夢中になっていた。「うぇぶなげぇむ」という個人で運営されてるサイトにあったRPGだ(現在は閉鎖中)
上記に並べたゲームに比べるとマイナーで、モンスターと戦ってストーリーを進めるというシンプルな作りだが、キャラメイク機能やモンスターをペットに出来る機能など、クオリティの高いゲームだった。
索敵をするには一定時間待つ必要があり、その間ユーザーはゲーム内のチャットに集まる。ゲーム自体も面白かったが、そこで顔も知らない人達と夜通し会話をする体験が思春期の私にはとても刺激的で楽しかった。

そのゲームはコピーレフト(オープンソース)として配布されていた。
当時、GitHub等のリポジトリサービスは無く、zipファイルが直リンクで置かれているだけだった。
これを動かせば自分だけのゲームが作れるかもしれない。
動かし方を必死に調べた。

CGI/Perlで組まれているプログラムだが、それを動かせる無料レンタルサーバーというのは中々無い時代だった。
月数百円で運用出来るサーバーはあったが、中学生にはそれでもキツい。生まれて初めて「早く大人になりたい」という感情を抱いた。
調べていく内に、自分のPCをWebサーバーに出来ることを知った。幸い、母親が買ってきたこの端末は性能が良かったので問題無くApache HTTP Serverを導入出来た。僕は無敵になった。

自分のPCで動いているVagooを見て、とても感動した。
ソースコードの中身はよく分からないが"Vagoo"と書かれていた文字列を書き換えるとゲームタイトルが変わる。
時間を設定していそうな数値を書き換えると索敵の待機時間が変わる。
予測して、書き換えて、結果を確認する。
この循環がとても楽しかった。
この過程で条件分岐や反復処理、HTML/CSSなど基礎的な知識は身についた。

冒頭に「プログラミングを始めたのは中学生の時」と書いたが、当時の私には「始めた」という感覚は無く、無意識でノートの端に描く落書きと似たような感覚だった。
良く描けた落書きは人に見せたくなる。
また必死に調べながら、ポートを開放して、DNSを設定して、Webサーバとして稼働させて、友人に「ぼくのつくったVagoo」を見せて遊んでいた。

遊んでいる最中、管理者画面へ入るパスワードがテキストファイルに記載されていて、ファイル名さえ知っていればアクセス出来る状態だということに気が付いた。
ファイルのパーミッションを設定すれば良いだけだが「本家はどうなっているんだろう」と思って覗いてみるとアクセス出来てしまった。ゲーム内にはユーザー間のDMみたいな機能もあり、管理者画面に入るとそれも含め全ユーザーの情報を見ることが出来る。倫理観なんて無かった僕は友人に「あの人とDMしてたでしょw」と得意げに話してしまった。怒られた。謝った後、運営者に脆弱性の報告をした。
注)この行為は不正アクセス禁止法により処罰の対象となります

そういった経緯もあり「Vagoo2」の開発フェーズでテストプレイヤーに選ばれるぐらい僕は主要メンバーになっていた。
年齢関係無く大人達の仲間に入れる。そんな、インターネット上で遊んだり創作したりする時間が、僕にとっての快楽となっていた。

創作欲を封印した話

高校は偏差値の低い地元の工業高校へ進学した。
どこでだったか忘れたが「ホームページ制作は云十万かかる」というのを見て、既にHTML/CSSぐらい書けるようになっていた僕は「ITは楽に稼げる」と思った。他教科の勉強は時間の無駄、ひたすらプログラミングの勉強をしたいと考え、受験勉強せずとも入れる、情報系の学科を選択した。

プログラミングを学びたくて入学した高校に、プログラミングが出来る生徒はいなかった。それどころか、殆どの人はパソコンすら触ったことがなかった。地方の工業高校なんてそんなものだ。
周りの友人達は夜通し遊びに興じていた。入学当初は時間を見つけては自宅でプログラミングをしていたが、次第にその行為を「恥ずかしい」と思うようになってきた。中学生の頃は「ゲーム」という共通の話題の中でプログラミングを行う事が出来たが、今はそれすら無い。何か作って見せても「遊びの誘いを断ってこんなもの作ってるなんて、気持ち悪い」と思われるかもしれない。そういった恐怖心から僕は創作意欲を心の奥に閉じ込めるようになっていった。

卒業研究

高校のプログラミングの授業は面白かった。ビット演算や論理演算などの基本的な内容だが、独学では中々踏み込まなかった所だったからだ。同級生からは「何故かプログラミングの授業だけ点数が良いやつ」と思われていた。
もっと勉強したいし、やっぱり何か作りたいという欲が常にあった高校生活だったので大学へ進学した。基本教科の勉強はろくにしていなかったのと、附属高校だった為、受験勉強せずとも入学できる同系列の大学へ行った。

高校へ進学した時と同じ志望動機で大学を選択すれば、当然ながら周囲の環境も変わらない。僕は浅はかだった。
案の定、何も出来ない(やらない)時間だけが過ぎるキャンパスライフだった。

中学生時代に遊んだブラウザゲームは個人でも改造出来るレベルのものだったが今はどうなっているのだろう、と流行っているパソコンゲームを調べてみた。MMORPGと出会ってしまった。3Dで描画された世界を好きなだけ駆け巡り、他者と協力したり対戦できたりする。
クリエイターとしての私は絶望した。クオリティが高過ぎて、とても一個人が足を踏み入れられる世界じゃない。
ゲーマーとしての興奮は凄かった。私は夢中になり、ゲームをしながらご飯を食べ、パソコンの前で寝て、起きて、また世界を駆け回る。所謂、廃人になった。

こう書くと私は進路を後悔しているように見えるかもしれないが、私は高校・大学ともに行って良かったと今でも思っている。遊び呆ける体験も思春期には必要な時間だ。
ずっと心の奥底に何かが引っかかっている。その程度の違和感があり続けた、というだけの話だ。

この違和感を解消できるチャンスは「卒業研究」だけだと思っていた。
私は地元よりも就職活動の時期が早い東京で、早々に職を決めた。プログラミングの仕事なら何でも良い。それより卒業研究に励みたいと思っていた。「研究」より「制作」に近い研究室を意識的に選んだ。
研究内容は「ゲームを作る」今の私にピッタリだった。
研究室には僕の他にも数人の同期がいたが、プログラミングが出来るのは僕だけだった。もう、この事象に違和感は持たなくなっていた。「企画やゲームの素材画像、論文等は全てやってくれ。代わりにプログラムは全部俺が書く」という役割分担にした。ひたすらプログラミングをしたかった私にとっても、これが一番良い分担だった。
半年間ぐらいだったと思う。朝から大学が施錠される23時まで、ひたすら研究室に籠ってプログラムを書いた。ずっと一人作業ではあったが、それは幸福な時間だった。
世の中はiPhoneの登場に沸き立っている時期だったが、私たちの研究内容はガラケーのゲームだった。
出来上がったものはとてもチープなゲームで、ダウンロードURLも公開したが、恐らく遊んだのは研究室のメンバーだけだろう。それも数分程度。
しかし、私は大学から推薦され電子情報通信学会の成績優秀賞を頂いた。推薦されれば必ず授与される「頑張ったで賞」みたいなものだが、そういった経験がなかった私には自信を与えてくれた。

新社会人

私は上京して社会人になった。
就職活動を早く切り上げたい一心で選んだ企業は、中小のシステムエンジニアリングサービス会社で、大企業の開発プロジェクトへ派遣されて常駐するタイプの仕事だ。
変わらず「何か作りたい」という漠然とした欲は持ち続けており、初任給でデスクトップ端末を買って開発環境を構築したが、何を作ればいいのか分からなくなっていた。
絵を描くスキルの無い私がゲームを作ったところで、卒業研究以上にチープなものが出来上がるだけだろう。それを自分だけ遊ぶ?そんな虚しい趣味には興じれない。絵を描ける友人に「ゲーム開発しないか」と話を持ち掛けたことは何度もある。しかし、その度になぁなぁで終わっていた。ゲームの素材作成というのもまた、熱量のいる作業だし、社会人になって数年程度の若手だと私生活に割ける時間も少ない時代だった。

仕事の方は割と順調だった。
中小だが一次請けの案件が主で、二次請け三次請けのパートナー会社を管理する仕事だった。若手の頃にプログラマーとしての経験を積み、次第にチームやプロジェクトのリーダーとして管理職の経験を積む。
私は保守案件のチームリーダーや、受託開発プロジェクトのNo2ポジション、オフショアという海外へ開発を委託する手法が流行った時期は中国の子会社へ赴任するなど、低学歴の私からすると派手な経歴が連なってきていた。
私の中にあった「何かを作りたい」という欲求は、仕事を進める上での自動化ツール作成に置き換わっていた。これなら私が作ったものを誰かに使ってもらえる。

代わりに、私生活は堕落しきっていた。
創作欲は仕事で満たされてしまい、今あるスキルだけで仕事が成立するので独習などする必要も無い。
スマホでソーシャルゲームをしたり、ギャンブルしたり、毎晩の様に酒を飲みに行ったりしていた。大抵の娯楽は身を削るレベルでハマった。

転職

仕事は順調だったが、違和感を感じていた。
プログラミングをしたくて就いた会社で、プログラミングをさせてもらえなくなっていたからだ。「開発をしたい」と意を唱えたこともある。しかし、なし崩し的に管理職になっていく未来が見えていた。自分の生産性を上げることより、大勢を管理出来るスキルを磨く方が売り上げ的にも有利なことは明白だった。
堕落していた私生活を矯正する為にも、私は転職して地元へ帰る決断をした。

それが現職の会社となるのだが、30歳を超えた今でもプログラマーとして働けている。
業種や会社の形態は前職と変わらない為、管理職になるべきという圧は感じるが、まぁ自由に働けるようになったと思う。

2018年某日

中学生の頃からの夢だった「プログラミングで飯を食う」は達成された。
しかし、それでも私の心にはモヤがかかっていた。
キャリアパスを見据え、やりたい事だけやる生活を求め、年収を100万下げてまで転職した。しかし、やりたくない事を拒絶し続けた結果、そこには出来る事しか残っていなかった。もちろん、技術の移り変わりがあるが、そこのキャッチアップも含め私には「作業」となっていた。中学生時代に抱いていた知的好奇心の煌めきを感じられなくなっていた。
余談だがこの年、私は結婚した。人生のターニングポイントを迎えたことで今後の人生を具体的にイメージし始め、上記の様なことを考えていた気もする。

東京にいた頃とは打って変わり、業務中にも暇が出来るぐらい余裕のある生活となっていた。
私はよく技術記事投稿サイトQiitaを眺めるようになっていた。とくに何かを調べるわけでもなく暇潰しだったのだが、徐々に引き込まれていった。
Qiitaはトラブルシューティングや技術の紹介記事ばかりと思っていたが、この年は「個人でサービス立ち上げてみた/アプリを作ってみた」系の記事が多かったのだ。

開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する
ポエムでも何でも書けるQiitaの様なサービスを作った
技術書ランキングサイトをQiita記事の集計から作ったら、約4000冊の技術本がいい感じに並んだ
もっと気軽にアウトプットできる技術ブログサービス「Qrunch(クランチ)」をリリースした【個人開発】
Qiita版TweetDeck!?カラム形式でQiita記事をウォッチできるクライアントサービス「QiitaDeck」をリリースしました!
Web未経験から100日でリリース!初心者が「お笑い情報のアグリゲーションサイト」をつくりました【個人開発】

上記の記事もほんの一部で、この個人開発ブームを分析するような記事も出ていた。

ワイの選ぶ2018年個人開発サイトBEST5
【比較してみた】みんなが使っている個人開発(Webサービス)向けPaaS・ホスティングサービス

またQiitaでは、年末に各テーマに沿った技術記事を毎日誰かが投稿するアドベントカレンダーという企画がある。
前年までの私は気にも止めてなかったのだが、クソアプリ Advent Calenderという、無駄に技術で遊ぶカレンダーの存在にも気が付いた。

創作欲を閉じ込め続けていた私は、どの記事を読んでも心が躍った。世の中には個人で開発を楽しんでる人が沢山いる。私は製作者達のファンとなり、日々の活動も追いたいと思ってTwitterアカウントを作った。
最初に交流を計ったのはQiitaのコメント欄だった。送信後は柄にもなく、相当舞い上がっていた。「失礼にあたらないか」「的外れな事言ってないか」などを気にして仕事に手が付かない。恋する乙女のような心模様だった。31歳のおっさんが。恐らく相手もおっさんだ。
返信で「とても参考になる」と返ってきて更に興奮した。その日の晩、帰宅して妻に意気揚々とこの話をしたことを覚えている。

ここまで来たら何もせずにはいられない。妻に「来年は個人開発を頑張りたい」と申し出た。仕事を辞めるわけではないが、その分家事が出来なくなる、というお願いだ。快諾してくれた。

今年の話

ここから先の話はQiitaやCrieitに記事を残しているのでそちらに任せようと思う。

フロント明るくないおじさんがWebアプリ作った話【悟空語ジェネレーター】
なぜ大喜利サービスを作ったのか
Nuxt.js+Firebase+GAEで作った個人サービスが半月で2万PV超えたので実績値を全て公開する
ギャザをドローするクソアプリを作りました

この一年間、とにかく、ひたすら、開発をしていた。
昼休憩や仕事終わりはもちろん、休日や長期休暇は出来るだけ予定を入れずに朝から晩まで開発していた。
流石にもう歳なので学生時代よりは疲弊する。しかし苦痛を感じたこと一度もなかった。楽しかった。これまでの人生で抱えていたストレスを発散するかのような一年だった。

中盤でも少し触れたが、私は私の人生を肯定している。個人開発には全ての経験が生きるからだ。出遅れた私は他の開発者の方々と、スキルや経験値の差を感じてばかりだが、それでも私にしか作れないものが必ずある。
今更、学歴に見合わない派手な経歴を増やそうとは考えていない。しかし、糧に出来ればそれが私の強みになる。過去も今年の経験も含めて発展させる、そんな経歴書を今後の人生で作っていきたい。

Originally published at note.com
ツイッターでシェア
みんなに共有、忘れないようにメモ

きんみ

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント