こんにちはカレイドです。
今日は会社の誕生会だったようで美味しいご飯が出てきました。やっぱりこういう会が何ヶ月に1回でもあるかないかでもモチベって全然変わってきますよね。
ちなみに社長さんにはみんなからケーキが送られたのですが、別枠で私もウェルカムケーキということでケーキをいただきました。
今日は会社の誕生会らしく豪華なお昼ご飯😍
おなかいっぱい🤤 pic.twitter.com/0G2PqT88iP
— カレイド@独学4ヶ月で自作アプリから医療系アプリ開発エンジニア (@kaleido0101) July 30, 2019
無事にdone!!
そして、welcomecake食べながらプルリク出しまくってました😱
承認2つに待が2つ。明日で頼まれた部分は終わる予定であります👌
家帰ったらここまで何行コード書いたか見てみようかな笑笑
今日も一日お疲れ様でした🥰 pic.twitter.com/YJzAjCWKN6
— カレイド@独学4ヶ月で自作アプリから医療系アプリ開発エンジニア (@kaleido0101) July 30, 2019
ニコニコしながら1日コード書いていたのは内緒です。
さて、前置きはこのぐらいにして、入社してから約2週間。今日から3週間目に突入したのですが、ふと、ここまでに書いたコードの行数ってどのくらいなんだろうと思いました。
そこで今回はどのくらい働いてどのくらいのコードを書いたのか調べてみました!
何時間働いたんですか!!!!!!!!??
まぁどれだけコード書いたのかも大事ですが、どのくらいの日数行ってどのくらい働いてどのくらい書いたのかをきちんとみなければなりませんよね。
というわけでまずは、働いた日数ですが 8日/15日 です。
この15日という分母は入社日から今日を入れてです。
働いた時間はざっくり56時間。
というわけで1日あたり7時間近くは働いている計算になりますね。
普通のバイトなら週3もやっていたらやりたくないとなるのが当然でしょうが私の場合は経験値がどんどん積み重なっていくので+にしかならないです。
プログラミングのコードは何行書いたんですか!!!!!!!!!
さて、問題のプログラミングコードですが先に結論をいうと 1735行でした。使用言語はJavaScript(React)
まぁこの結果を見るだけじゃ何も意味がないのでまずは色々前提条件を述べておきますね。
メモ
- コードはコピペ含めて全部カウントしています。
- ただし、ReactではStoryBookというコンポーネント単位で管理して、全体のアプリを動かさなくてもそのコンポーネントだけ表示してくれる便利ツールがあるのですが、そこへの記入はカウントしてないです。(割と本当に同じもの書き写すだけなので)
ざっくりまとめるとこんな感じです。
さて、問題の単位時間あたりの話になると僕は初日の6時間は立ち上げで一切コードを書いていないので働いた時間は50時間で計算します。
1分あたりに直すと0.57行ですね。
1時間あたりで34.7行
1日8時間計算で270行程度。 月20日稼働なら5400行。
この行数を多いと見るか少ないと見るかはみなさん次第ですが自分は常にほぼ書き続けてこんな感じです。
なので多分これ以降はもっと下がってくるかなと。
たくさんのコードを書いたからいいわけではない
まずたくさんのコードを書いても汚ければ帰ってマイナスです。より美しく少ないコードを書いてこそプロですね。
Reactは割と書いて書いて書いてここまとめられるなで100行のコードで3つのファイルがあった時に 20行取り出して一つにまとめたりしたりもするので、60行分が3行に生まれ変わったりすることだってあります。おそらく他の言語でも同様だと思いますので、その辺を勘違いしないようにしましょう。
今回はみたものをそのままコーディングする作業が多かった。
Reactずっとやっているとデザイン見て割と似たような感じでバシバシ書いていくことが多いので手が止まることは多くないです。もうしばらくするとロジック部分(コントローラー)がメインになってくるので書いているよりも考えている時間の方が多くなると思います。
そしてできることが多くなると今度はレビューをしてもらうだけではなくする時間もできるので相対的にコードを書く時間は減ってくることになります。
僕はコードを書くのもロジック考えるのも好きなので疲れたなーと思ったらただ闇雲にコード書くことを好むし、元気で手強そうなコンポーネントを見つけた時はいかに綺麗にまとめるロジックを作るか考えていたりします。
なるべく同じことをやり続けないよう工夫して作業しています。
最後に
何はともあれ必然的にコードを書き続けるのでどんどん積み重なる。
僕は全てを完璧にして入社しようという考えはあまりお勧めしません。理由は自分が苦労する(でもまったくできないわけではない)現場が最適だと思うからです。
全てを完璧にしてしまうと最初に入る会社でさえ柔軟に動けなくなる可能性が出てきます。
技術がぴったり合う会社より面白そうな会社選んで必要なものをその都度学ぶ方が効率がいいと思っています。
そしてこの完璧というのがやっかいで結局どれだけやっても終わりはないわけでその会社へ入ったら少なからず自分の知らない状況へ追い込まれるのは間違いないです(特に未経験や初心者)なので、完璧にできることをアピールするよりも、努力できることをアピールした方が僕はいいと思います。
自分はこの技術をめちゃくちゃ勉強したのにここはこういう風にやってんのかよってなると最悪いつまでたっても自分に合わないと勘違いして機会を逃しかねません。
というわけで、技術はほどほどに学びさっさと実践ベースへいくのが最適解という私の結論でした。