始めに
こんにちは〜まんじです。
今回は駆け出しシーズンの頃にコードレビューでボコボコにされてた頃の話と、ある時からボコボコにされることがなくなったヨー(めっちゃ減ったヨー)とか意識したこととかでも書いていこうかと思います。
コードレビューでボコボコにされていた頃
長期インターンの頃(0~11ヶ月目)
駆け出しシーズンの長期インターン(エンジニア1年目)の頃はコードレビューを依頼するたびにボコボコにされてました。
ボコボコにされるというよりかは、GitHubとかGitLab上に1回コードレビュー依頼すると数十件コメントついて戻ってくる、、、みたいな。
しかも当時の最初の頃のレビュアーが厳しいというか、相手にそこまで気を遣わないタイプ(普通にコミュニケーションに問題あり)系だったので「このコードはやばすぎる」「このコードは今年見た中で1番ひどい」「@channel このコードどう思う?」とか言っちゃう系の人で心理的安全性ってやつが皆無でまさにボコボコにされていました。
今でも思い出せる強烈なやつです。
エンジニアの世界だとたまにそういう人間的にコミュニケーションに問題ありな人や高圧的なやつも結構多いです。
新卒正社員エンジニアの頃(11ヶ月目~1年1ヶ月目)
インターンやめて正社員に移動した時も、地味にコードレビューでボコボコにされました。
その会社だとエンジニアは入ってから数ヶ月(4ヶ月~半年)とかJava使ってウェブアプリを作る系の研修をやる会社だったんですけど、その時にボコられました。
Typoしてたりすると「ちゃんと確認しましたか?」とか圧をかけてきて、「(いや確認しても忘れる時があるだろ)」みたく思ったりしてた頃。
あとついでに異様に厳しめというか細かい部分も指摘が入っていたり、そもそも全然使い慣れてないJavaだったので、なんかいろいろとだるかった記憶が強めなのとちゃんとボコボコにされてた。
ちなみにこの頃の自分は睡眠時間が毎日4時間と仮眠とかで生きてたので、集中力とかが不足してた確率が高いのでぼくが微妙というのは普通に今思うところ。
最近: ボコボコにされず1発でApprovされることが多い
そんで正社員エンジニアだりいってことで、ニートになってフリーランスになってからは、ボコボコにされることが減りました。
タスクの内容を実装してPR出す前に自分で一応チェックしてPR出して〜って流れでやってて、1発Approveか多くても1回レビューされて修正してMergeできることが増えたって感じです。
ボコボコにされなくなった。
シンプルにウェブエンジニアの仕事に慣れてきて技術力が全体的に上がってきたっていうのと、1番使えるReactメインで仕事するようになったからって側面が強めカナーとは思うところです。
結局のところ、慣れである。
どうやったらボコボコにされなくなるのか?
慣れに大きく依存しますけど、多少のTipsがあると思ってます。
1個目: レビュアーとリアルで仲良くする(実はくそ大事)
エンジニアで仕事してるとどうしてもSlack上だけでのコミュニケーションだけになりがちなんですけど、やっぱりリアルコミュニケーションが大事だなと感じます。
自分の場合はフリーランスになってからはリアルでコミュニケーションを取る機会が増えたというよりかは、Google Meetとかで実際に1対1でちゃんと会話するようになったり、自分の立場的な意味合いでもちゃんとコミュニケーションを取ることを意識し始めていた気がします。
インターンとか正社員の頃は切られる(クビになる)とかがほぼない世界線なので、振り返ってみるとそういうところをサボってたし、もうちょい深掘りすると会社に帰属することが嫌だったと思ってたように感じます。
フリーランスなってからは会社側はクライアントですし、単純にフリーランスになってからお世話になってるマネージャークラスの人たちがみんな尊敬できる人ばっかりだったので自然とコミュニケーションも取るようになったてきな側面もあるっていうのもありました。
ただ、どんな相手にせよリアルでコミュニケーションをちゃんと取っていくことは大事だと今はすごく思うところです。
相手も人間なので、相手をリアルに想像できるとそこまでボコボコにはしてきにくくなるってのがあります。
2個目: 使う技術の技術力を上げる
これは身も蓋もない話なんですけど、コードレビューを依頼する内容のコードらへんの技術力が上がってくると、ボコボコにされにくくなります。
理由はシンプルで、自分が理解してコードを書いているから変な書き方とか意味不明な書き方とかコードレビュー通せないようなコードの数が圧倒的に減るからです。
例えば、自分だったらReact * TypeScriptがまあまあ得意なので、そこらへんのコードを書いた場合は求められている実装や要件に対してそれなりに良い感じにコードが書けるようになってきているから変なコードとかを書いてコードレビュー依頼することがほぼなくなっている、みたいな感じです。
これが自分の全然使い慣れていない技術の場合には当然ベストプラクティスっぽいものや定番の書き方がわからないわけなので、変なコードをコードレビュー依頼して大量にコメントや修正依頼が戻ってきちゃいます。
なのでまあ、、、自分が仕事使う技術領域をちゃんと勉強(開発)しようぞってお話ではあります。
そうすればコードレビューでボコボコにされなくなります。なぜなら文句つけるところがなくなっていくから。
3個目: セルフコードレビューをする
これもよく言われることではあるんですけど、GitHubとかでコードレビュー依頼をする時に一旦自分で自分のコードに変な箇所がないかとかをチェックしてからコードレビュー依頼をするっていう技です。
やってない人はあんまり逆にいないですけど、GitHubでPRを出す時にdraftの状態で差分が出るんで、そこを見て変なところがないかチェックしたりする作業をするのがセルフコードレビューです。
ただまあ、、、自分で書いてるんで案外自分のコードのだめなところは意外と分からなかったりすることもあるという現実は実際問題あります。
自分で気付けていなくて指摘が入るようなところがいわゆる伸び代になるので、ある意味でポジティブに捉えることもできるっちゃできます。
4個目: 微妙なところや微妙な命名は事前にChatGPTにつっこんでコメントをもらう
ChatGPT出現してからは結構便利な技が使えるようになって、「ここってこれでいいんか?」とか微妙な時にレビュー依頼する前にChatGPTにつっこんで事前にAIチェックっぽいものを入れるとコードレビューでボコボコにされにくくなります。
命名でもロジックでも計算量とかに関してもChatGPT大先生なら無限の体力で指摘してくれるので、なんていうかクソ便利だし、自分的に怪しいと思ってる箇所はどんどん使いたいところです。
5個目: 健康状態に気を使う
これは自己啓発区分ではあるんですけど、ちゃんと最低でも毎日7時間ぐらいは寝て集中力を下げないとかです。
自分は正社員エンジニアしてた頃に正社員をやりたくなくて個人開発で稼ぎたいと思っていたので、毎日睡眠4時間と仕事終わってからの仮眠とかで生きてたんですけど、日中ががちで眠すぎました。
厳密には眠すぎると言うよりかは深い集中状態に入ることができない注意力散漫な状態でプログラミング含めて仕事していたしいつも疲れていていたので、そういう状態だとやっぱりコードとかにもそこらへんがでちゃいがち。
ちゃんと寝たり体動かしたりするのはコードの前段階として大事という当たり前だけど実際最も大事なやつ。
まとめ
ちゃんと健康に気を遣って、ChatGPTとセルフレビューを駆使しつつ、仕事で使う技術領域の技術力上がってくるとコードレビューでボコボコにされにくくなってくるぜってお話でした。
多分1番は、、、慣れ(技術力含む)が大事なんですけど、そこは毎日反復しつつ少しずつの改善を加えていくしかなさげです。
逆に言うと一朝一夕ですぐに改善できるところではないんで、それがいわゆるエンジニアとしてのバリューになって給料やら単価やら時給やらに反映されてきます。