すてにゃん氏の技術ぶろぐ

技術っぽいこと書きます

なぜ私もコード書くのに時間かかるのか

masawada.hatenadiary.com

私もちょっと気になってる。

Slack見がち

これは私もある。とりあえず #general チャンネルや #engineer チャンネル、あとは自分のチームに関連するチャンネルのみStarして、他は未読あっても暇になったときだけみるようにしてる、けどそれでもみすぎかもしれない。

理解できていない部分がある

プロジェクトのまだ自分が触っていない部分があるというのもあるし、Scalaだったりフロントエンドのことだったりとにかくそこで理解できていない、というか知識が足りていない部分があったりする。これはまあどのレベルのエンジニアにもある(というかエンジニアに限ったことではない)と思うので、まあ仕事やってるうちに少しづつ覚えていくか、というか最近あまりScala自体の勉強とかもしていないのでしていきたいですね。

いくつかの事を並行してやるのが遅い?

開発といってもずっと1つのことをやってるわけではないので、例えばあるタスクではリファクタリングしていて、もう片方のタスクでは機能開発とかやったりすると思います。片方をとりあえずレビュー依頼に出して、その間にもう片方進めるかってなると、たまにどこまでやったんだっけとなって時間が無駄になりがちかなと思う。あとはScalaとか書いててその直後JS書いたりするとセミコロンを忘れるみたいな単純なミスをしてしまうことが多い気がする。JSにない関数を呼ぼうとしたり。それにすぐ気づけばいいのだけど、もしその状態でちゃんと動いてそうだったら、後で何かおかしくなったとき原因がわからなくて時間を無駄にしそう。
あとはコンテキストスイッチとはちょっと違いますが、あるブランチで作業していて、ブランチを変更するとコンパイルし直さないといけないですが、Scalaコンパイルが遅いのでそれに時間をとられることがあります。沢山レビュー依頼していくぞって気分でブランチ変更しまくっていたら動作確認するだけでもコンパイルで結構時間がかかってしまう気がします。

どの程度のことを相談すれば良いのかちょっと迷う

開発していて、ちょっとここがわからないとかあったりしたら、さすがにみなさんも忙しいと思うので、しばらく調べてみたり、バグっていたら自分の書いたコードの何がおかしかったか原因を探りますが、どの段階で相談するか迷ってしまうことがあります。さすがにちょっとわからないことが現れた瞬間にSlackでこれわかりません!連発するのはちょっとどうかと思うし(失礼的な意味&自分で勉強していかないと成長できなさそう的な意味)、かといって無限に悩んで時間を無駄にするのはいけないと思うので(個人的なプロジェクトとかなら良いけども、仕事のコードで自分の担当の部分のみ異常に時間かかってるのはちょっと(それだけ時間をかけるべきなら良いですが))難しいですね。
とりあえず最近の自分としては、ある程度進めて、しばらく調べたりしてもわからなかったら、とりあえず途中段階をpushして、レビュー依頼に出すとか(ちょっとわからない部分があるのでこのコミットみてもらえますかみたいな具体的なことかいて)しようとしています。


がんばるぞい!