みなさん、ご機嫌いかがでしょうか。元土産屋です。
私が修行を開始してから約1年が経過しましたので、この1年間についての所感などをまとめてみました。
思い返すと1年前の今頃は、まだ前職に在職しながら修行させてもらっていました。
前職ではPCを使うといってもメールの送受信や、エクセル・ワードで簡単な資料を作成する程度のものだったので、
まさか自分でサーバを立ち上げたり、APIを作成できるようになるなど想像もしていませんでした。
修行の入門用カリキュラムを終えてからは、ゲームを開発する一連の業務を学ばせて貰っています。
私が幼かった頃のゲームといえば、ネットにはつながっておらず、ソフトを買ってきてプレイするような形がほとんどでしたが、
昨今のゲームはスマホやPCでプレイするものも多く、オンラインが当たり前です。
ですのでゲームをリリースして終わりではなく、作品をより良くしていくためにリリース後もアップデートやメンテナンスなどが行われます。
リリース後に行われる作業の一例として、
・新しい機能追加のAPI作成
・サーバへのデプロイ
・新イベントの負荷テスト準備
・ターミナルでログの調査
等々があり、これらの業務を経験させてもらっています。
プログラマーといってもコードを書くだけではなく、様々な業務があるのだなと実感しております。
修行をやってきて成長したこととしては、様々なAPIの作成を経験させてもらうことによって、
仕様書などの資料からどのようなコードを書けば良いのか、
またどんなデータベースが必要なのかがざっくりイメージ出来るようになってきたことでしょうか。
修行の初期の頃はAPIの作成に当たって、
具体的にどんな処理のコードを書けばよいか細かく指示をいただいていたのですが、徐々に
1.自分で仕様書を見る
↓
2.処理概要やどんなデータベースが必要か考える
↓
3.メンターの方にレビューしてもらう
↓
4.処理概要を手直しして、オッケーもらう
↓
5.コードを書く
↓
6.メンターの方にレビューしてもらう
↓
7.コードを手直しして、オッケーもらう
↓
8.完了
という流れでAPIを作っていくようになってきました。
コードについて、自分の中では「完璧だ!」と思ってレビューしてもらうと全然そんなことはなく、
より効率的な処理の仕方や、他人が見てもわかりやすい書き方を学ぶことが出来ます。
今はまだレビューのオッケーが一回で出ることはほぼなく、何度も手直しをしなければならないのですが、
いずれは一回でオッケーを貰えることを目指して勉強しています。
また、API作成などの開発業務を進めていく中で、プログラミング言語という知識を覚えることももちろん大切ですが、
仕様書を読み解く力や、その読み解いた内容を分かりやすく自分の言葉で伝える能力も同じように大切だなと強く思うようになってきました。
自分なりにこうだろうと解釈してコードを書いても、仕様書の意図する内容と全然違っていたりすることもあり、
こんな機能にしたいと仕様を考えた側と、それを読み解く側での解釈を合致させることが重要だなと感じています。
当たり前の話ですが、新しい業務を経験させてもらえばもらうほど、新たに分からないことが増えていくので、
それらを調べながら何とか業務を進めていく日々を過ごしています。
分からない単語があってそれを検索すると、さらに分からない単語で説明されていて、途方に暮れそうになることもありますが、
その時は諸先輩方にお力添えをいただき、自分が出来ることを増やして、早く戦力となれるようこれからも邁進していく所存です。