
数年前からセミナーなどで現場の一線で活躍するエンジニアの登壇を見ることが数多くあり、それぞれの会社での組織改革をたくさん聞いてきました。
どなたも素晴らしい活動をされているんですが、そのどの活動内容も現在進行系の話がほとんどでしたので、結末を聞くことはありません。
そして、こうした公開セミナーにおいては、良いところばかりフューチャーして、悪い面はお笑い話程度にされることが多く、これって単なる他人の自慢話を聞かされていて自分の所属する組織で参考になること、注意点、比較などがほとんどないという事にも気が付かされました。
こうした講演の中で僕の中で引っかかる言葉があり「学習コストがかかりすぎる」「学習コストを下げることが最善」という内容で、どうやら、古いシステムを使っているが故に無駄が多く、覚えなければイケないことがたくさんある事を「学習コストが高い」という言い方をしているようだ。
学習コストが高い現場

学習コストは、物事(プロジェクトや何かの構築作業)を達成するときに、その物事に関わる事の学習の事を指していると思われるんですが、その現場特有のルールなどの学習であれば納得できるんですが、
エンジニア現場で言われる学習コストは、そもそもの技術スキルなども含めて「学習コスト」と言っているようです。
とあるWEBサービスを行なっている会社での話で、未だにPerlで書かれた古めのソースコードを利用しているため、新人で入ってきた若手エンジニアはPerlを覚えないといけないという時に「学習コストが高い」と表現していたり、

また別の会社で、10年ほど前にPHP4で書かれたWEBシステムを改修しないまま使ってきて、OSやモジュール環境も最新に更新できずに、サーバーエンジニアも新しい環境適合を調査しながら運用を行なっているとの事。
ここでも、エンジニアの学習コストは高く、マニアックな運用をしているため、ググっても同じ事象が発生するコミュニティなどもあまりなく困っているそうです。

言語の古い新しいという事にも関連して、言語トレンドも年々変わってきており、エンジニアの中では最新のトレンドに乗っかっていないと不安を感じる人も少なくないようです。

今回の記事は、個人的な見解をまとめてみた記事なので、読んで不快に感じる人もいるかもしれません。その点をご了承して閲覧くださいませ。
最新技術は学習コストが低い?

「Pythonは学習コストが低い」という事を色々なセミナーで耳にし、WEBサイトで見ることがありますが、確かにPython言語は、素人でも簡単に色々なツールが構築できる言語ですね。
ライブラリは豊富に揃っているし、同じことをやっているエンジニアも多いため、ググればすぐに対象のソースコードや環境設定などが表示されます。
また、サーバーエンジニア業界においても、AWSは衝撃的なサービスで、今までのオンプレ環境構築で様々なハードウェアトラブルに嘆いてきたサーバ担当者からすると、仮想サーバーという技術でちゃんとしたWEBサービスが公開できるなんて、夢のような環境です。
ここでも、サーバーハードウェアなどの知識はほぼ無くても基本的な事は、GUI環境で設定完了してしまえます。
さらにIoTも電子工学などの基礎技術を知らなくても、電圧電流抵抗の計算方法を知らなくても、レゴブロックを組み合わせる容量で簡単に自分好みの電子部品が作れてしまうという、なんともおもちゃのような世界になっています。
確かに、最新技術は、学習コストが低いことがよくわかります。
基礎技術は知っておく必要がない?

仕事としてのプロジェクトは出来る限り迅速に、確実に完了出来てしまったほうがいいので、こうした最新技術を使えば開発コストが削減され、結果、人員コストが削減されることは言うまでもありません。
ここで考えたいことは、こうした最新技術で学習コストを下げまくった会社は、エンジニアが育成されないという事実を知らなければいけないという事。
エンジニア育成は組織によって、思考が違うため、全てのエンジニアの技術レベルを上げなければいけない組織と、ヘッドになる人のみ、深い技術を知っていて、後の人は、サポートできるレベルでいいという組織では、教育スタンスが違ってきますが、
エンジニアとしては、自分の技術レベルを高めたくないという人はほぼいないはずです。
できれば、上限のない技術という世界で自分のスキルをどんどんあげたいと考える人の方が普通ではないでしょうか?
そう考えた時に、「学習コストが低い」という状態は、技術の探求が無くなり、文字通り学習されなくなるという事になります。
本質を考える

この「学習コストを下げたい」という発言は、エンジニア組織における管理者が、自社の従業員や部下などのマネジメントにおいて、より効率化したいという思考から生まれた言葉ではないかと思われますが、
そもそも部下マネジメントが苦手なエンジニアという職種なため、部下をリファクタリングするイメージで発せられた言葉から、それを聞いた人たちが、「コストは高いより低い方がいい」という言葉マジックに陥った結果、広まった認識なのではないですしょうか?
ようするに、無駄は無くしたほうがいいが、学習コストは低いよりも高い現場の方が技術レベルは高く保てるという事も頭に入れておかなくてはいけません。
現場が全て「学習コストを下げよう」という事になってきていれば、組織の質を下げようと一生懸命になっているとも見て取れます。
最後に

学習コストを下げるという事の本質を捉えて、無駄を無くすという事は大賛成ですが、組織において「何が無駄で何が必要なのか」を今一度考えてみることも必要でしょう。
人を育成するという事はすなわち学習するという以外の何物でも無いことは、組織の管理職であれば、認識しなければいけませんね。
そもそも組織の管理職が学習していない為に発せられた言葉なのかもしれませんね。
0 件のコメント:
コメントを投稿