Help us understand the problem. What is going on with this article?

エンジニア業界を少し外から眺めて

お断り

ここに書いたことは、私が所属する会社とは何の関係もない個人的な考えです。
特定の業種には不快感を与えるかもしれませんが、日本のエンジニアが楽しくモノづくりができるようになる未来を願っているだけで、他意はありません。


あるqiita記事で、「格上と格下」という技術者の類型について熱い戦いが繰り広げられていました。

私がそういうモノに参加すると炎上することはわかっていたので、参加しないほうが良かったのかもしれませんが、ついつい参加してやはり沢山の方に敵認定されてしまったようです。

言い訳というわけではありませんが、私の考え方について書いておきたいと思います。

業界の病

日本のIT業界は病にかかっている。そのことは、どのエンジニアもうすうす気づいているのではないかと思います。その根本は、日本特有のSI(システムインテグレーション)という開発モデルにあります。

この開発モデルは、「個々のエンジニアの能力に依存しない開発」を目指しています。むしろこの言葉に呪われています。その極限に、いわゆる***(消しときます)PJの「ノーコーディング」が存在します。これが、日本のSIの理想とされる開発です。
この業界は、「エンジニア不信という病」に冒されています。

しかし、私は「システム開発=創造(クリエイティブ)」だと考えています。能力に依存しない開発というのは論理矛盾です。そんなものは開発ではありません。

業界がこのような間違った定義をした結果、業界自身が「エンジニアの創造能力」を評価しなくなった。今更能力のあるエンジニアがいない? そうしたのはあなた方です。

私は、未来のエンジニアは現在のエンジニアより間違いなく賢い。という前提に立つべきだと思います。
その前提なく日本のエンジニアリングが成長することはありえない。現在の我々の創造性を全力で発揮せずに、システム開発に成功することはあり得ない。
そう思っています。

エンジニアの生産性

日本のエンジニアの生産性が低いというのもよく言われることです。ですが、これは当然のことです。
客が100万/月を支払ったとき、実際にエンジニアの手元に入る額は30万/月だったとします。

このエンジニアは、100万/月の仕事をすれば十分でしょうか?30万/月の仕事をすれば十分でしょうか?
私は30万/月の仕事をすれば十分だと考えます。
それが報酬の定義だからです。

しかし、GDPなどの指標的には、客が100万/月を支払っているのにエンジニアが30万/月の生産性しか発揮しなければ「生産性が異常に低い」と評価される事は避けられません。

では、残りの70万/月の付加価値を創る仕事は誰がすべきなんでしょうか?

このことを、業界は真剣に考えるべきです。

書くまでもないと思いましたが、コストには人間のコスト以外にも様々なコストがあります。それらのコストは当然100万の内訳に含まれるという事は承知の上で読んでください。

エンジニアの病

私はエンジニアは職人だと思っています。
職人は、自分が製作したモノに責任をもつべきです。

寿司職人は、自分が作る寿司で食中毒が起きない事に責任を持つべきです。

同時に、私は職人が作ったモノは美しくあらねばならないと思います。
刀や家具や服。良い職人が創ったモノはどれも美しく機能的です。

さて、我々ITエンジニアが創るものはシステムでありコードです。
我々は我々の書いたコードで食中毒が起きない事に責任を持っていますでしょうか?
我々が書くコードは、美しく機能的でしょうか?

もしそうでないとしたら、それはなぜなのか?

「時間がないからだ」そういう声が聞こえてきそうです。
寿司職人や刀鍛冶や家具職人、服飾職人が「時間がないから」と言うでしょうか?

全エンジニアは自らの理性に問いかけるべきだと思います。
自分のコードは、売れるコードだろうか?
売ってもいいコードだろうか?
価値のあるコードだろうか?
社会に利益を与えるだろうか?不利益を与えるだろうか?

そこを判断するのが、「エンジニアの理性」です。

チームの空気

チームによって、学習意欲の高いチームと、そうでないチームの差が激しい。それは事実だと思います。
私は空気というものは自然に発生するモノではないと思います。

日本人の順法精神が(比較的)高いのは、昔の日本人たちがそういう日本を求めて、教育を整備し、子供たちにそう教えてきたからです。

我々がそういう国に生を設けたことは「恵まれている」事は間違いありません。
先人たちから「恵みを与えられた」のです。

どんな社会も、その社会が目的のために何もしなければ、必ず「無秩序」が勝ちます。
無秩序とは、寿命が20年程度しかないような国のことです。
無秩序の中で秩序を産もうとする努力は、必ず本人には大きな負担になります。

ある意味「負け」が確定します。
だれも負けたくはありません。自分一人がその負担を負うより、周囲と同じ考えになってしまったほうがどれだけ楽でしょう。

無秩序と戦う社会にのみ、秩序が生まれるのです。

我々の所属するチームは、我々が一から作るしかありません。そこにある空気は、そこにいる人々が創るのです。成長を望むチームにしたいのか?先進的な技術を取り込んで価値の高いコードを生産するチームにしたいのか?

全てが所属する人が考えて、空気・秩序を創らない限り、それは生まれないのです。

私の行動

私は以下のことを心がけています。

注:これは、あくまで私がチームの空気を作るためにやっていることを、サンプルとして書いているだけです。
こうすべきとも書いていませんし、これをすればそういう空気になるとも書いていません。
作るべき空気は業務内容によるだろうし、その処方は集まっている方によって変わるでしょう。
これが正しいと言っているわけではないという事を承知でお読みください。

  • 私は、「私の経歴のために」、手がけるシステム構築においてよい成果を出したいと望んでいます。正直、私は開発経験はそれほど豊富ではありません。
  • そのために、周囲のエンジニアに協力してほしい。培ってきた経験と技術を貸してほしいと望んでいます。
  • 各技術者はその製作物に誇りをもっています。上から目線でその誇りを傷つけてたら彼らは協力を拒むでしょう。
  • チームのwinとエンジニアのwinを調整することなしに、チームの成長もエンジニアの成長もありません。
  • ルールは必ずボトムアップで決定します。皆の経験と知識の集合の中により良いルールが存在するはずです。
  • メンバーが新しい事に挑戦するリスクを、常に共有します。問題が発生したら、それを自分が中心となって全力で回復します。それを事前に宣言して新しいリスクに挑戦することを求めます。
  • 各エンジニアは、基本的にタスクの仕様確定からリリースまでの全工程に責任を持ちます。それに対して助言をすることはありますが、命令はしません。
  • 顧客に対して(上司でもいい)、自分がメンバーの手柄を奪う事はしません。顧客(上司)の前で、メンバーに感謝の言葉を述べます。
  • 顧客に対して(上司でもいい)、自分のミスをメンバーのせいにしません。顧客(上司)とメンバーの前で謝罪します。

私は自分の目的を達成するために、必要と思われる事をしているつもりです。

私は「恵まれている」でしょうか?
考えてみて頂きたいです。

もちろん感謝はしていますよ。
うちのチームは自慢のチームです!

番外編:ルールと価値観

例えば「新しい技術を取り込むチームにしましょう」という目標を掲げたとします。このチームは新しい技術を取り込むチームになると思いますか?

私はならないと思います。
ある目標を達成するには、チームのルールに「その方向の努力によって個人がインセンティブが得られる」ルールを設定する必要があります。

資格を取ればボーナスが得られる。それも一つの方法です。ですが、金銭的な報酬は、効果のある人とない人がいます。
エンジニアの利得とは「達成感、エンジニアとしての成長の実感」ではないでしょうか。

チームにおけるルールは、チームの価値観を表現しています。
もし目的とルールが乖離していたら、その目的は絶対に達成されません。

チームのルールが表現している価値観とは何か?
たとえば9:00に来て19:00に帰らなければならないという時間厳守のルールは、「時間が評価である」という価値観を表現しています。

たとえば新しい技術の導入に積極的でない、リスクを取らないルールは、「進歩する必要がない」という価値観を表現しています。

あなたのチームのルールはどのようなものですか?

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした