ソフトウェア開発はスピードと品質の両立が求められる世界です。
失敗から学ぶことは多いですが、できれば回避したいのが本音。
わかっているけれど、具体的にどういう行為がNGなのかが、すぐには浮かびにくい。
ソフトウェア業界でよくある「やってはいけないこと」を10項目を選び、詳しく解説します。
1. コメントを残さずにコードを書く

「見れば分かるだろう」と思ってコメントを省いてしまう人は多いですが、数カ月後には自分でも理解できないことが多々あります。
たとえば、バグ修正のために入れた回避処理に理由の説明がなければ、後続の開発者がそれを削除して再度不具合を引き起こす可能性があります。
チーム開発では他人が読むことを前提としたコードが必要です!
簡潔でも良いので、なぜその処理を書いたのかをコメントで残しておきましょう。
一貫性はほとんど無いのですが、現場によっては、コメントの書き方も統一されるところがあります。
2. バージョン管理を使わない

Gitなどのバージョン管理を使わないのは、バックアップを取らずに仕事を進めるようなものです。
コードの変更履歴を追えず、誤って上書きした場合に復旧できなくなります。
例えば、1週間前に修正したコードにバグが見つかったとしても、バージョン管理をしていなければ元に戻すのは困難です。
バージョン管理やバックアップを取るなどの習慣は、とても大切です。
あなどらずに!
初心者でも最低限の使い方を学び、日々の開発に取り入れましょう!
3. テストを軽視する

「動けばOK」としてテストを怠ると、本番環境でバグが発生し、信用を失う原因になります。
小規模のアプリ作成やプログラムメンテナンスなどで、机上チェックで済ませてしまうことあります。
未テストのコードをリリースした結果、決済機能に不具合が生じ、全ユーザーに影響が出た事例も少なくありません。
ユニットテスト、結合テスト、E2Eテストなど、プロジェクトに応じたテスト戦略を設計することが重要です。
CI/CDと組み合わせることで、自動化も可能です。
精度の高いソフトウェアで、高い信頼性が持てるようにしていきましょう!
4. 無闇にコードをコピー&ペーストする

他人のコードをそのまま貼り付けて使うと、理解に困るにエラーを生むこともあります。
オープンソースのサンプルコードをコピーして、その中に含まれていた古いAPI仕様が原因で脆弱性を含むことになった事例もありました。
また、同じ処理が複数個所に存在すると、将来の保守が困難になります。
似た処理は関数化し、再利用性を高めましょう。
オブジェクト指向のプログラム言語などが、関数と呼ばれる部品を再利用しています。
C++などが特に顕著です。
5. セキュリティを後回しにする

セキュリティの問題は、発覚したときにはすでに手遅れのことが多く、損害も甚大です。
あるスタートアップ企業では、ログイン画面のパスワードが平文で保存されていたことで情報漏えいが発生し、社会的信用を失いました。
SQLインジェクションやクロスサイトスクリプティング(XSS)などの基本的な脅威には必ず対応し、ユーザー認証や暗号化の実装も最初から計画しておくべきです。
6. ドキュメントを残さない

システムの仕様や設計、運用方法を頭の中だけで処理していると、引き継ぎやチーム移動時に大混乱を招きます。
とある案件では、開発者が退職した後にドキュメントが一切存在せず、新メンバーがシステム全体を一から解析し直す羽目になりました。
こちらのケースは、いがいとよくあるケースなので、しっかりした調査力が必要になります。
最低限のREADMEやセットアップ手順、APIやその他の関数の仕様書などは常に更新し、共有できるようにしましょう。
7. 一人で抱え込む

「自分がやったほうが早い」という考えは短期的には正しいかもしれませんが、長期的にはリスクです。
例えば、プロジェクトで主要モジュールを一人で担当していたエンジニアが突然の病気で離脱した結果、チームは3週間進捗が止まりました。
進捗遅延や属人化の原因にもなります。
壁にぶつかったら早めに相談し、チームで問題を解決する文化を築きましょう。
8. 新技術を無理に導入する

話題のフレームワークや言語を導入したが、社内で誰も扱えずにプロジェクトが頓挫…というのはよくある話です。
実際に、ReactからVueへ移行したものの、チーム全体が学習についていけずに半年で元の構成に戻った企業もあります。
技術選定は話題性よりも「長期的に使えるか」「チーム全体が理解できるか」を基準にしましょう。
9. コーディング規約を無視する

インデントのズレ、命名規則のバラつきはコードレビューを煩雑にし、バグの温床にもなります。
例えば、命名規則が統一されていないせいで似た名前の変数が多発し、間違って上書きしてしまった例もあります。
チーム内で統一したコーディングスタイルを設定し、ESLintやPrettierなどのツールを活用して自動整形しましょう。
10. ユーザー目線を忘れる

開発者にとって便利なUIでも、ユーザーには使いにくいことがあります。
あるWebサービスでは、検索ボタンがスクロールしないと表示されず、ユーザーから多数のクレームが寄せられたことがあります。
常に「この機能は誰のためのものか」を考え、ユーザビリティテストやヒアリングを通じて改善を重ねる姿勢が大切です。
まとめ

ソフトウェア業界で成功するためには、技術力だけでなく、チームとの協調、保守性、セキュリティ意識、ユーザー視点など総合的な力が求められます。
今回紹介した10のNG行動を避けることで、トラブルを未然に防ぎ、プロジェクトの成功率を高めることができます。
初心者はもちろん、経験豊富なエンジニアも改めて意識すべきポイントばかりです。
ぜひ自身の開発スタイルと照らし合わせて、継続的に改善していきましょう。
コメント