ITエンジニアの技術力
ベンチャー時代から日本有数の規模のサイトに携わってきましたが、ITエンジニア技術組織について現場サイド主観であれこれと。
■
ずっと現場でエンジニアをやっていきたいので個人としてのエンジニア価値を高く保ちたいと日々勉強しています。そういった日常で経営サイドよりの人とコミュニケーションをとる際に違和感を覚えることがあります。
「技術力」というワードを広義で捉えて使っていることが多いですね。現場には多種多様の技術の軸があって、また各方面の技術力を比較することはナンセンスなことなのですが、ITエンジニアの技術力をひとまとめにしている感が否めないときに違和感を覚えます。
逆にぼくたちエンジニアも「経営」というワードを広義で捉えて使っていることが多いです。それで良いと思ってます。結局、それに従事しているから感じること、関連するささいな情報もキャッチアップできることがあるわけで、その積み重ねの結果しか見えない他人があたかも同じ立場であるかのようにコミュニケーションをとるのはそもそも無理だと思います。
■
問題提起したいことは
- 「経営」が決めた「技術力」を“正”とすること
これはさまざまな面で間違った方向へ導いてしまうほど致命的に問題があることです。会社(=経営)が決めた「技術力」の基準はその会社では当然、準拠すべき基準と考えていますがITエンジニア個人の価値、また「技術力」の継続的な維持という観点では良い悪いの判断が言葉のとおり正反対になります。
技術革新のスピードが速いIT業界かつ情報がオープンなこの時代にクローズドな環境でやることほどリスクはないと考えています。オープンソースもそういった背景でデファクトになっているのではないでしょうか。
ITエンジニアが決めた「技術力」を“正”とした場合はどうでしょうか。これもよろしくはないと思います。その技術がどのように利益(=経営)に結びつくかなんてすぐ忘れてしまいます。
やはりバランスが大切ですね。いちITエンジニアとしての葛藤する場面があります。コピペコードを利用して圧倒的なスピード感を出すか、持っているスキルまた経験値を積むためにスクラッチで作るか、どちらを選択するかは外部要因に大きく左右されますがどちらも一理あると思っているので、もやっとしてしまいます。
■
ITエンジニアの技術力について言いたいことは「技術を作るのは“人”なので、『技術力』の基準をグローバルでオープンな環境で決めておくと少なくとも技術力が劣っていることに気付くだろうし、自ずと劣らないように努力をするものだということです。結果「技術力」がある状態を維持できるのではないでしょうか。
「技術力」をつけるために、また計るためにプログラミング言語やミドルウェアで表現する場合があります。今時点を計る場合はいいと思いますが1年先、2年先にどのような技術革新が起こっているか分からない業界では見誤る場合があると思います。
行動規範がグローバル/オープンな環境を基準にしているエンジニアは、経験則ですが常に活躍しています。結果「技術力」があるんだと思います。そういった人材を集めると向くベクトルは暗黙共有されているので、自ずと「技術力」の高い組織になるんじゃないでしょうか。
あえて付け足すと現時点のグローバル/オープンな環境の基準とサラリーマン的な基準とは大きく乖離があります。
象徴的に例えを出すと 「遅刻して評価が下がる」のは、社会人として当たり前ですが「技術力」または「モノを作る」上では遅刻がどうのこうので影響はほぼありません。勤務時間にある程度の自由を与えればそもそも遅刻がどうのこうのという不毛な議論は起こりません。
シンプルに「モノを作る」集中できる環境/制度となっているか、という観点は今後より強くなっていくと考えています。