ファンブリューの金井です。
今回は、エンジニアとして日々現場で感じていることを、「システム開発はスポーツ選手と同じである」という視点から、実体験と理論を交えて掘り下げてみたいと思います。書籍や研修では決して伝えきれない“現場のリアル”を、特にこれからエンジニアを目指す方や、開発に行き詰まりを感じている方に届けられれば幸いです。
実務経験こそが理解を深める
システム開発の現場に身を置いていると、技術の知識や資格よりも、「実務でどれだけコードを書いてきたか」が圧倒的に重要だと実感します。書籍で学んでも、動画を見ても、実際に動くシステムを作らなければ、本質的な理解にはたどり着けません。
これはまさにスポーツと同じ。ルールを覚えることと、フィールドで動けることはまったく別物です。フォームを頭で理解していても、身体が動かない限りは試合で通用しません。エンジニアリングも同じです。
また、現場で実際にクライアントの要望を汲み取りながら作る経験を重ねることで、ドキュメントだけでは学べない「伝える力」「聞き取る力」も養われます。仕様の裏にある本質的な課題や、言語化されない期待値を汲み取るには、現場の摩擦や齟齬に何度も向き合ってきた経験が不可欠です。
設計よりもまず動かす
設計図を丁寧に書き、すべてを固めてから着手するスタイルもありますが、私はまず「手を動かす」派です。仕様や設計はあとから詰めていくスタイルの方が、現実には上手くいくケースが多いと感じています。動かして初めて見えてくる不具合、気づく課題、最適化の糸口。これらは最初の紙上ではわかりません。
これは、「設計から入るべきだ」という教育とのギャップでもあります。確かに設計の重要性は否定しませんが、それを支える直感やパターン認識は、手を動かしながらでなければ培われないものです。スポーツで言えば、戦術ボードを見てから走るのではなく、走りながら戦術を体得していくプロセスに近いでしょう。
3回作り直して初めて完成する
「同じシステムは3回作り直して初めて完成する」という言葉も、現場の感覚としてよく理解できます。1回目は動くものを作るためのトライ。2回目で失敗や非効率に気づき、3回目でようやく理想に近づく。この反復こそが成長であり、経験です。
私の経験でも、初回はとにかく納期優先で組み上げ、2回目でチームからのフィードバックや運用上の課題を踏まえた改善が入り、3回目でようやく「これが最初からできていれば…」と思える仕上がりに到達します。まさに、実践→検証→改善のサイクルです。
その意味で、「最初から完璧を目指すこと」に縛られるのではなく、「不完全でも進める力」を持つことが、開発者としての柔軟性を高めてくれます。
思考回路は手数で磨かれる
この意味で、私たちが日々向き合っているプログラムというものは、ただの指示書ではなく、自分の思考回路そのものを映し出す鏡です。書いて、読んで、壊して、直して。そうして磨かれていく力は、コーディング時間にきれいに比例します。
そしてその時間をどう過ごすか。エラーと向き合うのがつらくても、ドキュメントを読むのが億劫でも、そこから逃げずに手を動かすことでしか得られない“身体知”があります。まさにスポーツにおける筋トレや基礎練と同じです。
また、コードレビューを通じて他者の考え方に触れたり、リファクタリングの中で「なぜこう書いたのか」と自問自答することも、思考回路の可視化につながります。静的な知識ではなく、動的な習慣として“思考を鍛える”ことが重要です。
ツールが進化しても、判断力は人に宿る
最近はノーコードやローコード、AI支援といった潮流もありますが、やはり「設計して実装する」という能力は不変です。便利な道具が増えても、「なぜその手法を採るのか」という判断力がなければ、応用は利きません。
FlutterFlowやBudibaseのようなツールも使っていますが、「このツールで何ができて、何ができないのか」を理解するには、結局コードの文脈を知らなければなりません。ツールの使い方ではなく、システムの構造を考えられる力が求められます。
AIも同様で、生成されたコードをどう活かすかは人間の文脈依存です。便利になっても、「設計者」としての能力が問われるフェーズは変わりません。
ファンブリューではエンジニアになりたい人を支援しています。
現在こんなお悩みがあれば、ぜひ一度ご相談ください。
- プログラミングを学習したいが、何から始めたらいいかわからない。
- IT業界に就職するために必要な知識が何かわからない。
- 実務経験がなくて現場に入れない