描いてる人の特徴
- 某プログラミングスクール卒の27歳。受託企業
- ポートフォリオはRailsで一部react使用。
- 最初の1ヶ月はRailsのみの案件、そして最近までRails+Reactで開発。
入社して3ヶ月経ちました
入社が9月で研修という研修をせずそのまま現場にぶち込まれました。周りはみんな優しい方々だったのでめちゃくちゃ聞き回りました。そのおかげで自分が担当した実装部分は無事に完了し、リリースまで持っていけました。
特にこの3ヶ月でBEとFEを触らせてもらったことは本当に幸運でしかも基礎的なCRUDの部分だったので基礎の基礎をやらせてもらって本当に感謝しています。しかし、この3ヶ月でどれだけ自分のレベルが低いか(多分レベル1未満)実感したのでこれからはもっと勉強しないとなって感じました。
そこで3ヶ月の反省というかこれ実務前にやっとけばよかったってことを過去の入社前に遊び尽くしていた自分への断罪として、これからの自分の勉強方針がぶれないように残しておきたいと思います。
1.クラスとインスタンスの違いについて
これは最初の現場でマジでキツく言われたことです。RailsのBEの実装をしていた時に以下のようなコードを書いていました
def self.hoge
特にコントローラで以上のようなクラスメソッドを連発して作ってました。当時はファットコントローラはいけないからserviceクラスを作ってコントローラの処理分けをしようと考えて作ってたのですが、コントローラのインスタンスの渡し方がわからず、作成したserviceクラスにクラスメソッドを無理やり書いてコントローラ側でそのクラスを直接呼ぶみたいなことをしていました。
しかしそれでは記述量も多くなり、何より使い回しが聞きづらいものになってしまうってことに気づきました。
self.hogeで定義したものを再利用したいときはまた別の定義でself.hoge書かないといけないのは本当にやりづらいって思いながら実装していたので案の定注意されました。
ぶっちゃけまだクラスとインスタンスの違いはわかってるけど実際に使い分けられるかというとすごい怪しいのでこれは次からの実装でも気をつけたいと強く思いました。
2.JavaScriptの学習不足
何故か2ヶ月目からReactのFEも実装することになりました。これが一番きつかったかもしれません。結局Reactもfunctionみたいなの使うし、buttonやinputもJSで学習するっちゃ学習するのでそのキャッチアップから始める必要があったので本当に勉強しとけばよかったと思います。引数の渡し方やconst等、Railsだけをやり続けても書き方がまるで違うのでそういったキャッチアップも進めて行かなければと思いました。
JSと書き方が似てる(参考になる程度だけど)のでFE触りたいって少しでも思ってるなら早めにJSに慣れておけばよかったと感じています。
3. Dockerの知識、実践経験
これはマストです。buildとupの違い、コンテナ、イメージ、ボリューム、キャッシュ、下手したらRailsの知識より大切かもしれません。特によくあったのが何故かFEかBEのどっちかが起動しなくなるトラブルでした。原因はサーバーの通信ミスっぽいんですが、コンテナのログでエラーが走ってたのでクローンし直してことなきをえました。
しかし、dockerは開発環境で必ず通る道なので覚えといて間違い無いです。てか自分もこれ最優先に勉強します。
終わりに
怒涛の3ヶ月でしたが理解できる範囲やできることが増えたのは確かです。やはりどんなに書籍や情報をインプットしても数個実装すれば50%くらいは慣れで実装できるのでそういう意味で自分で色々作ることをメインでこれからも取り組んでいきたいと思います。
あとは技術もそうだがやはり人との関わり方だけは常に腰低くを心がけていきたいと思います。
コミュ力あればなんとかなるって実感したのは秘密です。