「なぜエンジニア組織をうまくマネジメントできないのか」という記事が人気になっていました。個人的に ITエンジニアの人間性の違いというより、ITエンジニアを取り巻く環境が少し特殊だと感じています。ここではITエンジニアが置かれている環境と、ITエンジニアの振る舞いについて説明します。
ITエンジニアが置かれている環境
IT 環境は数カ月ごとに更新される→頻繁に道具を更新している
iPhone は毎年新モデルが発売されます。Windows は2年に1回大規模バージョンアップが行われます。人気のプログラミング言語の Python は毎年1回バージョンアップします。マイクロソフト社のプログラミング言語の TypeScript は毎日リリースされます。
ITエンジニアは周囲の人から「パソコンの先生」として期待されることもあり、最新技術の習得に熱心です。一般の人から見ると、機器を数カ月ごとに買い替えるのは、子供がおもちゃに飽きて捨てているのと同じように見えるかもしれませんが、本人はスキルアップのための必要投資として仕方なくやっている面もあります。
プログラム言語には哲学がある→ITエンジニア同士で宗教論争をしている
現在、プログラミング言語は200種類から300種類あると言われています。ひとくくりに、ITエンジニアといっても扱えるプログラミング言語は様々です。
ビジネス誌の日経クロステックが実施しているアンケートによると、「基幹系システムは Java言語が多い」「組み込み系システムは C言語の割合が70%を超える」「AI系システムはPythonが80%を超える」「Webフロントエンドは群雄割拠」となっています。
また、Paiza によるとプログラミング学習者・転職希望者の内、最も習得割合が多いのは Java で 33% になります。
プログラミング言語の基礎知識保有者の割合
プログラム言語によって記述法や設計手法、使えるライブラリが変わります。各言語コミュニティでは他のプログラム言語より生産性が高い事を売りにし、互いに切磋琢磨しています。そのため若い情熱的なエンジニアほど、プログラム言語の好みがあり、それ以外の言語は触りたくない、という宗教の原理主義者のような感情になることがあります。
IT 開発は分業制である→上流工程と下流工程でカースト制度がある
IPA の情報処理試験では、ITエンジニアを、プログラマ、プロジェクトマネージャ、ネットワークスペシャリスト、データベーススペシャリスト等に区分しています。近年のクラウド開発だとそれぞれのスキルが必要になります。
これは家を建てる時に、大工、左官職人、瓦職人、塗装職人、内装職人、防水工事、電気工事といった多くの職人が関わるのに似ています。
クラウド開発でも、各作業に上流と下流の関係があり、利害が対立する場合があます。誰かが仕様書をかくのをさぼると他の工程の検討が進められず、作業が遅延します。そのため上流工程と下流工程は敵対関係になりがちです。
まとめ
ITエンジニアを取り巻く環境からくるITエンジニアの不思議な振る舞いや感情、人間関係について説明しました。
率直にいって、ITエンジニアは違う人種とまではいいませんが、異分子になると思います。そのときに ITエンジニアの意見を黙殺するのではなく、同じ目的を目指す仲間として受け入れる会社側の姿勢が大事だと思いまいます。
製造業でITエンジニアが活躍している実例
伝統的な製造業であるデンソーがアジャイル開発を始めた時の記事を紹介します。ITエンジニアの考えを理解した上で、働き方改革で IT エンジニア向けの環境を整えています。