エンジニアの情報共有の中で時折、新人エンジニアに悩みがないか伺うシーンがあるが、その際に「先人の書いたソースコードを汚してしまいそうで触るのが怖い」という共有があり、その場では、他のエンジニアがコードをみてフィードバックしてくれるからそんなに気負わず書いてよいという旨の回答をした。
初心者のうちはたとえコードが汚くても動くものをつくれるようになるべきだし、恐れるあまりコードを書けなくては意味がないので、この回答に偽りはないが、一方で、「ソースコードを汚したくない」という考えは成長するためにはとても大事だと思う。
なぜならコードを汚さないためには、既にあるルールを十分に理解する必要があり、自分が理解していないことへの解像度が上がるので、何とも思っていない人と比べると理解度は上がるだろう。また、解決するには調査か質問をしなければならないので、副次的に、どういったワードで検索するか、どのような質問を投げるか、といった求める答えを得るためのノウハウもたまってくるはずだ。
ちなみにこの悩みは自分が入社したときにも感じていたし、今も感じている。入社当時はCSSのルールに「BEM」が採用されていて、はじめて設計思想に触れることになったが、「知っている」と強がりつつ、既にあるルールを壊さないように、必死にドキュメントを読みながらコードを書き、時には「書き方が違う」とフィードバックをうけながら理解を進めたのを覚えている。
資料を読み、数をこなすことでルールへの理解は自然と深まり、そのころには次のステップとして、どのように書いたら他のエンジニアにとって理解しやすいコードなのか、という考え方ができるようになってくる。それがひいては「ルールを壊さない」ことであり、「他人が読みやすいコード」につながっていく。恐らくこれは他のエンジニアの方も持っている感覚だろう。
なので、捉え方が違うだけで、「他の人が書いたソースコードを汚したくない」という感覚は誰しもが持っているので、あまり気にせず、前向きに取り組めたらいいと思うし、そうなる手助けのためにもソースコードのレビューをおこなっているので、気負わずもっと気楽に取り組めるような環境にしていきたいと思う。