これまでとこれから

振り返り

Web業界に入って3年と数か月が経とうとしている。

Web Corder として、主に HTML/CSS、時に JavaScript/PHP を扱ってきた。

今まで、自分の事を Webプログラマ と思えた事はなかった。ただ、プログラマになりたくて、ここまで走ってきた。しかし、プログラマへの入口として、これらの技術と出会えた事をとても幸せに思っている。

理由は、コードを書くことが苦しくも楽しく思えたことと、日進月歩するWeb技術を追い、それらを扱って何かのプロダクトに貢献することに達成感を感じることが出来たから。自分を尊敬出来るようになるための要素の一つ、という理由もあるかもしれない。それらに多く救われて、今がある気がする。

そんなこんなで今は、ひよっこバックエンドだが C# と出会い、ようやくプログラマらしくなってきたなと思えるようになれた。

4ヵ月走ってみて

バックエンドとして走り始め、4ヵ月になる。

もともとは、JavaScript が少し書ける程度。JavaScriptは大好きだ。しかし、C# と出会って、今までより目の前がパッと明るくなり始めた気がする。基礎的なことなのだが、学んだこと/身に付けたことを下記に書いてみる。

コードを読み書きする力がついたこと

まず、メソッドの戻り値や引数に目が行くようになった。さらに型があることは、それらのメソッドが何をするべくして作られたのかを理解する手助けになる。また、メソッドや引数をどのように追加すれば良いかというコツも掴むことができるようになった。

MVCの概念が分かるようになったこと

Model, View, Controllerに基づいた、処理の繋がり方を理解できるようになった。

クエリコストを考えながら書けるようになったこと

LINQの強力さ、便利さを知り、DBから値を引っ張ってくるにしても、何回も取得しないよう考えて書くようになれた。また、DBのテーブル構造やSQLクエリも基本的なところは抑えられた。適切に Index を貼り、パフォーマンスを向上させることも覚えた。

ステップ実行で処理の流れを理解できるようになったこと

デバッグする際に、ステップ実行やブレークポイントを貼ることを覚えた。それに伴い、処理の流れや値の出所を理解することができるようになれた。イミディエイトウィンドウやコンソールアプリケーションもぼちぼち使っている。

テストを書くこと、レビューをしてもらうこと

テストを書くことで言語仕様も理解でき、品質も担保できる。テストはサービスをよりよくするためのプロセスの一つ。pullreqレビューをしてもらうことで自分の書いたコードの悪い部分に気付き、知見を得ることが出来た。

問題の解決方法とその考え方をエンジニア視点で伝えること

実現したい内容と実装のかい離がないか、正しい問題にフォーカスしているかなどなどを考え、伝えることをより意識出来るようになった。

アウトプットするということ

「量は質に転化する、量によって質が磨かれる」。また、社内エンジニア色強めなので、アウトプットすることで、いろいろな知見を得ることが出来る。理解し合い、認識を擦り合わせることが出来る。時に自分主体となり、責任を持ってプロダクトをより良きものにすることができる。

今後

Webの技術が好きで、フロントが好きで、でも今は C# も大好きだ。

お世話になった、お世話になっている先輩方や一緒に開発した仲間には本当に感謝しかない。最初こそくじけなかったのは、優しくも厳しく教え支えてもらえたからだと思う。

今後は、フロントとバックエンドが出来るようになりたい。今今はバックエンドが出来るように。フロントは、例え業務で扱わなくなったとしても、常に追っていると思うし、追い方も分かっているつもりだ(今は TypeScript を扱っている)。

デザイン(*ツール)はコーディングするに当たって困らない程度には扱えるのだけれど、もう少し踏み込みたい。UI/UXに関する記事や Material Design のようなデザインガイドラインも読んでいるが、実践して知見を積みたい。直近、2年後には、リードを目標に頑張りたい。

*PS/AI/FW