いさぽん部屋(isapon.com)

ゲーム系プログラマによる特に方針のないブログ。技術系とカレー、ラーメンネタ多めだったはずが、最近はダイエットネタ多め。

エンジニアという呼び方をやめませんか?だいたいエンジニアって何?

ふと居酒屋で隣に座った初対面の方が「私の仕事はエンジニアです」と言ったとき、どんな仕事をしてると思い浮かべますか?

車の修理を専門にしている人。プログラマー。ネットワーク管理者。家電の設計者、工場の機械の整備……etc

エンジニアって日本語で言えば「技術者」。でも何の技術者かは含まれていません。 他のジャンルで例えるなら、歌手、イラストレーター、彫刻家、漫画家などをひっくるめて「アーティスト」や「芸術家」と呼ぶような感じ。

芸術家と言っても、娯楽漫画と歌手ではやっぱりその活動内容は大きく違いますし、苦労する点もかなり違うと思います。漫画家ならどちらかというとアイデアを生み出すことに重点を置いているでしょうし、歌手なら歌う技術に重きを置いている思います。また、歌手と一言で言っても、パフォーマーに近いスタンスの人もいれば、より芸術に近いスタンスの人もいると思うので、やっぱり一概には言えないと思います。

話は少しそれましたが、エンジニアという呼び方にもやっぱりそれに等しいものがあります。僕はあくまでもプログラマーですので、「プログラムを書くのが仕事」です(なので、ここからはプログラマーについての話になります)。極端に言えば、ネットワークの設計をしたり、実際に配線したり、ルーターのファイヤーウォールを設定したり、サーバーにアプリケーションをインストールしたりといった作業は専門外です。だって、プログラムなんて1行も書きませんよ?

でも、ほとんどの会社では「プログラマーに言えばなんでもやってくれる」みたいな風潮が蔓延していると感じます。ちょっとでも分からないことがあると即「プログラマーに聞け」みたいな!結構な大手だと仕事は分かれているのですが、それでもやっぱりあれこれやらされるんですよね……。

それの何が問題か

まず、インフラ系の仕事をするには結構な情報収集が必要です。日々現れるセキュリティホールのレポートを調べたり、アップデートした時に既存のソフトウェアやデータに何かトラブルがないかと事前に調査したり。ゲーム系のプログラマーなら、新しい描画アルゴリズムを勉強したり、開発ツールを開発したりとやることは全然別物です。

もちろんそれぞれ、相当に時間がかかります。どっちもある程度同時にこなすことならできますが、最前線で走り続けるのはたぶん不可能です。僕自身も色々とやりますが、その時々でサーバー系重視、グラフィック系重視と切り替えながらやっています。この切り替えも数か月単位で切り替えるので、逆に言えば数か月は最前線から退いている期間があるということです。

今の時代、製品が溢れかえっているので、本当に競争力を持ちたいなら最前線を追い続けることはとても大切なことだと思うので、こうした状況はあまり好ましくないと思っています。

現実問題

とはいえ、最近ではネットワークを使わないコンテンツも減ってきたので、クライアント系、サーバー系という分け方は残しつつも、どちらもある程度知っておいて欲しいものです。というか、知っておいて当然だとも思っています(なぜ知っていて当然と思うのかは長いので割愛)。

そして同時に、まったくプログラムとかネットワークもわからないのに、ソフトウェアを売り物にしている業界にいる人たちは「自分は全く分からないから、全部まとめてエンジニアと呼んでしまおう」と、ひとくくりにされている悲しい現実があります。しまいには「メールの設定方法がわからないからプログラマーに聞く」みたいな。

エンジニア。それは「便利屋」の隠語

結局のところ「トラブルがあってわからないことは全部丸投げ」という先にあるのが「エンジニア」という言葉なのだと思います。

プログラムを隠し事なのか、PCの設定をする人なのか

同じ会社、同じチームで仕事をしているのに、その人がどんなスキルを持っているのか、どういったところで最も能力を発揮するのか、頼む仕事は本来その人しか解決できないことなのか。しっかり考えていただきたい。

PCの設定など、調べれば誰でもできる事です。それをプログラマーに渡してしまえば、プログラマーがプログラムを組む時間はどんどん失われます。それは結果、製品の質の低下に繋がります。

いわゆるエンジニアとひとくくりにされている人たちの仕事は代役が効かないものが多いのですから、その人たちの仕事をサポートすることはとても大切なことだと思います。もし、足を引っ張ることしかしないのであれば、正直いなくなってもらったほうが、仕事の効率は上がります。