「自分はプログラミングの技術さえ磨いていれば、人間関係や面倒なコミュニケーションなんて無視してコードだけ書いていればいい」――そんな勘違いを抱えたまま業界に飛び込もうとする人間が後を絶たない。しかし、システム開発の本質は決して個人のプログラミング能力の高さだけで完結するものではない。どんなに優れたコードを書ける自負があったとしても、ビジネスの現場においてチームワークを無視した独りよがりの作業は、プロジェクト全体を破綻させる最大のリスクでしかないのだ。
プログラマやエンジニアは会話をしなくてよいという致命的な妄想
世間一般の偏ったイメージや、一部のインターネット上の文脈に毒された初心者によく見られるのが、「エンジニアという職業は、パソコンに向かって黙々とコードを打ち続けていれば評価される、対人関係の不要な仕事である」という大いなる妄想である。
しかし、これは現実のソフトウェア開発の現場を知らない者の浅はかな思い込みにすぎない。実際の開発現場では、要件定義のすり合わせ、仕様の変更に伴う関係者間での迅速な情報共有、他部署やクライアントとの緻密な折衝など、四六時中誰とは言わないがコミュニケーションは必須である。コードを書く時間そのものよりも、他者と対話し、仕様を正しく理解・定義する時間のほうが圧倒的に長いケースすら珍しくない。会話や意思疎通を軽視する人間に、まともなシステムを構築できるはずがないのだ。
バブル期のIT企業が積極的に文系を採用していた歴史的事実
この「エンジニア=技術オタクでコミュニケーション不要」という誤った図式を否定する上で非常に示唆に富むのが、かつてのバブル経済期におけるIT企業の採用動向である。
インターネット黎明期やITバブルの最中、多くの先見性を持ったIT企業は、情報系学部出身の理系学生だけでなく、あえて文学部や法学部、経済学部といった「文系出身者」を積極的に採用していた。なぜなら、企業はプログラミングの文法なんてものは入社後にいくらでも教え込んで習得させられると見抜いていたからだ。それよりも、論理的な思考力、顧客のニーズを汲み取る国語力、そして利害関係を調整する交渉力や文章力といった、文系的な素養に基づく「総合的なコミュニケーション能力」こそが、ビジネスとしてのシステム開発において何よりも重要であると知っていたのである。技術は後からいくらでも追いつくが、対人スキルの欠落は一朝一夕には埋められないという現実を、当時の企業はよく理解していた。
何を隠そう、俺様自身がまさにそのバブル期に文系からIT業界へと飛び込んだ当事者の一人である。現場の最前線でその現実を肌で体験し、生き抜いてきたからこそ断言できるが、当時から求められていたのは小手先のコーディングスキルではなく、ビジネスを動かす人間としての総合力に他ならなかった。
プログラミング言語を学ぶ前に、まずコミュニケーションを学べ
これからエンジニアとしてキャリアを築きたいと考えているのであれば、最初にするべきことは高名なプログラミング言語の教本を開くことではない。まずは社会人としての基本的なコミュニケーション能力、相手の意図を正確に汲み取るヒアリング力、そして自分の考えを論理的かつ簡潔に伝える文章力や会話力を磨くことである。
技術の習得に走る前に、人にものを伝え、人の話を聞くという人間としての基本ができていなければ、どれほど最新のフレームワークを使いこなせようとも、仕事の現場では単なる「扱いにくいトラブルメーカー」の烙印を押されるだけである。実際、俺様が経営していた会社でも、技術だけはあるが人の話を聞かない残念なエンジニアが多数いた。技術力はあくまでコミュニケーションという土台があって初めて活きるスパイスにすぎない。
昨年まで俺様が経営していた会社の面接では、最初から徹底的に「どんな言語やっても無意味。もしコンピュータ言語覚えるならSQLを覚えろ」と言った。SQLは人間にわかりやすくしたデータ検索言語。どんなプログラミング言語扱おうとも絶対習得必要だからだ。
プログラミングは単独の作業ではない。すべてはチームプレイである
大前提として心に刻むべきは、現代のソフトウェア開発において「完全な個人プレー」など存在しないという事実だ。どれほど小規模なアプリケーションであっても、設計する者、実装する者、テストする者、そしてそれをビジネスとして運用・管理する者が存在し、無数の歯車が噛み合うことで初めて一つのプロダクトが形になる。
自分一人の世界に閉じこもり、周囲との連携を怠って勝手にコードを書き進める人間は、チーム全体の生産性を著しく低下させるガンでしかない。納期を守り、品質を担保し、予期せぬトラブルを乗り越えるためには、メンバー同士が密に連絡を取り合い、互いの進捗や課題を共有し合う「完全なチームプレイ」が絶対不可欠なのだ。
仲間と力を合わせて一つのものを創り上げる喜びを理解できない者や、他者と協調してプロジェクトを推し進める気概のない人間に、エンジニアとしての適性など微塵もない。技術を磨く前にビジネスマンとしてのマナーと協調性を身につけること――それが、この業界で生き残るための絶対的な第一歩なのである。

