ヘッダー

新卒で知っておきたかった!
エンジニアに必要な職務遂行能力3選

前回の記事では、技術力、職務遂行能力、スキルの差について触れ、どうしてエンジニアがスキルだけでは生きていけないのかについて説明し、AI時代のエンジニアには職務遂行能力が必要であるということをまとめました。「技術力」「職務遂行能力」「スキル」について差がよくわからない、あるいは職務遂行能力の重要性がわからない方は、まずは前回の記事を御覧ください。

私は社会に出てから15年ほど働いてきました。職務遂行能力について調べたときに一番最初に思ったことは「職務遂行能力について新卒の頃に知ることができたらもっと成長できたのに!」ということでした。新卒の頃は、スキルがあればそれでいいと思っていました。そもそも、職務遂行能力とスキルの差もまったく認識できていませんでした。しかし、実際に社会に出てみると、スキル(=専門知識)だけでは説明できないような優秀な方々がたくさんいました。スキルだけではなく、職務遂行能力という視点で言語化ができていれば、日々の業務にそれらを取り入れることでもっと成長できたのに、と強く感じました。

本記事ではそんな私が新卒で知っておきたかった職務遂行能力3選を紹介し、AI時代のエンジニアに必要な職務遂行能力について考えていきます。

01. 職務遂行能力3選

① 主体性

1つ目は、主体性です。主体性は多くの職業で必要ですが、AI時代のエンジニアにおいては特に必要なものです。指示を待つのではなく、自ら考え、行動することができる人間が求められます。主体性には2つの側面があります。
1つ目は、課題解決能力と課題発見能力です。2つ目は、自走力です。ここでは、AI時代において特に必要となる課題解決力と課題発見力について取り上げていきます。

まず、主体性とは行動を起こすための強い指向性を持つ人間を表す言葉です。つまり主体性の高い人間はとにかく行動を起こしたがるということです。なので厳密には、仕事に関係のない物事に対して発揮される主体性には意味がありません。職務遂行において主体性が遺憾なく発揮されるためには、組織内にある課題への的確な認識が必要となります。よって、主体性と課題解決力、課題発見力は職務遂行上切っても切り離せない関係にあります。では、課題解決力と課題発見力の高い人間がどのような行動の特徴を持っているのか見ていきましょう。

レベル行動の特徴
1自発的に障害や反対に対して粘り強く取り組む。解決に向けて複数のステップを踏み、簡単には諦めない。たとえば、顧客から何度も断られても別の提案を考え続け、最終的に契約を獲得する。
2自発的に現在の課題や機会に対応する。目の前の問題を認識し、迅速に行動を起こす。たとえば、顧客からの急な要望に対して即座に対応し、満足度を向上させる。
3自発的に、危機的状況においても迅速かつ確固とした行動を取る。課題が自然に解決するのを待たずに、積極的に問題に立ち向かう。たとえば、重要なシステム障害が発生した際、即座に対応チームを編成し、復旧に取り組む。
4自発的に2ヶ月先の状況を予測し、将来の課題を最小限に抑えるために、準備や計画を進める。たとえば、新製品発売に備えて市場調査を実施し、予想される顧客ニーズに対応する戦略を立てる。
5自発的に3〜12ヶ月先の具体的な課題や機会を予測し、準備を進める。他者には見えていない問題を先取りして対策を講じる。たとえば、経済環境の変化を予測して製品ラインを見直し、需要に対応できる体制を整える。

課題解決力や課題発見力においては、課題の捉え方が段階的な成長をしていきます。最初は与えられた課題について粘り強く解決していく様が見られますが、段々と未来の課題を見つけて先回りしながら解決していくようになります。
ここでは、エンジニアがリファクタリングをするときの課題の取り組み時期や意識に応じて職務遂行能力のレベルの差が開くことについて確認してみましょう。上述した職務遂行能力を、エンジニアがリファクタリングをする際にどのように適用されるかを見ていきます。

レベル振る舞い
1既存コード内の明らかな冗長部分や不整合、不要なコメントなど、基本的な改善点を見つけた場合、最低限の修正を実施する。
たとえば、指摘を受けた変数名やコードブロックの簡単な修正を行い、上司や同僚の反対があっても、現状維持のための改善を試みる。
2バグや可読性の低下など、目に見える問題を認識し、関数の分割やコードの整理など、即時に対応できるリファクタリングを実施する。
たとえば、顧客やチームからのフィードバックを受け、UIの不具合箇所や処理の遅延を改善するためにリファクタリングが必要だと判断される場合、コード修正を即座に行う。
3システム全体に影響を及ぼす深刻なバグやパフォーマンス低下が発生した場合、該当部分の根本原因を迅速に特定し、積極的にリファクタリングによる再設計を実施する。
たとえば、サーバーのレスポンスが著しく低下した際に、関連モジュール全体の再構築をリードし、早期に問題解消へ導く。
42ヶ月先を予測し、今後の機能拡張や変更に備えて、コードのモジュール化・抽象化、再利用性向上を目指したリファクタリング計画を立案・実施する。
たとえば、次期リリース前に技術的負債の洗い出しと、改善のための具体的なリファクタリング戦略を策定し、段階的に実行する。
53〜12ヶ月先の具体的な課題や業界動向を見据え、最新の設計パターンやアーキテクチャ(例:マイクロサービス、コンテナ化など)を取り入れる大規模なリファクタリングプロジェクトを自発的に提案・主導する。
たとえば、既存システム全体の再設計を行い、将来的な技術的負債の発生を根本から防ぐための包括的な改革を実施する。

このように、同じリファクタリングでも職務遂行能力のレベルが上がるほど規模が大きくリスクの伴う内容になっていきます。課題解決力と課題発見力が高い人間は将来的なことに目を向け、課題に対して取り組むことができます。AIにタスクを依頼するにしても、まずはプロジェクトの課題を発見する必要があります。課題の発見は事業の成長に関わることが多く、事業の背景やチームのリソースなど、さまざまな要因が絡んできます。「課題解決力や課題発見力」の中でも特に「課題発見力」はAIにはできない人間の強みであり、AI時代のエンジニアには必須の能力です。

② 関係構築力

2つ目は、関係構築力です。関係構築力とは、他者との信頼関係を築く能力です。では、ただ馴れ合えばよいのかと言われるとそうではなく、より明確な「目的を持った」関係構築が求められます。
例えばチーム間で意思疎通を取りやすくするなどの根回しが、普段の仕事で大きく影響し働きやすさにつながることが多々あります。そういう場合はチームメンバーとのコミュニケーションを円滑にするという明らかな目的があり、関係構築はそういった明確な目的がある場合に初めて意味を持ちます。仕事上で全く関係のない人間との関係構築は、職務遂行能力においては意味がありません。

関係構築の行動特徴のレベルは下記のようになります。

レベル行動の特徴
1招待されればそれを受ける。ほかの人たちからの招待や友好的な態度は受け入れるが、自ら積極的に関係構築のための行動を取らない。例えば、同僚の飲み会に参加しても、特に会話を盛り上げたりはしない。
2仕事に関係する接触は行う。公式な仕事上の関係を保ち、業務に関連する会話や雑談には応じるが、それ以上の関係構築には踏み込まない。例えば、会議後に軽い雑談を交わす程度の交流を行う。
3ときどき気軽な交流を試みる。職場内で時折、仕事以外の話題を共有し、リラックスした雰囲気を作ろうとする。例えば、スポーツや天気、趣味の話題を振って同僚と親近感を深める。
4ラポール(相互信頼関係)を築く。同僚や顧客と頻繁に非公式でフレンドリーな接触を保ち、意識的に信頼関係を構築する。例えば、プロジェクトの合間に個別のフォローアップを行い、相手の関心に耳を傾ける。
5ときどき社交的な接触を行う。仕事を離れた場で同僚や顧客と関係を深めるための交流を行う。例えば、顧客との会食や、同僚とのスポーツイベントに参加する。

関係構築の真髄は「相手が自分の話を聞く姿勢」を作ることにあります。それはすべてのコミュニケーションの基盤となり、関係構築の唯一の目的です。そしてこの関係構築力は、相互に行使されるものです。相手も関係構築をしようと思っていない限り、信頼関係は築けません

皆さんはこんなエンジニアを見たことがありませんか?どこか話しかけづらく、指摘されるとたまに癇癪を起こしたりする腫れ物のようなエンジニア。あるいは、自分のスキルを誇示し、他者の意見を聞かないエンジニア。このようなエンジニアに共通して言えるのは人の話を聞けない点にあると言えます。つまり、このようなエンジニアは他者の関係構築を阻害しています。また、自身も関係構築に対して前向きになれないため、チーム内でのコミュニケーションも円滑でない場合が多いです。

③ 専門能力

3つ目は、専門能力です。専門能力と聞くと、スキル(専門知識)と同じに聞こえてしまいますが、専門能力は職務遂行能力の一つです。

専門能力には3つの側面があります。専門能力の深さと、専門能力の習得の積極性と、専門能力の発信力です。専門能力の深さは、その分野においてどれだけ深い知識を持っているかを示します。スキルと重複しているように見えますが、スキルでは専門知識そのものが問われるのに対し、専門能力の深さでは実際に専門知識を使ってどの規模の課題を解決できるかという行動に着目します。専門能力の習得の積極性は、新しい技術やトレンドを習得する際にどのような行動をするかという指標になります。最後の一つである専門能力の発信力は、例えば社内で技術を共有するときの積極性や、社外に対しての技術発信(技術ブログなど)をどれだけしているかの行動の指標を示します。

ここでは、 エンジニアとして特に重要な「習得の積極性」 について取り上げていきます。

レベル行動の特徴
1新しい知識の追加に否定的で、抵抗を示す。現在の方法や慣習に固執し、新しいアイデアや技術に対して「これは私たちのやり方ではない」と批判的な態度を取る。たとえば、チームが最新のプロジェクト管理ツールを導入しようとした際に、それを使う必要性を認めず、採用を阻む。
2技術や知識の向上に対して特に興味を示さず、中立的な態度を取る。新しいスキルや知識を学ぶ意欲はなくても、それに対する抵抗はしない。たとえば、提供されたトレーニングセッションに参加するが、ただ義務感で出席し、その知識を積極的に活用しない。
3現在持っている技術や知識を維持するため、努力を続ける。最新の業界情報を把握し、スキルを時代遅れにしないようにする。たとえば、専門誌を購読したり、オンラインで技術記事を読むことで、自分のスキルを最新の状態に保つ。
4新しい知識やスキルを積極的に取り入れる努力をする。既存のプロジェクトに関連する範囲で、新しい情報やアイデアを学び、自分の専門分野以外にも関心を広げる。たとえば、新しいプログラミング言語を学び、自分が取り組んでいるプロジェクトに適用して効率化を図る。
5専門分野にとどまらず、新たなスキルや知識の修得に積極的に取り組む。技術や業界の最前線に追いつくために、定期的にセミナーやワークショップに参加し、業界の専門家とネットワークを築く。たとえば、新しい分野での資格取得のためにコースを受講し、その知識を現在の職務に応用して業務改善を実現する。

スキルはAIが補ってくれますが、AIが提案してきた技術に対してそれが正しい提案かどうかの判断をするためには、その技術についての専門知識が必要です。なので、AIによってスキル仕事の大半がこなされてしまったとしてもAIの提案の良し悪しを判断するために新しい技術の専門知識は常に必要になってきます。

02. まとめ

私はこれらの職務遂行能力について知ったとき「もっと前から知っておきたかった」と悔しい思いをしました。知っていればもっと勉強会に参加していたし、若いうちにそういう文化がある職場を選んでいたなと思います。関係構築についても 「飲み会なんて時間の無駄」と冷めた態度を取ることが「自身の関係構築力の無さ」に直結しているとは思わなかったし、主体性に関しても先々の課題にまで目を配らせながら仕事ができたのではないかと思いました。これを読んだエンジニアの方々は、ぜひともこれらの職務遂行能力に向き合い、日々の成長のために活かしてみてください。

高い職務遂行能力を示すエンジニアの特徴はわかりましたが、今度は逆に低い職務遂行能力を示すエンジニアの特徴も知っておきたいところです。

次回は、AI時代に消えてしまうエンジニアの特徴について紹介していきます。

次の記事: AI時代に消えてしまうエンジニアの特徴

採用PR

株式会社ムードでは、AI時代を生き抜くエンジニアの採用に力を入れています。自社製品のAI人材評価システム「HIREGATE」で培った人材育成のノウハウをもとにエンジニアの職務遂行能力を高めるためのプログラムを社内で実施しています。株式会社ムードにご興味がある方は、ぜひ株式会社ムードの採用情報をご覧ください。