SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

アーキテクトとして活躍、高安氏が30年の業界経験から見出した「すごいエンジニア」を育む組織の秘訣とは?

【15-A-3】エンジニアの成長とそれを支える組織の考え方

  • このエントリーをはてなブックマークに追加

コンサルタントと技術者が対話するには? 役割を超えた共通言語の重要性

 「すごいエンジニア」には、「技術分類・ロール」で共通の特徴があるという。技術をロールごとに分解すると、「アーキテクト」「組織改善・全体技術部門エース」「スペシャリスト/スーパープログラマ」の守備範囲が見えてくる。これをもとに、BTCの「ITコンサルタント」「アーキテクト」「スペシャリスト」の3つの役割に求められる技術を考えると、キャズム論でいう「イノベーター」のような研究的技術ではなく、「アーリーアダプター」や「アーリーマジョリティ」の知識が必要になる。

技術的な分類とロール
技術的な分類とロール

 高安氏は、「技術メンバーは『アーリーアダプター』くらいの技術からキャッチアップをはじめ、それがどのようなビジネス課題に役に立つのかを考える必要がある。また世の中に流布され始める『アーリーマジョリティ』になるとお客さんも興味を持ち始め、課題を解決するためのソリューションも尋ねてくる。そのため、キャッチアップはもちろん、プロジェクトにどう導入するか、どう提案したらよいかを考えて、実際に設定・実装ができるレベルでその技術を習得する必要がある」と解説する。

役割による技術の習熟度
役割による技術の習熟度

 もちろん役割ごとに求められる技術の習熟度が異なるが、高安氏は「ITコンサルタントだから技術を知らなくてもいいというわけではない」と強調する。「『知っている=シーズを理解している』レベルで習得している必要があり、そうなることでアーキテクトやスペシャリストと話ができる。一方、アーキテクトやスペシャリストも、マネジメント領域の言葉を知らなければならない。たとえば、『リスク』という言葉の意味を正しく理解し、その技術を使うことのリスクをマネジメントに説明できる必要がある」と語った。

 技術者とコンサルタントの会話が成り立たなければ互いに理解が進まず、建設的なコミュニケーションは成り立たない。高安氏自身も「あなたは訳のわからない言葉を話す」とコンサルタントに言われ、困惑したことがあるという。改めて、「コンサルタントも技術メンバーもお互いに歩み寄り、つながっていくことが重要」と強調した。

エンジニアはどう技術を学んだらよいのか? 技術取得のためのマインドを紹介

 エンジニアの「技術取得のマインド」について語る前に、高安氏は「ダニングクルーガー効果(Dunning–Kruger effect)」について紹介した。これは、経験の浅い人が自分の能力を正しく認識できず自分を過大評価する現象であり、技術要素の理解においても起きやすい。初心者は、自分の技術レベルを正しく測れていない可能性があることを認識しておくべきというわけだ。

技術を理解するということ
技術を理解するということ

 そもそも技術の選定は、要件に合わせて行われるのが一般的だが、組織における実現可能性もまた重要となる。つまり、どんなにすごいスーパーソリューションでも、自分たちが使えないものを選択しては意味がない。もちろんその技術を使えないことは、テクノロジストとして残念なことであり、同時に技術を導入できる環境づくりにも取り組むべきだ。

 ここで高安氏は「より大きな問題を解決するのに必要な副次的な問題を解決するための、一見して無用な行為」を表す言葉として「ヤクの毛刈り」を紹介した。そして、開発現場で起こりうる具体的な例として、JWT(Json Web Token)をAWSのCognitoで発行した場合の検証コードを挙げる。aws-jwt-verifyというライブラリの書き方は、Blogやリファレンスを見ればわかる。しかしながら、Cognitoの階層構造をみていくと、それぞれのつながりが見えてくる。つまり、JWTを理解するには下階層のPKIや電子署名を理解している必要があるということだ。

技術を理解するということ
技術を理解するということ

 高安氏は「3行ほどのコードでも、本当に理解しようと思ったら、中身を細かく分解し、ベリフィケーションしなければならない。電子署名の鍵がどこにあるのか、JWKのキーを使って検証している過程など、掘り起こして理解する必要がある」と語る。コードへの深い理解を実現するために「ヤクの毛刈り」が重要だというわけだ。

 高安氏は「全部できないという話もあるが、頭の中で書き出すだけでもいい。技術マップを書き、自分に何がわかって何がわからないのか、理解を棚卸しすることが大切。わからないことが問題なのではなく、わからない部分を認識できないのが問題。自分が何を勉強すればいいのか認識できることが大切であり、『ヤクの毛刈り』のようにいろいろと調べながら、成長のきっかけを掴んでほしい」と語った。

 このような姿勢は「ソフトウェアクラフトマンシップ宣言」にも記載されている。効率を重視すると失われる可能性があるが、エンジニアとして忘れたくはない意識だ。また、高安氏はソフトウェア工学の良書として『SWEBOK』(松本 吉弘・訳、オーム社)、『継続的デリバリーのソフトウェア工学』(David Farley・著、日経BP)、『実践ソフトウェアエンジニアリング』(Roger S. Pressman, Bruce R. Maxim・著、オーム社)を紹介した。

 高安氏は、「キャリアの考え方や目標によって、技術に対する立ち位置が違う。モノづくりの観点から『技術の価値』と『ビジネスの価値』を問えるのは、エンジニアならでは。アプリケーションを支えるインフラ技術の在り方や動作しているものの裏側など、深い部分までぜひ技術取得のマインドとして意識してほしい」と語った。

次のページ
技術者の成長を組織で支える──「貢献」を定義して、市場で評価されるエンジニアへ

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

伊藤 真美(イトウ マミ)

エディター&ライター。児童書、雑誌や書籍、企業出版物、PRやプロモーションツールの制作などを経て独立。ライティング、コンテンツディレクションの他、広報PR・マーケティングのプランニングも行なう。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社ビッグツリーテクノロジー&コンサルティング

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19217 2024/03/27 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング