はじめに
自分は文学部英文学科卒業という文系の中の文系でした。大学では、英文学について学んでいて、イギリス小説やアメリカ小説、英語の意味論や音声学などについても学んでいました。英語を学ぼうと思ったのは、中学生の時から英語が得意で英語が好きだったからです。高校生の時には3ヵ月ほどアメリカに留学に行っていました。
そんな自分が新卒でSIerの企業に入って、客先常駐を経験した後に会社の新規開発に携わっていました。大学で学んでいた内容とはかなり離れている内容だと自分でも思います。なぜ、エンジニアになろうと思ったのか、どこでプログラミングに触れたのかなどを書いてみようと思います。
始めてプログラミングに触れる
自分が大学2年生の頃(2013年頃)、自分は知識欲が多かった方だと思います。文学部に入ったにもかかわらず、様々な教養講義を受けていました。法学や、数学も好きだったので数学の授業も受けていました。色々な授業を用意していた大学に感謝です。
そんな中、あったのが「情報科学」という授業でした。講義のレジュメを見たら、どうやらCという言語を勉強する授業だということを知りました。当時、タッチタイピングなどができるぐらいで一般人より少しパソコンが出来るぐらいだった自分は、プログラミングのある種の「カッコよさ」に魅かれて受講をしたと思います。
当時、プログラミングといえば映画やドラマなどで、ハッカーたちが黒い画面を前にして、カタカタとキーボードを打つ姿、3つぐらいのディスプレイがあって、その中には数十を超えるウィンドウが開かれ、各々の画面に高速で文字が走っているようなイメージしかありませんでした。そして、プログラミングといえばゲームを作れるというイメージがありました。
そして、実際に授業を受けてみると、Cを基礎を学ぶ講義でした。例えば、コマンドプロンプトからHello Worldと出力したり、if文で分岐させたりという、簡単なものでした。ですが、当時文学部でまったくの門外漢だった自分にはとても難しいものでした。
まず、目的がわかりませんでした。こんな黒い画面に文字を出力させたり、条件分岐させたりして、何になるんだ?何を作れるんだ?と。ですが、教授が出してくれた課題をノートに書いていく内に、解決策を考えるのがパズルを解くようで楽しくなってきました。そのうち、図書館へ通ってプログラミングの本を読み漁り、自分で学習をしていくようになります。わからないところは、授業後に教授に聞きにいったりしました。おそらくあの授業の中で自分は1, 2を争うほど熱心な学生だと思われていたと思います。
Javaでゲームを作る
その授業は一年で終わり、Cについての基礎的な知識を身に着けた自分はさらに学びたいと思い、独学で学習します。図書館で目ぼしい本を借りて、自宅で写経などをしていました。ポインタなども学習しましたが、学習には目的を持ってやらないとなかなか意欲が持ちませんでした。その時、「ゲームを作る事」という目的を自分の中で設定しました。
その頃、自分はプログラミング=ゲームを作れるという安直な等式ができていました。また、小説などで物語を作りたいと思っていた自分は、ゲームという形でそれを実現したいと思ったのです。
Cでゲームを作ろうと思いましたが、そこは茨の道でした。「猫でもわかるゲームプログラミング」という本を買い読んでみましたが、そこに書いてあるのはまさに暗号でした。ただ写経をするだけじゃ身に付かないと思った自分はそれを一生懸命覚えようとするのですが、ウィンドウを作るだけでも100行を超え、とても覚えられる代物じゃありませんでした。そこで、別の言語で作ってみようと思い始めました。
当時、いろいろ言語を見てみました。Webで作るなどという発想は全く湧きませんでした。自分は文系の学生で、周りにプログラミングをやっている友達もいず、情報感度が非常に乏しかったのです。なので、Rubyなどのスクリプト言語などは全く知りもしませんでした。そんな中で出会ったのが、Javaでした。
他にもC++やC#などの言語はみたのですが、Javaは何でもこなせる万能型の言語だということをどこかで目にして、Javaを勉強することにしました。汎用性が高ければ、他の言語を学ぶときにも障害が少なくて済むだろうという思いもありました。そして、今思えば当時Javaを勉強しておいてよかった、と心から思えます。
四苦八苦しながらもオブジェクト指向とは、クラスとは、オブジェクトとはという事を一通り学び、サイトを参考にゲームを作り始めます。JFrameを拡張して作っていました。当時、ブログでJavaでゲームを作る記事があり、それを参考に一通り作りました。じゃんけんゲームから始まり、テトリスや、ブロック崩し、RPGです。
エンジニアになりたいと思う
Javaを触り、自分はプログラミングの楽しさに目覚めました。自分が思っていること、心の中に思い描いていることがプログラミングの力で現実化するというのは、自分の世界を作っているようで、想像力が駆り立てられました。何でも作れるような気分がしてきて、わくわくしました。もちろん、パズルを解いてゆくような面白さもあり、一瞬でプログラミングの虜になっていったのです。
話は少し変わりますが、当時自分はある渋谷にあるIT企業でアルバイトをしていました。そのIT企業では、家庭教師の派遣や映像授業の提供などをしていました。そこで、自分は社員の方のアシスタントの事務作業や、映像授業のディレクターなどを行っていました。また、撮影した映像の編集をマッキントッシュのFinal Cut Proで行っていました。ディレクターといっても、カメラの録音ボタンを押すぐらいのものですが。
そこで、自分がプログラミングをしているという長所を活かして、教育系のゲームを作ってみました。漢字が出てきて、その読み仮名を答えるだけの簡単なゲームでした。それを当時の仲の良かった社員さんやアルバイト仲間に見せまして、思ったより反応が良かったです。皆が和気藹々とゲームをやって、盛り上がっているのを見て、自分が作ったもので場を楽しくできるのが嬉しかったのです。そこから、自分はエンジニア、それもゲームを作りたいと思うようになったのです。
Webエンジニアになる
そして、大学4年になり、ゲームを作りたいと思っていた自分は、ゲームを制作している企業を受けます。しかし、それは惨憺たる結果でした。文系で独学で勉強していた自分と大学や、専門学校でゲームを作ることを学んでいた人との間には大きな開きがありました。さらに、もともと口下手で面接など得意でもなかった自分は、受けた企業にお祈りをされる毎日でした。若干自暴自棄になった時期もありました。
そこで、最終的に受けたのが今の会社です。ここから、自分のWebエンジニアとしてのキャリアがスタートしました。その企業では、ゲームも作っていて、ゲームを作れるのかと意気込んでいたら、研修ではPHPを教えられ、そこで初めてプログラミングでWebサイトも構築ができることを知りました。
研修はCakePHPで、簡単なCRUDを備えたWebサイトを構築する事が課題でした。研修でやってみて正直に言うとなかなか面白いものでした。日々、新しい事を勉強することが楽しく、新鮮でした。そこで、Javaを勉強していたのが非常に生きてきました。そこから、自分のしたいことは、徐々にゲームからWebサイトにシフトしていきました。
理由は、Webサイトの可能性に魅かれたということかもしれません。Webサイトはパソコンでインターネットにつながっていれば誰でも利用することができます。そして、公開する側も誰でも公開することができます。そのようなWebサイトでは、誰もが世の中を革新するような新しいサービスを構築することができる。そう考え、自分もそのようなサービスを構築したいと思い始めました。根源的には、ゲームを作りたいと思った時のように、世の中を楽しくしたいという思いがあったのかもしれません。
おわりに
自分のエンジニアになりたいと思ったきっかけは、ゲームを作りたいからでした。そして、その後、Web系のSIer企業に就職し、Webサイトの構築がしたいと思いました。Webの力で世の中を生きやすく楽しくしたいと思ってます。現在でも、新しいサービスなどを思いついたら携帯にメモして、機能の洗い出しなどをやっています。まだまだ、非常に未熟ですが、学習意欲は非常に高いです。
就職してから、客先常駐をし、色々ありましたが、結果的に今のエンジニアを選んでよかったなと思います。何よりも、自分のスキルが上がっていくという感覚、そしてこれほどまでに嬉々として仕事に臨める職業というのも少ないのかなと感じます。当時、未経験で、ボンクラだった自分を雇ってくれたSIerの企業に深く感謝します。
長くなってしまいましたが、読んで頂きありがとうございました。また、時間があれば、客先常駐での話も書いてみたいと思います。