エンジニアを理解する
エンジニアの生態についてはこれまでにも語られてきましたが、やっぱり他の職種と違う生き物だと感じるところはあります。
エンジニアだけを特別扱いしたい訳ではなく、別の生き物であるという区別が必要。特別と区別のニュアンスの違いは難しいですが、エンジニアの特性を知って頂きたいです。
エンジニアのイメージ
エンジニアのイメージをいくつか上げてみます
自分自身が心当たりがあるものです
- 気難しい
- 出来ないばかり言ってやろうとしない
- 技術のことが好き
- マニアック
- 職人的
ただ、すべての人がそうでもないかなとも感じます。
今回はもう少し深堀りしてみたいと思います。
プログラミングという仕事
人間が普通の生活の中でプログラミングをするという機会がないため、理解しにくい職業の1つだと思われます。
子供の頃から憧れるような職業は、人間が本能的に活動するときに行う行動が多く、自然に過ごす中でその仕事を理解できる機会があるものです。
音楽だったり、料理だったり、営業だったり、販売だったり、建物を作ったり、絵を描いたり、文章を書いたり、スポーツをしたり。
これらは小学生のときでも、同様の経験があると思います。
営業という直接の仕事はなくとも、学校生活の中で交渉を行うことはあります。販売の仕事は普段から買い物をするタイミングで触れる機会があります。音楽、料理、スポーツ、芸術などは人間が本能的に行うもので、お風呂に入っているときに鼻歌を歌ったり、木の枝で絵を描いたり、走り回って鬼ごっこしたりという活動があります。
最近はyoutuberやtiktokなどの活動もありますが、あくまで歌や踊りなどの変形した形です。
では、プログラミングという仕事はどうでしょう?
コンピューターというものがそもそもここ40-50年で急激に一般化したものです。
そのため、人間が本能的に活動するための機器になっていません。
通訳にも似ていますが、相手は人間ではなく、人間がコンピューターに合わせて調整する必要があります。
そういう意味でプログラミングというものは訓練した人間が、特殊な場面で上手く動くようにコンピューターに合わせた作業を行う仕事なのです。
つまり、プログラミングは普通の職種と違ってやってみる経験が非常に少なく、理解しづらいということです。
この理解しづらさを感覚的に理解していることから、エンジニアと非エンジニアという壁を感じることがあるのだと思います。
エンジニアの特性を知ることで良い関係になる
この記事では、この壁をなるべく低くしていきたいなと思っています。
そのため、エンジニアの特性を知って行きたいです。
知っておくと
・エンジニアを怒らせずに済む
・上手くやり取りできる
・嫌な顔をされない
みたいなことを集めたいと思っています。
これは結果的にエンジニアの開発効率を高めることが出来ますし、エンジニアとのコミュニケーションには特別な感性が必要に感じるかもしれませんが、そのような難しいコミュニケーションのストレスを減らすことが出来ます。
エンジニア特有の感性
- リスクを恐れ、強く指摘する
- プログラミングは1文字でも違うと正しく動かないため、曖昧なことに強く反応する
- 少しのズレでも全体が出来ない原因につながるため、出来るロジックにならない場合指摘する
- 人とのコミュニケーションが少ない
- PCに向き合っている時間はどうしても他の職種よりは多いです
- 会社によりますが思ったよりもPCに向き合っているだけではないです
エンジニア特有の事情
- プログラミングはコンピューターに実現するための翻訳も難しいが、ズレなく実現するための設計が難しい
- 全体の流れや作りを考える時間が半分以上掛かることもある
- 正しいロジックが考えてから、プログラミングを書くフェーズ
- 作りながら考えないと見えないことも多い (設計ばかりやるより、作りながら判断する方が早い場合も多い)
- 見積もりは難しい。答えが見つかったときには半分以上終わっていることもある
- 似ているものを作ることはありますが、同じものを作ることはほぼありません
- 工場の製品生産とは違います
- 一つ一つのシステムがオーダーメイドであり、同じものを作るわけではない
- 初めてやることに掛かる時間を正確に見通すことはほとんど不可能です
- 経験の中から似ていることを当てはめることで予測していますが、同じものを作ることは無いため想定外の事はよく起きます
- 似ているものを作ることはありますが、同じものを作ることはほぼありません
まとめ
システムの開発というものを扱う上での特性上、エンジニアの適正もある程度はコミュニケーション方法にも普通と違う傾向が出てしまう事があると思います。
その根拠を知ってもらえれば、もっと上手く会話がしやすくなるかもしれません。
エンジニアの人も歩み寄りが必須ではありますが、ぜひエンジニア自身でも自分の特性を理解した上で会話が出来るとよりよい関係が築けるのでは無いかと思います。
皆さんのご意見も募集
「エンジニアってこういうところがあるよね」みたいな、当たり前過ぎて気が付かなくなっている、エンジニアあるあるをQiitaのコメントやTwitterなどで教えてもらいたいです!
エンジニアと非エンジニアでの会話で、困った話などもあれば、Qiitaのコメントで聞かせて頂き、解決に向けたディスカッションなど出来ると嬉しいです。