Livesense Advent Calendar 2020 も折り返しとなりました。13日目を担当する @verdy89 と申します。今年の4月に新卒で株式会社リブセンスに入社し、研修期間を経て現在は転職ナビの開発に携わっています。
本記事では、Web系の開発経験がない状態からスタートした今年の歩みを振り返ってみようと思います。これから未経験でエンジニア就活をしようとしている学生の皆さんや、未経験エンジニアの受け入れをしようと考えている現場の方などの参考になると嬉しいです。
入社時の技術力
前提として、入社時に僕がどれくらいの技術力を持っていたか振り返ります。
- プログラミング経験自体はあり、 AtCoder でいう茶〜緑くらいの実装はできる。
- 簡単なアプリケーションだったらとりあえず動くものを作ることができる。就活は GAS で作ったリマインダーツール1本で乗り切りました。
- git はブランチとかあんまりよくわからないので、個人用レポジトリの master ブランチに直列で commit し続ける程度。インターンを除けばチーム開発する機会なんてまずないし、大して複雑なものを作っているわけでもないのでこれで十分事足りたんですよね。
- MVC とか聞いたことあるけど、全然わからん。
こんなんでよく採用してもらえたなあと自分でも思いますが笑。経験がなくてもある程度の適性があれば内定も夢じゃないのは新卒の特権ですね。就活については今回のトピックではないので割愛。
入社してから今までに学んだこと
技術領域
技術領域としてはこんな感じです。記載順と学習順は一致しません。
- Webの仕組み
- 読みやすいコードの書き方
- コマンドライン
- オブジェクト指向・デザインパターン
- git
- html
- CSS / SCSS
- JavaScript
- TypeScript
- React
- Ruby
- Ruby on Rails
- PHP / Symfony
- DB設計 / MySQL
座学に割く時間が大部分をしめていましたが、最近は簡単なチケットなら自力で消化できるようになってきました。
エンジニアとしての学び
ここからは今年得た学びをピックアップしてお伝えします。
図で理解する
新しい概念が出てきたら、図で理解することを重視しましょう。文章から得て頭に蓄積される情報の量には限りがあるので、図で整理することで複数の概念の関連を理解することができます。例えば Rails (ひいては MVC を採用しているフレームワーク)で作られたアプリケーションの改修について考えるときは、僕の頭の中には Rails チュートリアルのこの図が浮かんでいます。
事実と解釈を区別する
ドキュメントやエラーメッセージを読む習慣がついたら、事実と解釈の区別を意識してみましょう。「ドキュメントにはこう書いてある」という事実と「それを読んで自分はこう考えた」という解釈、「エラーメッセージはこう言っている」という事実と「原因はここだろうと考えた」という解釈を区別するのです。何かしらハマる箇所があるということは事実と解釈にズレがあるということだという認識ができると、自分の解釈が本当に正しいか、批判的に検証することができます。
わかる部分とわからない部分を切り分ける
わからない点を先輩に訊くと、先輩はおもむろに「このコマンド叩いてみて」とか言うんですよね。そしてそのコマンドを脳死で叩くと確かになぜか動く。「何をやったのかさっぱりわからないがなぜか解決した」ということって初心者あるあるだと思うのですが、その際に今目の前で何があったのかを理解するためには、わかる部分とわからない部分を切り分けて質問することが大切です。この切り分けが自力でできると、疑問の解消が効率的に行われるようになり、いわゆる成長角度が上がっていくはずです。
会社員としての学び
多少蛇足になりますが、エンジニアというより会社員として得た学びについてもいくつかお伝えします。
会社のリソースを使い倒す
せっかく会社に所属しているのだから、リソースは使い倒しましょう。環境は与えられるものではなくて手に入れるものです。
新卒の責務を考える
スキル面では使い物にならない新卒を企業がわざわざ採用する意図を考えてみましょう。そうすると我々新卒がやらなければならないことが自ずと見えてくると思います。
今後の課題
学びが多い1年であったことは疑いようもないのですが、とはいえまだまだエンジニアとしてのキャリアを歩み始めたばかりなのも確かです。来たる2021年に向けて、課題を簡単に整理します。
- 1人で黙々と勉強しがち。手を動かしたり、コードレビューをもらったりする量を増やす。
- 会社にいるとそれだけでやることがたくさんあって、世界は会社の外に広がっていることを忘れがち。
- 定期的に発信したり、質問したり回答したりすることで技術に触れる時間を増やしたい。
最後に
Web系の開発経験がない状態で入社し、1年弱働く中で学んだことの整理をしてきました。弊社に在籍するエンジニア約100人の中で自分が明らかに一番わかっていないという状況はしんどい面もありますが、引き続き着実に進んでいきたいと思います。
最後に課題として述べた通り、2021年は技術に触れる時間を増やしていきたいと考えています。インプット・アウトプットの記録を垂れ流すTwitterアカウントを作りましたので、応援していただければ幸いです。
お読みいただきありがとうございました。引き続き Livesense Advent Calendar 2020 をお楽しみください!