wantedlyで、CTOから新入社員にむけてのメッセージというブログを書いたのですが、
新入社員の転職戦略 by 藤川 真一えふしん | BASE株式会社
内容的には、普通の会社員の生き方の話であって、改めてよくよく考えると「CTOから」と書いてあるのだから、もしかして期待されてることが違うんじゃないかと思ったので、もう少し技術寄りのバージョンをここに書いてみます。
お題は「ソフトウエアエンジニアは時間外に勉強をすべきか?」ということに触れてみたいと思います。
エンジニア採用系の記事が増えたことで、少し過激な表現として「ソフトウエアエンジニアは、時間外に勉強すべき!」という言説がネットで出回っていて、これについて賛否両論あるようなので、議論してみたいと思います。先に書いておくと、この文章、長くなってしまいました。
そして、この記事の結論を先に書くと「他人を出し抜く機会が時間外にこそある」ということですので、それだけで察していただける方は戻るボタンを押していただいて構わないと思います。
ー・ー
僕は新卒社員の時には工場を自動化するために使う制御装置を作る機械系の製造業の会社にいました。そこでは、機械系のエンジニアは、旋盤を使って鉄の棒を削ったり、鉄の板を切ったり、曲げたりして装置を作ります。僕も制御系のエンジニアで入社しましたが、最初の数年間は現場で、ものつくりの技術を学ぶ良い会社でした。(大卒エンジニアは影でぶーぶー文句言ってたんですけど、結果的には、凄いラッキーでした。今の時代だからこそ、これは正しかったなと)
作業に必要な装置は、会社の設備としてしか使えないのですから、上長の許可無く時間外に技術の研鑽をすることができません。(っても、残業は、毎日3hぐらいは普通だったので慣れないうちは、十分、それだけでヘトヘトだったけどな。)
テレビで見た限りですが、トヨタグループでものづくりをしている人たちは、年に何度か、旋盤技術を競う大会などを会社で開催して、その勉強のために時間外にも勉強ができるようにしていたと思います。ソフトウエアで言うハッカソンみたいなものですかね。
しかし、基本的に時間外に作業をするのは、安全面を考えても難しいことから、時間内で仕事を覚えるというのが基本原則になります。
それに対して、何故、ソフトウエアエンジニアは、時間外に作業ができるのか?というと、それは簡単で、作業に使うソフトウエアが無料で手に入るから、に他ならないでしょう。
ある意味、全員フライングみたいな状態です。
ひたすら技術を触ってるのが好きな人は、別に仕事や休日構わないで何かをいじるのが好きだったりするので、その感覚を起点として、「時間外も技術に触るの当然!」という厳しい言説も出てきがちになります。本人たちは好きでやっているのですから、それが感覚的にも物理的にも不可能な人との溝は広がるばかりです。
もしプライベートと仕事をしっかり分けたいと思っている場合、残念ながらこの現実は存在してしまいます。特に若いうちだと、それによる時間差は無視できなくて、自分はプライベートをしっかり休んでいても、ライバルだと思っている人は、休日も使ってどんどん前に進むことができてしまう世界だというのは事実でしょう。
このような状態について、作業できない側の人から、たまに状況を嘆く声がネットにもでてきます。あまりにもブラックっぽいと?。ネットでこのことを批判すると、そんな甘いことを言うな!と、ネガティブな反応が目立つようですが、冒頭に書いた、他の業種との比較をすると、ある意味、業界総出のチキンレースに見えてしまう状況というのは、まぁなくもないかなと、言ってるストレスを理解することは可能です。
ー・ー
ただ、これは現状としては仕方ないことだと思っています。
なぜなら、そういう自由があったからこそインターネットは短期間に成長したし、Linuxを使ったシステムはあっという間に世界を駆逐しました。
Windowsは今も頑張っていますが、僕が新卒だったころに花型企業だった、商用UnixやJavaを開発したSun Microsystemsは、もう存在しません。
その代わり、誰でも低コストにインターネットを活用できるようになって、サーバを持つことが非常に自由になったのですから、現状、目の前にWebの仕事が存在する要因とがセットで存在するので、受け入れざるを得ない事実なのだと思います。
それ故に、技術の勉強を有意義に学ぶためにも、楽しく学ぶことや、純粋に技術の変化を趣味として楽しむことで、世界の変化に対して興味を持てるか?という感覚が重要になってきます。
技術の変化は、普段、仕事で扱う技術の趨勢よりも遥かに高速で変化していきます。
仕事で作ったシステムは数年から10年以上維持していかなくてはいけません。当たったビジネスであれはあるほど、ほいほい技術を変更するわけにはいかないというジレンマがついてまわります。日々の改善に含まれる暗黙知をあっさり捨てる時にすべてをリファクタリングで汲み取れるエンジニアはいませんから、技術の変更は毎日の蓄積のリセットになってしまうことが多く、エンジニアのコード書き直したい症候群は危険だというのがプロダクトマネジメントにおける定説です。
それ故に、時間幅が、技術の変化よりは遅れが出るのは仕方ないことなのです。むしろビジネス的には当たったわけなので、アーキテクチャがレガシー化しうるに値する存在価値を持っていることは、古いヨーロッパの建築物のように自信を持って主張するべきことなのに、何故かネットでは、メディアを中心として、ネタになりやすい新技術への注目度が高いため、当たったビジネスのシステムほどレガシー感が出てしまうというのが、この業界における重大なジレンマです。(別に技術的負債を正当化してるわけではない。今を壊しながら、安定的に改善していくスキルが、Webにおいて重要な技術力になります。⇒ご参考)
それに対してブームになる技術自体は、数年単位、ヘタすれば数ヶ月単位で、コロコロ変わっていきます。その両者のスピードの差がある以上、それらすべての技術を仕事の中で吸収することは理想論であることがわかります。しかし、いざ、新しいことをやろうとした時に、どの技術を選定するのか?という目利きの力をどこで培うのか?という話になるでしょう。
何かの一時的なブームがあって、それほど成熟してない技術を採用して、後から困ることというのも、ちょいちょい存在しますね。最近だとフロントエンドの技術が話題ですかね。そういう部分もあいまって流れ行く技術の変遷や歴史は、身を持って知っているに越したことはないのです。
そのような目利き力、実証力などが仕事の時間以外に培われていると、いわばすでに準備運動が完了している状態になるため、いざ、何かをしようとした時にかかるスピードが早くなるハズです。「技術のオーソリティ」として、それが業務と的確に結びつくのであれば、仕事における評価も上がる結果になるでしょう。それがフライングという表現になるわけです。それ故に、「仕事外でも勉強すべき」という言説は、確かに厳しい意見だとは思うものの、否定しきれないのも事実です。
乱暴な表現ですが「オタクが評価される時代になった」というのが一つの現実ではないかと思います。
ー・ー
もちろん、別にそれをしないからと言っても評価されないというわけではありません。当然、会社は無報酬の時間外活動を、純粋な労働として受け入れて、その人の成果として評価するわけにはいきません。もしそれをやってしまうなら、その活動は時間外労働として認めるべきか?をマネジメントする対象になってしまうので、もうその時点で、楽しい活動ではなくなってしまうでしょう。
あ、そうそう少しずれるけど、「この会社は平均年収x00万円だ」という表現がありますけど、それが高い会社は誰でもそのお給料がもらえるわけはなく、その金額に見合う人しか採用してないという意味であり、その金額が低い会社は、ある意味、その人材ラインを受けれている会社だと見ることができます。つまり、どっちが良いのか?を考えると、幅広い雇用の機会を提供しているのは平均年収の低い会社であり、平均年収が高い会社はその分、採用ラインが厳しいと見ることができます。自分自身がどっちの枠に所属するか?で見え方は変わってきますので、ネットの言説には気をつけましょう。
類する話に、そもそも生活コストレベルが異常に高いシリコンバレー価格と比較していいのか?みたいな話もありますね。
つまり、何かの現象には何かの理由がセットになっていて、単純に適用可能かというと、そうでもないですよ、ということです。それが大企業だと新卒で滑りこんだところで生涯年収に影響があるというラッキーな状態だったと思いますが、ネットビジネスではそのまま適用するのはまだ危険かなと思います。そういうのは十分成熟した産業における、ところてん型人事方式の恩恵だと思いますので。その話はまたどこかで。
さて、話が戻ります。
うまく評価される一つの考え方として、時間外活動で得たスキルやセンスを活用して、あくまでも業務時間内におけるアウトプットで評価をするわけです。
この部分に着目して、自己研鑽を行う時間を見て見ぬふりをしているなら、それは時間外労働だろ!卑怯だろ!という見方はあるかもしれません。しかし、それが労働として管理される対象になった瞬間に、やる気がなくなって、結局何もしなくなるというのが人間というものではないでしょうか?
結果として、何も管理されない状態で、好きで何かをなしえた人の方が、転職時などの雇用の段階で有利になる現実があることは否めないこと。そういう意味では、報酬の中に織り込み済みであったり、雇用のされやすさ、という部分で有利になっている部分はあると思います。
本文に書いている、現状のインターネットに関する技術の成り立ちの部分を理解してもらえば、ある種、オープンソースが故に労働法などではフライングに歯止めが効かない状況を、エンジニアの本分としてポジティブに受け取れるか、否かという業界解釈の問題だと理解することもできます。
つまり、エンジニアが休日にフライングしてしまうことが可能な状況そのものが、今の仕事が存在しうる理由そのものであると考えれば、そこに対して、なんとも言えないのではないか、というのが個人的な理解です。まして今どきは企業が開催するハッカソンなど、チームでフライングする活動もあって、その差は開くばかり、という見方も不可能ではありません。
ー・ー
長くなっちゃったな。。。ここまで読んでくださった方ありがとうございます。あと少しです。
もし、それがどうしても苦手であるならば、もう少し設備産業の方にシフトすることで、自分の休日を守ることは可能かもしれないです。しかし、AI化されていく社会において、それが何十年後も先の人間の仕事であり続けるかどうかはよくわからない、というのが現状かもしれません。個人の時代というのは、労働法で守られる労働者感覚だと難しい時代になってるな、という面は否めないと思っています。
それが、ある意味、フリーエージェント化される世界ではないかとも思っていて、野球選手のようにはなりませんが(選手寿命は短いのと、参加枠が限られていて、タレントと同じ広告モデルなので報酬が高騰します)、徐々に、評価される人は報酬が高くなっていきやすい状況はできつつあります。彼らは自主トレをしたり、毎朝ランニングしているからこそその立ち位置が得られているとも言えるわけです。
あと、そもそも論として、何もないところにお金を発生させるのは難しいわけですから、原資としての売り上げや、投資が伴っていることがセットですけどね。野球選手だって広告ビジネスやスポーツにおける関心があるから、野球をすることでお金がもらえるわけで、みんなが野球の興味がなくなったら、野球選手の今のお給料は維持できないでしょう。そういう儚い前提があって、その職業が生かされているということは十分理解する必要があります。
なお、会社が人を評価する軸はいろいろありますし、重要視されるポイントが、必ずしも時間外活動における未使用の技術を知っていることが重視されるとは限らないというのは、間違わないようにしましょう。あくまでも業務時間内における、自社製品への愛情や関心、姿勢が評価されることの方が圧倒的に多いので、単純に時間外で何かをすることがエンジニアの価値になるわけではありません。そこは絶対に間違えないほうがいいです。
そもそも時間外活動は仕事ではないのですから、業務時間内のアウトプットで評価せざるを得ないわけですから、会社への感心がなく外向きの活動ばかりしているのでは、評価される理由がありません。
例外的に突き抜けている人に限り、自社ブランディング、採用面などでの寄与ということで、社内組織と折り合いをつけている会社さんも少なくないというのが現状だと思います。要するに売上アップではなく、採用コストの低減や良いエンジニアを採用することで新規事業への適応力の増強などをもってして、折り合いをつけようとする考え方です。これは確かにすごく重要な話なのですが、あまりやり過ぎると、社内の業務が軽視されるように見えてしまって本業を支えるモチベーションが揺らいでしまうとバランスはよくないので、マネジメントサイドの舵取りが求められる考え方です。
研究職でも置くケースも増えていますが、基本別枠扱いということになるので、それで生きていくのは、そんな甘くないですよ、ということは理解しておくといいでしょう。それこそ博士号などを取った方は手慣れた生き方だと思いますが、その時点で特別感あるのはわかりますよね。
ただ、CTO職だけは、この採用の部分のスキルの比重は相当大きいかもしれません。そういう道もあるということだと思います。なんとそういうスキルがエンジニアの最高峰の立場に見えてしまうことが、時間内労働だけが簡単には労働の対価として割り切れない世界だということを示しています。経営レイヤーに関しては労働時間の縛りなく、どんな手段を使っても、ということになるわけでして。
【PR】ご意見、感想などは是非、mstdn.fmのローカルタイムラインでお聞かせください