SSブログ

株式会社令和トラベルを退職します [転職]

2023年12月1日から働き始めた株式会社令和トラベルを3月19日付けで退職します。1984年4月1日から社会人として働き始めてから9社目の会社でした。9社の中で最も在籍期間が短かった会社となります。

私自身は、今年の11月で65歳になります。ウェブサービスの業界で働き続けるとしたら、API仕様ファーストおよびE2Eテストによるテストファースト開発を経験するエンジニアを増やしていければと思っています。もちろん、私自身もソフトウェア開発を続けたいのは以前と変わりません。しかし、私自身が正しいと思わない方法でソフトウェア開発を続けたくなかったので退職することにしました。

API仕様ファーストとその仕様をテストする自動テストを(テストファースト開発で)整備しながら開発をするというのは、私自身はウェブサービスのバックエンドサービス開発に従事してから始めたことではありません。API仕様をきちんと記述するというのは1993年頃から行っており、API仕様を自動テストするといのは、2003年以降に富士ゼロックスおよびリコーでの2つのデジタル複合機のコントローラソフトウェア開発で行ってきたものです。

何歳までソフトウェア開発に従事できるかは分かりませんが、同じような経験を積んでくれる開発を一人でも増やせればと思っています。

良かったこと

令和トラベルで働いてよかった点を挙げると、以下のとおりです。
  • TypeScriptおよびGraphQLを学ぶきっかけになりました。どちらも、専門家にはまだまだほど遠いですが、強制的に学ぶきっかけになりました。
  • メルペイやカウシェでGoで構築したE2Eテストフレームワークの基本的な考え方を適用して、TypeScript/JestでE2Eテストフレームワークを作成して、新たな機能をE2Eテストを書いて実装しました。
モックを多用した既存の単体テスト(結合テスト?)から、長期的にE2Eテストを整備することへシフトしないことになったのは残念です。E2Eテストフレームワークに関しては、外部サービスのフェイクサービスを実装するところまではいきませんでした。

Jestテストフレームワークでは、テストファイル単位でプロセスが生成されて実行されるため、外部サービスのフェイクサービスを同じプロセス内で動作させることはうまくいきません。したがって、別プロセスとしてフェイクサービスを起動して、テストコードとそのフェイクサービス間で通信をしながらレスポンスやエラーを設定をする必要があるのは分かっていたのですが、そこまでは着手できませんでした。

※ 私は、モックフレームワークを多用したテストは、昔から好きではないです。『Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス』の「13.5 本物の実装」(p.307)で議論されています。

今後

退職後は、業務委託でどこかの会社を手伝うことはあっても、会社勤めはしない予定です。
コメント(0) 

株式会社令和トラベルで働きます [転職]

一か月前に「株式会社カウシェを退職します」を書きました。その時点で12月からの勤務先は決まっていませんでしたが、12月1日より株式会社令和トラベルで、嘱託社員契約でバックエンドエンジニアとして働きます。

勤務形態

週4日(月曜日〜木曜日)勤務です。週4日勤務は、2017年9月から続けている勤務形態です。

オフィスは渋谷(カウシェの新たなオフィスの近く)ですが、基本的に自宅からフルリモートで働きます。実は、1年2か月在籍したカウシェには、入社前にオフィスへ行ったことはあるのですが、在籍期間中は一度も出社しませんでした。

9社目

11月で64歳になり、令和トラベルで社会人になって9社目となります。
私の世代は定年まで1つの会社で働き続けるのが普通でした。実際、富士ゼロックスでの同期や後輩の多くは60歳の定年まで勤めています。私自身は、「定年退職」を経験したことはなく、どの会社も定年退職前に退職したことになります。

バックエンド開発

ウェブサービスのバックエンドとしてのキャリアはソラミツからなので、すでに6年を超えたことになります。ただ、今まではGo言語での開発でしたが、令和トラベルではTypeScriptなので、一から学習しながらということになります。

これまでのバックエンドの開発経験を活かし、私にとっては初めての旅行という領域でサービスを開発しながら、これから大きくなっていく開発組織をいかにスケールアップできる組織にしていくのかという点についても貢献できればと思っています。
コメント(0) 

株式会社カウシェを退職します [転職]

2022年10月1日から働き始めた株式会社カウシェを11月30日付けで退職します。1984年4月1日に社会人として富士ゼロックス(現在は、富士フイルムビジネスイノベーション)で働き始めてから8社目の会社でした。12月からの予定は、未定です。

雑誌記事・翻訳・講演・技術教育

この一年間の成果は次の通りです。

WEB+DB PRESS Vol.134

WEB+DB PRESS Vol.134

  • 出版社/メーカー: 技術評論社
  • 発売日: 2023/04/22
  • メディア: Kindle版

メルペイとカウシェの2社で私自身が推進してきた開発手法を特集1「実践API設計」で解説しています。一年前にカウシェに入社した時点では、gRPCに基づくバックエンドサービスのAPI仕様は全く記述されていませんでした。現在は、この一年間で新規に追加されたエンドポイントでAPI仕様が記述されているだけでなく、過去の技術的負債もかなり返済され、E2Eテストも整備されている状態になっています。

雑誌の記事としては、16年振りの執筆でした。その前は「Systems Engineer Vol.1」(技術評論社、2007年4月)で書いた3本の記事が最後でした。

Go言語 100Tips ありがちなミスを把握し、実装を最適化する impress top gearシリーズ

Go言語 100Tips ありがちなミスを把握し、実装を最適化する impress top gearシリーズ

  • 出版社/メーカー: インプレス
  • 発売日: 2023/08/18
  • メディア: Kindle版

私にとっては21冊目となる技術書の翻訳本です。Go言語で開発するエンジニアは、「プログラミング言語Go」に加えて、必ず読んでもらいたい本です。

Developer eXperience Day 2023

45年の歴史から振り返る、ソフトウェア開発とキャリアの変遷」と題して、私自身のソフトウェア開発とキャリアの変遷を話しました。この講演の内容は、logmiTechで紹介されています。

  • https://logmi.jp/tech/articles/329156
  • https://logmi.jp/tech/articles/329157
  • https://logmi.jp/tech/articles/329158
  • 技術教育

    この一年間で個人として行った技術教育は、リクルート社向けの『Effective Java 第3版』研修だけでした。

    今後

    今月で64歳になります。2020年6月20日に急性心筋梗塞で昭和大学藤が丘病院の救命救急センターへ搬送され、緊急手術を受けました。幸い、心筋の壊死の範囲も狭く、現在も元気に生活できています。

    12月から新たな会社で働くのか、あるいは、働かないで過ごすのかはまだ未定です。一方で、私にとって6冊目となる書籍を執筆しているので、しばらくは、その執筆に専念するかもしれません。

    コメント(0) 

    株式会社メルペイを退職します [転職]

    2018年6月1日から働き始めた株式会社メルペイを9月30日付けで退職します。4年4か月勤務したことになります。1984年4月1日に社会人として富士ゼロックスで働き始めてから、7社目の会社でした。10月1日からは、新たな会社でソフトウェアエンジニアとして働き始めます。

    週4日勤務

    ソラミツ株式会社を退職します」でも書きましたが、リコーを退職してからは、基本的に週4日勤務をしてきました。メルペイでも、金曜日は欠勤するか有給休暇を使うなどして、週4日勤務をしてきました(週4日勤務で働くことに関して、入社前に合意してもらっていました)。10月からの会社では、週4日勤務の雇用契約で働きます。

    初めてのウェブサービス開発

    富士ゼロックス、富士ゼロックス情報システム、リコーの3社で合計31年7か月を過ごし、富士ゼロックスでのワークショテーション開発を除くと、その多くは、デジタル複合機のソフトウェア開発に従事してました。ウェブサービス開発に従事するのは、(gRPCの経験は、前のソラミツで多少は経験していましたが)メルペイがほぼ最初と言ってもよい状態でした。

    メルペイでは私が入社した時点で、すでにマイクロサービスをGo言語で開発していました。私自身は、Go 1がリリースされるより前の2010年夏からGo言語を学んでおり、メルペイへ入社した時点で、次の2冊のGo言語に関する翻訳本を出していました。

    プログラミング言語Goフレーズブック

    プログラミング言語Goフレーズブック

    • 出版社/メーカー: ピアソン桐原
    • 発売日: 2012/10/04
    • メディア: 単行本(ソフトカバー)

    プログラミング言語Go

    プログラミング言語Go

    • 出版社/メーカー: 丸善出版
    • 発売日: 2021/07/13
    • メディア: Kindle版


    Go言語に関しては特に問題はなかったのですが、それ以外の使っている技術やサービスは初めて触れる物がほとんどでした。

    最初に担当したマイクロサービス

    最初に担当したマイクロサービスは、「加盟店様向けの管理画面」用のAPIマイクロサービスでした。管理画面の仕様に対して、バックエンドのAPIマイクロサービスがどのような機能を提供すれば仕様を実現できるかと検討しながら、マイクロサービスのAPI仕様を.protoファイルにコメントとして記述して、API仕様を策定する作業を2か月ほど行いました(「gRPCを用いたマイクロサービスのAPI仕様の記述」)。

    最初の仕様が確定してから、マイクロサービスをどうやってテストするのかを検討しました。正直、ウェブサービスが初めてで、マイクロサービスも初めてでしたので、どのようにテストするのが標準的なのか全く知らない状態で、テスト方法を検討しました。

    その結果、gRPCのエンドポイントを呼び出して、マイクロサービスの本番コードをほぼそのまま起動して、手元のMacBook Proでテストできるテストフレームワークを考案しました。正直、その時点で、メルペイ内の他のマイクロサービスがどのようにして、gRPCのエンドポイントを呼び出してテストしているのかはほとんど知りませんでした。

    フレームワークの実装が終わったら、gRPCのエンドポイントを順にテストファーストで開発していきました。この時の経験をGDG Dev Fest Tokyo 2019で話をしました。その後、同じ話をいくつかのカンファレンスで話したのですが、最後は、Mercari Gearsとして動画(およびテキスト)にしてもらいました(merpay マイクロサービスの開発とテストファースト/テスト駆動開発)。

    私が考案したマイクロサービスのテストフレームワークは、後に独立したリポジトリとして共通ライブラリとして私自身で整備し、現在では、採用しているマイクロサービスが増えています。

    他のマイクロサービスチームへの異動

    その後、いくつかのチームを異動して、2020年7月からは「メルペイスマート払い」に関連するマイクロサービスチームへ異動しました。このチームでは、私自身で何らかのビジネスロジックを実装することはほとんど行っていません。しかし、行った作業の中でも印象的なのは、「テストの安定化」です。

    異動してきた時点で、そのマイクロサービスの自動テストは安定しておらず、かなりflakyなテスト群となっていました。テストを安定させるために、何が問題なのかを一つずつ調べて修正していきました。その際に、問題点を洗い出すための用いた手法が、「長時間ランニングテスト」です(「長時間ランニングテストの勧め 〜開発用ノートPCの活用〜」「(続)長時間ランニングテストの勧め 〜開発用ノートPCの活用〜」)。

    長時間ランニングテストは、私自身にとっては、目新しい手法ではなく、2003年からずっと行ってきた手法です(「マルチスレッドプログラミングにおける重要な4要件」)。基本的に、この長時間ランニングテストは、ずっと続けてきました。

    テストが安定化した後に、問題になったのは、テスト時間でした。そのため、t.Parallel()を呼び出したら並列に動作しないテストコードを一つずつ修正して、できる限り並列に実行するようにしました。そのときの知見をまとめたのが、「Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜」です。

    複業の継続

    複業を20年」に書いていますが、週4日勤務というのもあって、メルペイ在籍中も継続して行ってきました。
    技術書の翻訳
    翻訳本としては、以下の4冊を出版しました。

    Effective Java 第3版

    Effective Java 第3版

    • 出版社/メーカー: 丸善出版
    • 発売日: 2021/07/13
    • メディア: Kindle版

    新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト] (impress top gear)

    新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト] (impress top gear)

    • 出版社/メーカー: インプレス
    • 発売日: 2020/03/13
    • メディア: 単行本(ソフトカバー)

    スーパーユーザーなら知っておくべきLinuxシステムの仕組み

    スーパーユーザーなら知っておくべきLinuxシステムの仕組み

    • 出版社/メーカー: インプレス
    • 発売日: 2022/03/08
    • メディア: 単行本(ソフトカバー)

    Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築

    Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築

    • 出版社/メーカー: オライリージャパン
    • 発売日: 2022/08/03
    • メディア: 単行本(ソフトカバー)

    技術教育
    企業向けの技術教育としては、「Go言語研修」と「Java言語研修」を行ってきました。2020年2月まではオフラインの教育でしたが、それ以降は、オンラインの教育でした。オフラインの教育では、研修後に受講生の人達と懇親会をするのも楽しみでした。また、Go言語研修では、古川陽介さんや和田卓人さんも受講してくれました(「第6期、第7期のGo言語研修が終了しました」)

    これから

    これからもソフトウェアエンジニアとして働きながら、技術教育や技術書の翻訳、それにオンライン読書会(ブログのPC版で左上に一覧があります)も続けていきたいと思っています。
    コメント(0) 

    株式会社メルペイで働きます [転職]

    一か月前に「ソラミツ株式会社を退職します」を書きました。その時点では6月からの勤務先は未定でしたが、6月1日から株式会社メルペイで「ソフトウェアエンジニア(Backend)」として働くことになりました。

    通勤

    勤務場所は六本木ヒルズです。今までよりも乗り換えが1回増えるために、通勤時間はおそらく片道で15分ぐらい長くなるのではないかと思います(往復で3時間を超える?)。朝は今まで通り、自宅の最寄り駅の始発(初電)に乗車して、各駅停車で行く予定です(「通勤電車の書斎化」)。フレックス勤務でコアタイムは12:00〜16:00なので、今までのように出社前にスターバックスに寄って翻訳などの作業をせずに、そのまま出社して早めに帰宅するつもりです。

    7社目

    1984年4月に富士ゼロックスに就職した頃には全く想像もしていませんでしたが、これで7社目となります。
    • 富士ゼロックス
    • 日本オラクル
    • ジャストシステム
    • 富士ゼロックス情報システム
    • リコー
    • ソラミツ
    • メルペイ

    定年まで 18か月 6年半

    日本企業なので就業規則には定年があり60歳です。私は1959年11月生まれなので、18か月勤務すれば定年となります。
    定年は65歳に改訂されていたので、6年半で定年です。

    個人としての活動

    リコーを退職したのを機に、ソラミツ社勤務時代に始めた個人として活動(金曜日に行う、企業への技術教育、講演、コンサルティング等)は、今後も引き続き行っていきます。

    コメント(0) 

    ソラミツ株式会社を退職します [転職]

    2017年8月末に株式会社リコーを退職し、9月よりソラミツ株式会社に勤務してきましたが、2018年5月31日をもって退職します。ちょうど9か月勤務したことになります。退職理由については述べませんが、ちょっと変則的な働き方をしてきたので紹介します。

    週4日勤務

    ソラミツでは週4日勤務の契約で正社員として働いてきました。2000年の頃から執筆や翻訳などの副業は行ってきましたが、あくまでも週5日勤務しながら私的な時間に行ってきました。リコーを退職したのを機に、個人で技術教育・コンサルティング・講演などの副業を行うことを想定して、週4日勤務で週休3日(金、土、日)で雇用契約を結んで働いてきました。個人の活動とはいえ相手先は一般企業であり、週末とはいきませんので、金曜日を当てています。

    金曜日はすべて予定が埋まっているわけではありませんが、ある程度は個人で活動できています(「Go言語研修実績」「講演予定・実績」)

    部分的な在宅勤務

    基本的な勤務時間は9:00〜18:00だったのですが、ソラミツの会津支社で一緒に開発している会津大学の学生と夕方の時間を合わせるという理由と、通勤で楽をしたい(座って帰る)という理由で、16:00に退社して18:00〜20:00まで自宅で作業するようにしてきました。朝は、電車を「書斎化」するために自宅の最寄り駅で始発(初電)(5時54分)に乗車して会社の最寄り駅まで行って、出社前にスターバックスで翻訳作業をして出社するパターンでした。

    体調不良とか午前中の通院のために午後は自宅で開発業務を行うということも(公式ではないですが)できました。

    会津出張

    会津支社へは4回出張し、合計4週間弱でしたが、ソラミツで働いている(アルバイト)している会津大学の学生達と一緒に、会津若松市サテライトオフィスや会津支社で開発も行いました。

    今後の予定

    6月から働く次の会社は未定ですが、引き続き週4日勤務を続けられる会社を探す予定です。

    コメント(0) 

    株式会社リコーを退職します(2) [転職]

    今日(2017年8月31日)がリコーへの最終出社日です。2009年9月1日にリコーへ入社してから、主に行ってきたことを簡単にまとめます。

    【業務関連】所属した開発組織の業務として行ったものです。
    • 技術教育:2010年に延べ500名以上のソフトウェアエンジニアに対して、「ソフトウェアエンジニアの心得」「テスト駆動開発」「C++」「API設計の基礎」などの教育を実施しました。しかし、「教育と場」でも書いたように、今から振り返ってみると、単に「教育をした」と「教育を受けた」ということだけが残り、私が教えた内容を実際の開発の現場で指導する人がいないため、開発組織としてのレベルアップにはならなかったと思います。

    • Jenkins導入:2010年10月から行ったものです。当時デジタル複合機内で動作するJavaの開発環境やインテグレーション環境は、私の視点からはあまりにもお粗末でした。それで、FXIS時代に一緒に仕事をした派遣会社のエンジニアに来てもらい、二人で二ヶ月で一新しました。ソースコントロールシステムをCVSからSubversionへ移行し、それまですべて手作業で行われていたビルドをすべて自動で行えるようにしました。さらに、FindBugsを含む静的解析ツールの導入も行いました。この2年後に「継続的インテグレーションは強みではなくなった」という記事を書いていますが、これは継続的インテグレーションに対する社内のあまりの無理解に対して書いたものです。

    • 1701G:1701Gというのは、2013年7月に発足した開発グループの正式な名称です。私がグループリーダでした。Star Trekのファン(つまり、トレッキー:Trekkie)であれば、1701が何を意味するのか分かると思います。

      このグループでは、デジタル複合機のコントローラソフトウェアをリコー社内では前例のない方法で開発しようとしたものです。Go言語を用いて、完全テスト駆動開発というものです。当時、Go言語での開発経験者の中途採用活動も行っていましたが、今日とは違って経験者は皆無でした。

      グループとしての活動は2年間で終了させられました。途中で、このグループの開発よりもはるかに先を行っているHPの開発を知りました。それについては、こちらで書いています。実は、このHPよりも先行できる可能性があったのが富士ゼロックスでした。1701Gで行った開発は、私が2003年から2009年まで従事したC++によるプロジェクトを、Go言語で若手のエンジニアを中心として焼き直したものでした。

    • 技術レビュー:1701G以降は、開発現場の成果物のレビューを中心として活動を行ってきました。

    【技術教育】2000年から行ってきている教育です。
    • 「ソフトウェアエンジニアの心得」教育:リコーへ入社する前から行っていた2時間30分の研修です。リコーでは、2009年から今年まで、情報系として入ってきた新卒新人向けに毎年行ってきました。

    • Java言語研修:詳しくは、こちらです。8年間にリコーグループで109名が修了しています。途中から数えるのが面倒になったので正確な数字は分かりませんが、約1/4の修了生がすでに転職しています。今年は、2年ぶりにJava研修のOB・OG懇親会を開催しました(その様子はこちらです)。

    • Go言語研修:書籍『プログラミング言語Go』の出版を機に始めたGo言語の研修です。詳しくは、こちらです。
    上記の3つの研修は、希望される企業があれば有償で開催可能です。開催日は原則金曜日となります。ただし、今回私が適用を受ける「セカンドキャリア制度」(いわゆる早期退職制度)の制約により、リコーグループの会社に対しては開催できません。

    コメント(0) 

    株式会社リコーを退職します [転職]

    2009年9月から働き始めた株式会社リコーを8月31日付けで退職します。丸8年働いたことになります。現在57歳であり、定年退職までにはまだ2年と少しありますが、「セカンドキャリア制度」(早期退職制度のようなもの)の適用を受けて退職します。

    8年間の会社での業務や退職理由については述べませんが、業務以外の私的活動の成果をまとめてみると次のようになります。
    現在翻訳している技術書は最終校正段階ですが、8月までには出版にならないので、出版は次の会社へ働き始めてからとなります。

    最終出社日は、8月31日(木)です。そして、9月からは長年勤めた複写機業界(富士ゼロックスが12年、富士ゼロックス情報システムが11年、リコーが8年の合計31年!)を離れて、私にとって6社目となる会社で働き始めます。

    専門性に忠実になる [転職]

    転職に際して、「会社での工数の4割弱程度は、設計・実装・デバッグを行うことが希望である」と採用面接時に述べています。当然、そのような希望が常にかなうわけではありません。実際に、設計・実装・デバッグができなくても、若い人達の育成という意味で、レビューを行うことでも、ある意味、開発活動と見なすことができます。

    大学を出て就職してから、私自身が開発を行っていない時期と行った時期が数年単位で交互に繰り返されています。そして、残念ながら最後の転職からは、行っていない時期となっています。

    確かに、Java教育を行ってもきましたし、継続的インテグレーションの導入や様々なAPIのレビューなども行った時期もあります。しかし、実際に、自分自身がリーダである開発グループを持ってからは、開発ができるというよりも、管理職としての雑務(間接業務)に忙殺されており、チームの実際の開発の成果物をきちんとレビューもできない状況です。つまり、今の状況は、拙著『プログラマー”まだまだ”現役続行』の第12章「30代、40代の人たちへ」で述べている「レビューを行う」さえもできていない状況です。

    前職では、リーダではなく、部長でしたが、むしろ、かなり開発をしていましたし、部長としての雑務は、今と比べて非常に少なかったです。それは、私の他にグループリーダがいて、さらに、事業部には選任の営業がいたため、私自身が開発における間接業務を行う必要がなかったからだと思います。

    会社の仕事に忠実になるのか、自分の専門性に忠実になるのかを選択するとしたら、自分の専門性を選択します。そうでなければ、過去、4回転職することはなかったと思います。

    どうやったら、もっと開発寄りの作業に時間を費やせるか考え直す必要がある時期なのかもしれません。

    キャリア・アンカー [転職]

    ウィキペディアでは、「キャリア・アンカー」は、次のように説明されています。
    キャリア・アンカーとは、アメリカ合衆国の組織心理学者エドガー・シャインによって提唱された概念。

    ある人物が自らのキャリアを選択する際に、最も大切な(どうしても犠牲にしたくない)価値観や欲求のこと、また、周囲が変化しても自己の内面で不動なもののことをいう。
    さらに、アンカーの分類として、以下の8分類が説明されています。
    シャインは主なキャリア・アンカーを「管理能力」「技術的・機能的能力」「安全性」「創造性」「自律と独立」「奉仕・社会献身」「純粋な挑戦」「ワーク・ライフバランス」の8つに分類した。
    • 管理能力 - 組織の中で責任ある役割を担うこと(を望むこと)。
    • 技術的・機能的能力 - 自分の専門性や技術が高まること(を望むこと)。
    • 安全性 - 安定的に1つの組織に属すること(を望むこと)。
    • 創造性 - クリエイティブに新しいことを生み出すこと(を望むこと)。
    • 自律と独立 - 自分で独立すること(を望むこと)。
    • 奉仕・社会献身 - 社会を良くしたり他人に奉仕したりすること(を望むこと)。
    • 純粋な挑戦 - 解決困難な問題に挑戦すること(を望むこと)。
    • ワーク・ライフバランス - 個人的な欲求と、家族と、仕事とのバランス調整をすること(を望むこと)。
    数年前、52歳を対象とした研修で、自分のキャリア・アンカーを調べるというのがあったのですが、確か「技術的・機能的能力」が非常に高かったです。一方で、いわゆる管理職的な仕事は、過去も行ってきてはいます。日本オラクル社時代は、当時のOracle ApplicationsのHRシステムの開発マネージャでしたし、前職のFXISでも開発部の部長でした。しかし、今でもそうですが、「管理能力」はキャリア・アンカーとしては、かなり低いです。つまり、管理職を指向していないということです。

    今、振り返ってみると、日本オラクルを退職したのも、FXISを退職したのも、私自身のキャリア・アンカーとは一致していなかったためかもしれません。最近は、私の回りの知り合いの若手のソフトウェアエンジニアで、転職する人達が多いのですが、彼らも「技術的・機能的能力」を指向しているためなのかもしれません。
    ※ 今年だけで、6名です。私の直接の部下ではありませんが、4名はJava研修の修了生です。