LoginSignup
3
2

More than 3 years have passed since last update.

新卒エンジニアの成長tips(6個)

Last updated at Posted at 2019-12-23

新卒エンジニアとして入社して8~9ヶ月経過して、rubyなら少しは慣れたような気がしたので、今の気持ち(ポエム)を書こうかなと思い立ちました😳

以下のような新卒エンジニア向けの記事です!
・本格的な中〜大規模のrailsは初めてで
・エンジニアインターンでGitの使い方を知っていて
・railsを少し触った事があって
・国籍がコロンビアである🇨🇴

以下に限ったことではないのですが、僕の中で実践して良かったなと思った事だけなので🚷

これはrubyに関するtipsがメインです

メソッド名をググらない

method名すぐ忘れますよね
methods.grep()を使うと良いと思いました!

> Date.today.methods.grep /begin.*day/
=> [:beginning_of_day, :at_beginning_of_day] 

rspecを書く

特に大事なのはrspecを一番書ける人と仲良くなって、rspecの書き方を教えてもらった事です!
初めてのrpsecは書き方のイメージがつかないので、とりあえず書いてレビューしてもらおう😈
結果的に仕様を再確認したり、自分のコードのバグを見つけられます!

Better Specs は初めて読むと何とも思わないけど、色々と自分で書いたら、意味がわかったし、学びもあった!

次のステップとして、rspecのレビューをするがあると思います。
スラスラ書けても、スラスラレビューできないのがrspecなんだなと思いました!
(書き方が色々あったり、裏技があったり、ややこしいんですよね😒)

同じ実装を個人開発でも作ってみる

会社の技術をコピペしろということではなく、同じ機能を自分で実装するのです。
結果と手順は知っているので、調べながら、どうしてもわからない場合は出勤した時にコードを少し読んで、どんなライブラリを使っているのか確認しましょう😎
僕はこれでrescueの仕組みや、DeviseTokenAuthの仕組みを勉強しました!

0→1にフェーズでしか実装しない(その後、改修されない)仕組みは自分から学ぼうとしないと、わからないので、大事だと思いました!

gemのソースコードを読む

rubyのgemは素晴らしいです。
とにかく読みやすい!!👀
また、普段何気なく使っているが意図がわからなかったdo~endブロックの挙動とかもわかります!
PR → 【ruby】簡単ッ! do~endブロックって?
何より、機能を見に行けばqiitaには書かれていないmethodを見つけることもできます。

とにかくsource_locationを使おう!

> User.method(:take).source_location
 => ["/Users/****/Desktop/****/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6.1/lib/active_record/querying.rb", 3]

端から読むのでなく、興味のある所だけ摘むだけでokだと思います。
将来的には全部知りたいですね。

Object(オブジェクト)を意識する

hoge.classでクラス名を知るだけで検索効率が全然違います。
何より、わからなければソースコードを読めば良いのです👾

> Array.new.each.class
=> Enumerator 

とにかくレビューする

これはrubyに関わらないことなんですが、、
やっぱり身近にいる優秀なエンジニアのコードを読むのが一番良いです☺️
もちろん自分で書いてレビューしてもらうのも大事ですが、レビューしないと視野が広がらないと思いました。
とにかく、レビューして自分では思いつかない箇所をその都度勉強すべし!

所感

レビューの話と似たようなことなのですが、とにかく優秀な先輩の仕事は全てストーキングしてます🕵️‍♀️
先輩のslackは全てスレッドフォローして普段からも疑問は質問して、勝手に学ぶのが一番近道だなと思います。

以上です!
来年は、もっと成長してたら良いな〜🚀

3
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2