
いつまでも「完成」しないのは、能力不足ではありません
「もっときれいなコードが書けるはずだ」
「この書き方で本当に正しいのだろうか?」
パソコンの前で手が止まり、時間だけが過ぎていく。
気がつけば一日が終わってしまい、「自分にはエンジニアの適性がないのかもしれない」と落ち込んでしまう。
あなたは今、そんな「完璧主義の罠」にハマっていませんか?
真面目な人ほど陥りやすいこの状態ですが、実はこれ、エンジニアとしての成長を妨げる一番の原因かもしれません。
プログラミングの世界に「絶対的な正解」はありません。
熟練のエンジニアでさえ、昨日の自分のコードを見て「もっとこうすればよかった」と思うものです。
それなのに、学習初期の段階から100点満点を目指そうとすれば、挫折してしまうのは当然です。
この記事では、開発現場のリアルな視点から、あなたが消耗せずに成長し続けるための「60点の合格ライン」の見極め方をお伝えします。
肩の力を抜いて、まずは「終わらせる」技術を身につけましょう。
1. 100点を目指すと「学習」も「開発」も止まる理由
なぜ完璧主義がいけないのでしょうか。
それは、プログラミングにおいて「完璧」の定義が状況によって変わるからです。
処理速度が最優先される場面もあれば、可読性(読みやすさ)が重視される場面もあります。
全ての条件を満たすコードを書こうとすると、あちらを立てればこちらが立たず、永遠に迷路から抜け出せなくなります。
また、学習段階で完璧を目指すと、一つの機能を作るのに膨大な時間がかかってしまいます。
エラーが出るたびに「なぜ?」と深掘りしすぎたり、より良い書き方を求めてネットサーフィンを繰り返したり。
これでは、アプリケーション全体を完成させるというゴールにいつまで経っても辿り着けません。
大切なのは、「今の自分の実力で書けるベスト」を尽くすことです。
もしもっと良い書き方があったとしても、それは未来の自分が直せばいいのです。
今のあなたに必要なのは、完璧なコードではなく、まずは一つでも多くの機能を「動く状態」にすることです。
2. 現場が求めているのは「美しさ」より「〇〇」
実際の開発現場では、どのようなコードが評価されるのでしょうか。
意外かもしれませんが、芸術的に美しいコードよりも歓迎されるものがあります。
それは、「納期通りに動き、変更しやすいコード」です。
ビジネスの現場では、スピードが命です。
どんなに素晴らしい設計でも、リリース日が1ヶ月遅れてしまっては意味がありません。
また、仕様変更は日常茶飯事です。
完璧に作り込みすぎたコードは、逆に変更に弱く、修正コストが高くなることもあります。
多少不格好でも、コメントが丁寧に書かれていて他の人が理解しやすく、バグがあったらすぐに直せる。
そんな「素直なコード」の方が、チーム開発では愛されます。
「すごいコード」を書こうとする必要はありません。
「チームメンバーに迷惑をかけないコード」を目指せば、それで十分合格点なのです。
3. 「とりあえず動く」を作るためのマインドセット
では、具体的にどうすれば60点で良しとできるのでしょうか。
おすすめなのは、「Make it work, Make it right, Make it fast(動かせ、正しくしろ、速くしろ)」という標語を心に刻むことです。
これはケント・ベックという著名なプログラマーの言葉です。
まずは、どんなに汚いコードでもいいから、期待通りに動くものを作る(Make it work)。
次に、変数名を直したり、重複した処理をまとめたりしてコードを整える(Make it right)。
最後に、必要であればパフォーマンスを改善する(Make it fast)。
多くの初心者は、最初から「正しく、速い」コードを書こうとして手が止まります。
しかし、プロでさえこの3ステップを踏んでいます。
「まずは動けばOK。リファクタリング(整理)は後回し」と割り切ることで、精神的な負担は劇的に軽くなります。
4. レビューは「テスト」ではなく「作戦会議」と思え
自分の書いたコードを他人に見せる「コードレビュー」。
これを「テスト」や「採点」のように感じてしまい、指摘されるのを恐れている人は多いでしょう。
「こんな初歩的なミスをして恥ずかしい」「ダメなエンジニアだと思われるんじゃないか」と。
しかし、レビューの本当の目的は、個人の粗探しではありません。
チームとしてプロダクトの品質を担保するための「作戦会議」です。
レビュアー(見る人)も、あなたを攻撃したいわけではなく、「ここはこうするともっと良くなるよ」とアドバイスをしてくれているに過ぎません。
指摘がたくさん来るのは、あなたが無能だからではなく、チームが良い製品を作ろうとしている証拠です。
むしろ、自分一人では気づけなかった視点をもらえる貴重な成長機会です。
「指摘=攻撃」という思い込みを捨て、「指摘=ギフト」と捉え直してみましょう。
未完成なコードを見せる勇気が、あなたを強くします。
まとめ:60点で走り出せば、あとで80点にできる
完璧主義は、エンジニアにとって諸刃の剣です。
高い品質を目指す姿勢は素晴らしいですが、それが足かせになってしまっては本末転倒です。
「今の自分にはこれが限界。でも、動いているからOK!」
そう胸を張って言えるようになれば、プログラミングはもっと楽しくなります。
そして、走りながら修正していくことで、結果的にコードの質も上がっていきます。
まずは60点を目指しましょう。
その60点の積み重ねが、いつかあなたを「信頼されるエンジニア」へと育ててくれるはずです。
今日書くコードも、完璧でなくて大丈夫。
さあ、エディタを開いて、まずは一行目を書き始めましょう。