新卒エンジニアの入社して4ヶ月の現状

2018年9月3日ブログ, 雑談


Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 86

Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 105

はじめに

エンジニアとして、新卒入社してから早くも4ヶ月が経過しました。このタイミングで自分がどのように変わって何ができていないかをまとめていきたいと思います。

大学時代は、どのようなことをしていたのか

大学は、情報系の大学でしたので、unix系のコマンドや基本的なサーバーの仕組みついては、軽く知っていました。また、アルバイトを通して、データベースで数十万件程度のデータを扱うことをやっていたので、基本的なsql文の使い方等も多少は知っていました。
就活や発表の場でとにかくアピールができる成果物が欲しい!という思いから、小さめの掲示板を作っていました。簡単なログイン機能を持ちデータベースで該当するレコードが存在するかクエリを投げて、topページにリダイレクトするものを作っていました。
色々興味があり、触ってみたものの長続きがせず、力が付いたと実感できるほどできていませんでした。Ruby on rails が流行っているから、チュートリアルをただやるなど、現在のやる気や目的意識とは大きくかけ離れています。

入社してから~1ヶ月 (ほとんど研修)

技術やスキルに関すること以外の研修がほとんどでした。

入社してから ~2ヶ月

最初は、研修から始まりました。基本的なunixのコマンド, shell、サーバーの仕組み等は、知っていたので、いけそう!と思っていました。
しかし、いざ現場に配属されることになると自分の知らないことばかりでした。フレームワークもこれまでチュートリアル等しかやっておらず、また、チームでの開発も初めてということで、gitの使い方、プログラムを書く上での、変数やメソッドの命名規則、適切にコメントを書くことなどこれまでやってこなかったことに遭遇しました。

苦労したこと


特に困ったことが、gitの使い方です。よくわからず、gitのコマンドを実行していてエラーが起こって、なぜエラーが起こっているのかわからず、周りの人に聞いてしまうということがありました。
ファイルの変更履歴を管理するために、必要なことだということで、時間を作って、一つ一つのコマンドの意味、gitの仕組み、やっていることを調べました。意味を考えながら、コマンドの実行をすることで徐々に慣れてきて、スムーズにできるようになりました。

たくさんのコードレビューを受けました。

他の人が見て、変数やメソッド名をみて、何を行っているのかがわかりにくい。無駄に変数を作りすぎている。必要のない処理を書いてしまったなど様々なレビューを受けました。
一つ一つ修正を行い、次からはレビューの数を減らそうと思いながら開発を進めてきました。

入社してから~3ヶ月

基本的な表示の部分が終わり、自分で新しくページを作成することやデータベースから取ってくることも増えてきました。
今までは、データが取ってこれれば良いと考えていましたが、レコード数も多く、SQL文のチューニングが必要になりました。今まで、パファーマンスに関しては意識してこなかったことでしたので苦労しました。
データを取ってくるために、範囲を絞り込む、インデックスが適切に効いているか、データを取ってくるロジックを考えました。

入社してから~4ヶ月

新しいフレームワーク(laravel)や技術を使うようになり、何もできない状態に戻ってしまいました。家に帰ってからその技術について勉強する時間を増えやすようになり、基本的なビューやコントローラでの処理について使えるようになりました。
また、大規模なタスクをもらえるようになり、より自分で開発できる部分が増えたので、データベースのテーブル作成なども、laravel上でできるようになりました。まだ、laravelでのエラー解決がなれていないので、時間がかかってしまうことが多いです。

この4ヶ月の間に学んだこと

  • チームでの開発する上で必要な、規則や積極的にやっておくこと
  • gitでのファイルの管理の方法
  • データベースでの、テーブル作成や必要なカラムに決め方
  • フレームワークでの、データの流れ

この4ヶ月の間にかわったこと

  • 自分が書いたコードに対する責任
  • 他の人が読みやすいコードでの開発
  • 勉強をして必要なスキルを身に付けたいという意欲
  • 作業を効率よくするための環境構築が必要
  • もっと大きなタスクをやりたいという思い

これから

エンジニア生活が始まって、まだわずかですが、知識やスキル等も4ヶ月の間でかなり学べたと思います。しかし、まだまだ自分の知らない知識や技術もたくさんあるので、勉強する時間をしっかり取っていきたいです。また、自分が知ったことや疑問に思ったことをメモとしてこのブログに毎日残していくことができればと思っています。