こんにちは!じゅん(@BoNingennnN)です。
2018年ももう終わろうとしています。
私にとって2018年はかなり変動のあった一年でした。
2017年の夏にニートになってプログラミングの勉強を独学で始めたのですが、
2018年は年の初頭にWebサービスを5,6本リリースし、その後東京でエンジニアの職を探し、6月からWebエンジニアとして働き始めました。
そして未経験エンジニアとして働き始めて早くも半年が経過しました!
この半年は本当に色々なことを学び、毎日本当に充実してました。
せっかくなので、ニートからエンジニアとなって半年間のことを色々振り返ってみたいと思います!
会社に入って驚いた事
私は受託開発の会社にエンジニアとして入社しました。
入社した会社は新宿にある小さな会社です。
会社に入って驚くことが数え切れないぐらいあったのですが、まず一番最初に驚いたのがいきなりプロジェクトを任せてもらったことです。
うちの会社では基本的に一人でプロジェクトをまわします。(チームで開発しているものもありますが。)
お客さんとのミーティングはもちろん、設計から実装まで基本的には全て一人で行います。
また、最初の頃は会社の人も今より少なく、一人で複数のプロジェクトを担当させてもらえました。
たとえニート期間に10ヶ月ガムシャラにプログラミングを独学してきたとはいえ、まさかいきなり色々任せてもらえるとは思ってもいなかったのでこれに関しては嬉しい驚きでした。
また、働きかたもとても自由で、昼間に出社してもちゃんと仕事の結果を残していれば何も言われません。
仕事中もゲームをしている人がいますし、働き方の自由さという面でも非常に驚きました。
これは多分特殊な例だとは思いますが、やはりエンジニアの多い会社は比較的自由な会社が多いのではないのかな、と思います。
私自身朝が非常に弱く、またゲームも好きなので今の環境は最高です!笑
エンジニアとしての仕事内容
先ほども少し書きましたが、基本的にプロジェクトは一人で担当するので、仕事内容としてはかなり幅広くやらせてもらえています。
お客さんとのミーティングをして、要望を聞いて、それを実際にシステムにどのように落とし込むのか考え、DBを設計し、実際にバックエンドをゴリゴリ書いていき、フロントエンドもゴリゴリ書いていきます。
ただ、要件などは一度決めたら固定ではなく、かなりフレキシブルに変わっていきます。
なのでコードを書いていく中でやっぱりDBの設計こうした方がいいな、ということがあればもちろんどんどん変更をしていきます。
会社としては「スピード」をかなり重視している気がするので、私自身もそこにはかなりこだわりをもって日々仕事をしています。
具体的に私がこれまで触らせてもらったプロジェクトは4つほどで、
1つはとある企業の顧客管理システムの開発。
もう1つが車関連のプロジェクト(これは2つのサービス)。
もう1つが関西の某テーマパークのイベントのアプリのAPI。
そして今担当しているのがシャドウバースやハースストーンのようなオンラインカードゲーム。
(これらにプラスしてちょこちょこと他の物にも触っています。)
かなり色々なプロジェクトを短期間で触っています。
基本的にどれもRubyを使って開発しています。
フロントエンドは会社に入ってからどうにかVue.jsを多少は使えるようになってきたので、ここぞという場面(動きが多かったり、状態の管理が難しいような場面)ではVue.jsを使っています。
サーバーはVPSを使ったりAWSを使ったりしています。
ここに関してはまだ自分自身弱いので、会社の社長に助けてもらいながらやっている感じです。
ここも早く自分一人でできるように今後はもっと知識をつけていきたいです。
個人的には今担当しているオンラインカードゲームのサービスが一番やりがいを感じています。
サイト内課金の実装、カード販売の実装などは比較的簡単にできましたが(とはいえ色々失敗をしました)、今ちょうどゲーム部分を実装しているのですがこれが自分にとってはかなりチャレンジングな内容です。
オンラインでユーザー同士が対戦するカードゲームを作るなんて、半年前には思いもよりませんでした。
エンジニアになる前だったらどうやって作ったらいいか途方にくれていたと思います。
と言っても、今もかなり途方にくれながら模索しながら必死に作っている感じです。笑
そもそもオンラインでユーザー同士をどうやって繋ぐのか、マッチングはどうするのかと言ったところも初体験でしたし、カードゲームのバックエンドの実装はかなり難しいです。
全てのカードの効果の実装はもちろんですが、ユーザーの不正が行われないようにかなり色々なことを考えながら実装を進めていく必要があります。
正直最初は無理だろと思いましたが、毎日色々考えて、暇な時間に色々本を読んだりして、家でもずっと仕事のことを考えていたらどうにか少しずつ形になってきました。
Nosqlを使うのも個人的には初めてですし、色々学べることが多いです!
こんな感じで日々エンジニアとして働いています。
最近は会社に新しい人も増えてきて、自分自身が質問に答えたりするときもたまにあります。
もっともっと力をつけて、後輩の助けにもなりたいですし、会社のためにもなりたいです。
それと同時にもっと個人開発の方も頑張りたいです!笑
この半年、最初の頃は多少時間に余裕があったので個人開発を進められていましたが、二ヶ月目ぐらいから徐々に忙しくなり、その後はほとんど個人開発の時間を取れませんでした。
個人的にはVRにすごく興味があるので、もっとそっちのことも色々学んでいきたいです。
忙しくなってからは、普通の会社が休みである日も出社して働いたりしています。
基本会社は楽しい場所なのでまったく苦ではありません。
友達と呼べるような人ばかりが働いているので、日々楽しく開発できるのは本当にラッキーだと思っています。
技術も身につきますし、ニート時代とは違ってプログラミングをすることでお金も貰えます!笑
こんなに幸せなことはありません!笑
ボーナスも貰え、金銭的にも未経験エンジニアとしては比較的恵まれている気がします。
(MacbookProやVR開発用のPCを買うつもりなのですぐ無くなりますが。笑)
エンジニアとして働き始めて、本当に色々得られています。
(ちなみに平日にも普通に休めます。固定の休みの日という概念がない自由な会社です。笑)
しかし、その一方で失っているものも結構あります。笑
まず自分の時間がほとんど無くなりました。基本仕事仕事仕事で、会社を休む日も家で仕事をしたり、難しい実装のところをどうしたらいいのかをずっと考えたりしています。
ほぼ毎日コードの夢をみて夜中に起きます。1日に2、3回見ることもあります。
もちろんそれでハッとひらめくこともありますが、基本的には夜中なんども目がさめるのでこれは苦痛です。笑
また、家賃を滞納してしまったり、ガスを止められたり、電気を解約されたり、鍵を一日中扉にさしっぱなしにしたまま外出してしまったり、免許の更新を忘れたり、友達との約束を忘れて怒られたり等、あまりよろしくないこともおきています。
(ただこれは昔からそうなので、忙しさとは関係ないかもしれません。笑)
こんな感じで色々得ながら、そして色々失いながら生活をしています!
今私は20代後半で、どうにか体力はまだある方(?)だと思うのでどうにかなっていますが、今の生活がずっと続くと死んじゃうと思うので、徐々にうまく時間をコントロールできるようになっていきたいです。
しかし、今は何よりも仕事が楽しいですし、少しでも早く色々技術を身につけたいという思いの方が強いです! なので今の環境は本当にありがたいです。
色々任せてもらっている分責任は大きくなりますが、その分成長する機会があると思いますし、そのような機会を与えてくれているのでちゃんと結果で答えたいです。
また、以前ツイッターでも書きましたが、エンジニアは仕事でやること全てが自分の中に蓄積されていきます。これはエンジニアという職業の素晴らしいところだと思います。
ものをゼロから作ることができて、かつその経験がどんどん自分の中にたまっていく。
最高の職業だと個人的には思っています!笑
色々長々と書きましたが、これがニートからエンジニアとして働き始めて半年間の経過(?)です。
次の半年ももっとアクセル踏んで、色々学びたいですし、色々作っていきたいです!
やっぱりエンジニアとしての楽しさは動くものを自分自身の手で作るところにあると思うので、この楽しさはこれからもいっぱい味わいたいです!
春にOculus Quest(VRのヘッドセット)が発売されますが、それまでにVR開発の勉強も進めていけたらいいです。
でもまずは今担当しているゲームを早くリリースしたいです!
新年もどうぞよろしくお願いします!