さんかくすわりで書くブログ

勉強したこととか

最近の課題感:コピペプログラマになってしまう心理

コピペプログラマの何が問題かって、「それが何かわかってない」のが問題だと思っている。

ネットで検索して出てきたコードコピペして、なんか動いたからヨシ!みたいなね。

 

これ自分ももう若手でもないのに、まれによくやってしまうので注意していきたい。

全部を完璧にやるのは納期とかもあるだろうし難しいだろうけど、せめて概要だけでも、できればセキュリティとかインシデントにつながりそうな観点は調べておきたい。

 

最近仕事で使っているTerraformだと、やりたいことに対して使用するリソースが決まれば後は(たいてい)パラメータをどうするかだけになる。

そうなるとパラメータの項目なんて数も知れてるし共通的なものや名前みてある程度想像できるものを省けば、見るべきパラメータの数は少ないはず。

急いでもない限りはさっとドキュメント見て、これでよさそうかどうかぐらいの判断はできるはずなのに、ついつい「(やりたい構成)+terraform」とかで調べて出てきた実装コピーして「できました!」ってやっちゃう。

AWS+Terraformなんて公式ドキュメントもそこそこしっかりしてるし、世の中の記事も多いから知りたいことは大抵調べれば出てくるのに。

別に調べるための1時間を省いて早くPR上げたとて進捗が大きく変わるわけではないのにね。(本番障害はその限りではないけど)

 

これをやることで自分の中に知見も貯まっていくし、いいことしかない。

それはわかってるのに何でやっちゃうんだろうなー。

別に急かされてもないし、納期があるわけでもないのになんか焦ってる、というのはありそう。成果物をまず出さないと!が先行しちゃってる。

自分はSES契約なので決して間違ってはないとは思う。けど、その自分が作った成果物がどういうものなのか理解せず出してるので結局よくないのよね。

こういう見栄みたいなのを責任というかオーナーシップより優先しちゃうときってやっぱ焦ってるのかな。今度やらかしたらちゃんと分析してみよ。(最近の課題感とかかいといてやらかしたのは数か月前という)

 

セキュリティとかインシデントにつながりそうな観点とは言ったけど、この調べる観点の優先順位や抽出も難しいよね。調べる対象にもよるんだろうけど。ライブラリなのかフレームワークなのかとか。勘所的には技術選定の観点に似てるのかな。

 

実装が速いことはいいことだけど、どんな時でも優先されるようなものでもないというのを意識しつつ、そうしてしまう心理とか仕組みみたいなのも解明できたらいいな。