エンジニアとして大活躍するために身に付けるべきスキル一覧
「ITエンジニアに必要なスキル」と聞いて多くの人が真っ先に思い浮かべるのは、「技術力」ではないでしょうか?
ところが、「技術力」と同等かそれ以上に必要なスキルがあります。それは、「人間力」です。
インターネットで「エンジニア スキル」と検索した記事にも、「ITエンジニアには技術力と人間力両方必要だ!」、「技術力よりも大切なのは人間力だ」という主張をよく見かけます。
それでは、ITエンジニアに必要な「技術力」「人間力」とは、具体的にはどのようなスキルのことを指すのでしょうか?そんな観点でインターネット上の記事を改めて読み直してみると、その主張は、驚くくらい千差万別です。
本稿もその中で主張する記事のひとつに過ぎませんが、これからIT業界を目指すみなさんや業界初心者のみなさんに向けて、ITエンジニアに必要なスキルをわかりやすくシンプルに大解剖してみたいと思います。
まずは、知らないことを知ってみることが大事です。そこから自分にとっての「向き」「不向き」や、進みたい方向が見えてくるかもしれませんよ
目次
1.ITエンジニアにとって「技術力」と同等か、それ以上に重要なスキルは「人間力」
繰り返しになりますが、ITエンジニアにとって「技術力」と同等か、それ以上に必要なスキルは「人間力」です。そう主張する根拠は、何だと思いますか?
わたしたちITエンジニアにシステムの構築を依頼してくるのも、また完成したそれを利用するのも、感情を持った人間だからです。もちろん仕事をする上において、感情に左右されることは褒められたことではありません。ですが、テクニックが優れているというだけでは、人は動かないものです。
その反面、ITエンジニアにとって「技術力」が重要であることも紛れもない事実です。「人間力」だけでは、システムは決して作れないからです。
そして、ITエンジニアにとっての理想の形は、「技術力」と「人間力」の両方のスキルがうまく掛け算されて、相乗効果を生み出すことです。これについては、「技術力」を先にお話しした後で、改めて言及したいと思います。
2.まずは「技術力」を大分解!
「技術力」はフィールド別の「テクニカルスキル」と工程ごとの「経験スキル」に分解できます。
「技術力」と言っても、そのワードからイメージするものは人によって様々です。ここでは、「技術力」をフィールド別の「テクニカルスキル」と工程ごとの「経験スキル」に分解して、それぞれをご説明したいと思います。
2-1.フィールド別の「テクニカルスキル」とは何か
「テクニカルスキル」について、本稿では、「開発」「インフラ」「運用・保守」の3つのフィールド上に、個別のスキルを紐づけて分類したいと思います。(図 2-1 参照)
(1)「開発」におけるテクニカルスキル
そのものずばり、プログラム構築時に使用する開発言語に関するスキルを集めたフィールドです。大抵の場合、自分の得意な開発言語が特定されるものですが、そこで得意と言わずとも「できます」と言える開発言語が多ければ多いほど、ITエンジニアとしての需要も高くなります。
(2)「インフラ」におけるテクニカルスキル
(1)に分類した開発言語がプログラムを動かすためのスキルであることに対して、ここでのスキルは、プログラムが動くための環境を構築するためのスキルです。必要とされる個別スキルは、システム構成等によって変わりますが、ここでもできる個別スキルの数が多ければ多いほど、その需要は高くなります。
(3)「運用・保守」におけるテクニカルスキル
インフラに含まれて分類されることも多いですが、昨今では「運用・保守」に関するスキルについて重要視する傾向があります。
まるっきりの新規システムの構築よりも、既存システムのバージョンアップ等の案件が増加傾向にあるため、運用・保守の観点からシステムの改善点等を見出すことができるスキルは、地味ですがこれからじわじわと需要が高まっていきそうです。また、セキュリティに関するスキルも、ここ最近では熱い注目を集めているスキルです。
(1)~(3)までのいずれのフィールドにおいても、できる個別スキルの数が多ければ多いほど、自分の「強み」が増すことになります。
テクニカルスキルの例
- Java
- C
- C#
- C++
- Python
- PHP
- HTML
- Server
- OS
- ソフトウェア
- データベース
- ネットワーク
- 監視
- バックアップ
- リストア
- ジョブ管理
- ログ管理
- セキュリティ
- 障害対応
- 災害対策
【図 2-1】フィールド別テクニカルスキル(一例)
そして、IT業界初心者や未経験者はともかく、何年かITエンジニアを経験すると得意分野やフィールドは自然と明確になってきます。
例えば、ITエンジニア歴20数年のわたしを例に挙げてみると、新卒でIT業界に入ってから最初の10数年は開発フィールドでの仕事が多く、開発言語も「COBOL」「C#」「C++」「PHP」「SQL」といろいろ経験しましたが、その後自然な流れでインフラ系、運用設計とフィールドが移っていきました。今では、自分の得意なフィールドは「運用設計」であると断言できます。なかなかニッチなフィールドではありますけど(笑)
なお、開発フィールドに必要なスキル、インフラ系フィールドに必要なスキルについては、本サイトの以下の記事でも詳しく解説しています。こちらもぜひご参照ください。
関連記事 関連記事2-2.工程ごとの「経験スキル」とは何か
システム開発には、顧客の要望を聞き出し要件に落とし込む「要件定義」からシステム稼働後の監視運用まで、大きく分けて7つの工程があります。(図 2-2 参照)
一般的に、「要件定義」から「基本設計」までを上流工程、「詳細設計」以降を下流工程と呼びます。
関連記事 関連記事IT業界初心者や未経験者の多くは、下流工程からキャリアをスタートし、テクニカルスキルを深め、経験値を高めることによって、上流工程の作業へとキャリアアップしていきます。
【図 2-2】システム開発における工程図
中にはSIerの新人エンジニアのように、最初から上流工程を担務し下流工程は経験しない人たちもいますが、IT業界全体ではそう多くいるわけではありません。
SIerとは何かについては、本サイトの以下の記事をご参照くださいね。
関連記事また、IT業界の中には、このようなポジションアップの階段を駆け上がることを良しとせず、自分が得意なスキルを深く極めようとするスペシャリスト志向の人たちも、少なからず存在します。
そんな志向性については、次項で「マネジメント志向」と併せてお話します。
2-3.「マネジメント志向」でいくか「スペシャリスト志向」でいくか?
ITエンジニアのキャリアは、「マネジメント志向」と「スペシャリスト志向」に分けることができます。
「マネジメント志向」は、ITエンジニアのキャリアアップのある意味王道で、経験を積むことによってメンバー、サブリーダー、リーダー、PL(プロジェクトリーダー)、PM(プロジェクトマネジメント)と自分のポジションとそれに伴う担務を上げていきます。そして、上のポジションになればなるほど、マネジメント要素の強いスキルが必要になります。(図 2-3-1 参照)
【図 2-3-1】ピラミッド型のポジションアップの図
一方の「スペシャリスト志向」は、ポジションアップよりも自分が持つテクニカルスキルの深掘りを極め、文字通りその分野におけるスペシャリストを目指す志向性です。これはこれで、IT業界においては大いに需要のある道なのです。とは言え、スペシャリスト志向の人は、マネジメントスキルが全く不要なのかと言うと、決してそうではありません。スペシャリストひとりで作り上げるシステムというものは、ほぼほぼ存在しませんし、スペシャリストといえども、ほかのメンバーと協調するために最低限のマネジメントスキルは必要だからです。
ここで大事なことは、どちらが良い悪いではなく、その選択によって伸ばすスキルが異なるということです。
「ベクトル」という記号をご存知でしょうか?
「ベクトル」とは、力の向きと大きさを表す矢印のことですが、自分のキャリアアッププランとして「マネジメント志向」を選択するのであれば、ポジションがアップするごとにマネジメントの重要度が上がるため、ひとつのスキルを深堀りするよりはマネジメントの経験値を広げるための横向きのベクトルになりますし、「スペシャリスト志向」を選択するのであれば、幅のあまり広くない下向きのベクトルになります。(図 2-3-2 参照)
【図 2-3-2】マネジメント志向とテクニカル志向のベクトル例
自分が目指していない方向のスキルを伸ばしても、全く意味がないとまでは言いませんが、(手持ちの武器のバリエーションが増えるので、周囲からはおもしろがってもらえる場合もある)当然スキルを伸ばすためにはそれなりの時間と労力を要します。(スキルによってはお金もね)自分のキャリアアップのベクトルを早めに見極め、努力が空回りしないスキルアップをオススメします。
「マネジメント志向」と「スペシャリスト志向」については、本サイトの以下の記事でも詳しく解説しています。ぜひご参照ください。
関連記事 関連記事3.「技術力」以上に重要かもしれない「人間力」を大分解!
「人間力」は「ヒューマンスキル」と「ビジネススキル」に分解できます。
「人間力」=「コミュニケーション力」と考える人も多いと思いますが、実は「コミュニケーション力」は「人間力」のひとつの要素にすぎません。
「人間力」の定義も様々ですが、本稿においては、「人間力」の要素として以下の7つを挙げてご説明します。
(1) コミュニケーション力(想像力・気遣い)
(2) 誠実さ(嘘をつかない、期限を守る)
(3) ポジティブシンキング(受容力・発想転換力・向上力)
(4) リーダーシップ(統率力・決断力)
(5) ヒアリング力(聞き取り力・理解力・読解力)
(6) ロジカルシンキング(分析力・判断力)
(7) プレゼンテーション力(表現力・提案力・交渉力)
そして、上記7つの「人間力」は、その特性によって「ヒューマンスキル」と「ビジネススキル」に分解することができます。(1)~(3)が「ヒューマンスキル」で、(4)~(7)が「ビジネススキル」です。
関連記事3-1.「ヒューマンスキル」とは何か
「ヒューマンスキル」を直訳するとズバリ「人間力」ですが、本稿における「ヒューマンスキル」とは「人間的魅力」と定義したいと思います。簡単に言ってしまえば、相手に好印象を与えることができる、先天的要素が強いスキルのことです。
3章の7つの「人間性」の中では、(1)~(3)のスキルが該当します。それぞれのスキルの概要については、以下に簡単にご説明しますね。
3-1-1.コミュニケーション力(想像力・気遣い)
コミュニケーション力とは、想像力や気遣いを駆使して、顧客やプロジェクトメンバーと円滑に仕事を進めることができるスキルです。要は、相手の立場や考えを想像し、一方的ではなく、双方向なやり取りができるかどうかということです。
コミュニケーション力と言うと、「喋ることが上手い人」というイメージで捉えられがちですが、決してそれだけではありません。喋りが達者であろうと、相手に正しい内容が伝わっていなければコミュニケーション力が高いとは言えませんし、逆に、口下手でも適格に真意を伝えられる人はコミュケーション力が高いと言えます。メール等を使った文字情報のやり取りについても同様です。
また、ちょっとした気遣いや挨拶もコミュニケーション力の大事な要素のひとつです。
3-1-2.誠実さ(嘘をつかない・期限を守る)
簡単に言ってしまえば、顧客やプロジェクトメンバーに対して「嘘をつかない」「期限を守る」という、人として極々当たり前と思えることを実行できるスキルです。
提供した情報が誤っていた場合には謙虚に謝って修正する、期限を守れそうにない場合は、誤魔化したり隠したりせず、正直に報告し、対策を提案し再スケジュールすることによって、信頼感が高まります。
ここで相乗効果として必要となるのが、やはり相手への気遣い、想像力といったコミュニケーション力なのです。
3-1-3.ポジティブシンキング(受容力・発想転換力・向上力)
システム開発では、予期せぬ事態が多々起こります。その原因の一端がコミュニケーション不足だったりすることも多いのですが、ポジティブシンキングとは、そんな時に事態をありのまま受け取り、ポジティブに発想を転換して、次の行動へ移すことができるスキルのことです。
たとえ困難な状況だったとしても、にっこり笑って前向きに対策に取り組む態度と、ネガティブに嫌々な態度丸出しなのと、どちらが周囲に対する心証が良いか、言うまでもないですよね。
また、ポジティブにより良いものを目指す、改善活動を習慣化する向上力も、大事な要素のひとつです。
3-2.「ビジネススキル」とは何か
「ビジネススキル」とは、「人間力」の中でもどちらかと言えば後天的な要素が強いスキルのことです。7つの「人間性」の中では、(4)~(7)のスキルが該当します。これらは、自分の努力や置かれた環境下で経験を積むことによってスキルアップが可能です。
だからと言って「ヒューマンスキル」を努力でアップすることができないスキルと言うつもりはありませんので、その点は誤解しないようにしてくださいね。ただ、「ヒューマンスキル」に挙げたスキルについては、精神的に頑張らなければいけない要素が強いため、急激な効果が表れにくいという点は確かです。
「ヒューマンスキル」が相手に好印象を与えるスキルであるとしたら、「ビジネススキル」は、相手に「凄い」と思われるスキルではないかと思います。
こちらについても、それぞれのスキルを簡単にご説明していきますね。
3-2-1.リーダーシップ(統率力・決断力)
説明するまでもありませんが、プロジェクトやチームの先頭に立って、率先してメンバーをまとめることができるスキルのことです。
「ヒューマンスキル」か「ビジネススキル」かについては、議論の分かれるところだと思います。確かに、先天的にリーダー向きの性格の人がいるのも事実ですので、「ヒューマンスキル」にカテゴライズすることも有りですが、反面、リーダーシップを取らざるを得ない環境下で培われていくリーダーシップがあるのも、また事実です。
また、「軸がぶれないこと」「ここ一番の状況下で決断すること」もリーダーの大事な要素のひとつです。
3-2-2.ヒアリング力(聞き取り力・理解力・読解力)
相手の話の内容を的確に聞き取り、正確に理解し、その意図を読み取るスキルのことです。ITエンジニアは、顧客の要望をITを使って実現することがお仕事です。顧客が望むことは何なのか、正しく聞き取り、理解できないとシステムの方向性さえ変わってしまう危険性があるのです。
そういう意味では、聞き取り力には、相手の話を的確に聞き取るだけではなく、相手が望むことをうまく聞き出すスキルも含まれます。
3-2-3.ロジカルシンキング(分析力・判断力)
ロジカルシンキングとは、物事を論理的な思考に基づいて考えることができるスキルのことです。
IT業界の中で言えば、顧客から聞き出した要望を論理的に筋道が立った形に組み立て、システム化するための情報として整理できる能力を指します。また、システム化するに当たって発生する様々な事象に対して、冷静に分析し、判断するスキルも求められます。
何事も論理的に筋が通らなければ、顧客の納得感を得ることはできないので、大事な要素のひとつです。
3-2-4.プレゼンテーション力(表現力・提案力・交渉力)
プレゼンテーション力というと、プレゼン等をする際の発表スキルのように思われがちですが、ここでのプレゼンテーション力は、プレゼンの場に限らず必要とされる表現力や提案力、交渉するためのスキルのことです。調整力と言ってもいいかもしれません。
IT業界初心者や未経験者のみなさんは、ITエンジニアと言えば一日中PCの前に座って、各人がそれぞれの作業を行っているイメージが強いかもしれませんが、実はそんな工程はほんの少しの間だけで、システム開発の殆どは、顧客との打合せやそのための調査や資料作りです。
プレゼンテーション力は、そのような打合せ時や不測に事態が発生した際に、こちらの主張や事態を説明するための表現力、対立する意見をうまく調整し、円滑かつ効率的な解決策を提案し、交渉するためにとても重要なスキルなのです。
3-3.「人間力」を補完するものは「スタンス」
「スタンス」とは、簡単に言ってしまえば「物事(今回の場合は仕事)に取り組む姿勢」のことです。念のため断っておきますが、ここで言う「姿勢」は、「背中曲がっているよ」の姿勢ではありませんよ。日本語では「意気込み」とか「心意気」と訳すような、その人が持つ前向きな姿勢だったり熱意のことです。
「スタンス」が良いと、「人間力」に多少の不備があったとしてもうまく補完されます。システムを構築する仕事と言えど、結局は「人対人」なのです。
つまりは、仕事に対する熱意や前向きな気持ちが、相手に伝わるどうかです。そして、「スタンス」は、不思議なもので驚くほど周囲に伝わるものなのです。
「スタンス」は、ITエンジニアが目標を立てる場合にも大切なポイントになりますので、ぜひ覚えておいてくださいね。「スタンス」と目標設定については、本サイトの以下の記事がオススメです。
関連記事3-4.テクニカルだけでは人は動かない
どんなにテクニカルスキルが優れていたとしても、人はそれだけでは心動くことはありません。
作り上げるシステムにはもちろん感情などありませんが、作り上げるシステムを依頼するのも、出来上がったシステムを利用するのも感情のある人間だからです。
また、経済産業省が全国法人の約10万社にアンケート調査を実施した『人材ニーズ調査(平成15年度)』でも、「技術面でのスペシャリスト能力に加えて、マネジメント能力も併せ持つ人材が求められている」という調査結果が発表されています。
IT業界初心者や未経験者のみなさんは意外と思われるかもしれませんが、実はIT業界は、お客様の要望をITを使って叶えるサービス業です。
「人間力」も「技術力」も、そのスキルは結局お客様のために使ってナンボですし、喜んでそのスキルを買っていただくためには、やはりお客様の心象はとても大事なのです。
そういう意味においては、「2-3」で「スペシャリスト志向」を選択した人にも「人間力」は大いに問われるスキルなのです。どんなに「技術力」が高かったとしても、必要とされないスキルは、「宝の持ち腐れ」です。
例えば、テクニカルスキルはとても高く資格もたくさん持っているAさんと、同じスキルを持ち、かつ人当たりも良く前向きなスタンスのBさん、このふたりを同じプロジェクトへの参画候補とした場合に、お客様がアサインするのはどちら?という話です。答えは、言うまでもありませんね。
4.ITエンジニアのスキルの達成度・習熟度とは
前章まで、ITエンジニアのスキルを「技術力」と「人間力」に分解してご説明してきました。スキルの種類も大事ですが、それぞれのスキルの達成度や習熟度が測れなければ意味がありません。
本稿では、情報処理技術者試験を主催するIPA(独立行政法人情報処理推進機構)が「ITスキル標準V3」で提示する7つのレベル評価をベースとして、ITエンジニアのスキルの達成度・習熟度についてご説明します。
4-1.達成度・習熟度は7つのレベルに分解できる
IPAでは、ITエンジニアのスキルを「ITに携わる者として最低限必要な知識を有する:レベル1」から、「プロフェッショナルとしてスキルの専門分野が確立しており、世界で通用するプレーヤーとして認められる:レベル7」までの7つのレベルで定義しています。(図 4-1. および 表 4-1.参照)
IT業界初心者のみなさんは、この中では「レベル1」または「レベル2」に当たります。ちなみに、情報処理技術者試験の高度試験合格者であっても「レベル4」でしかないのですから、「レベル5」以上のスキルホルダーはまさしく「雲の上の人」ですね。
【図 4-1】ITエンジニアのスキルレベルの分類図
表 4-1. ITスキルレベルの達成指標一覧
5.それでもなおIT業界初心者や未経験者に資格取得が有効な理由とは
IT業界は経験を特に重視する業界ですので、資格の有る無し自体はあまり問題ではありません。アサインされた仕事ができるかどうかがすべてです。
ですが、一方で業界未経験者がIT業界に挑戦しようとする場合や、全く経験のないフィールドに自ら進んでチャレンジする場合には、資格取得は自分のスキルや意欲を明示化するわかりやすい手段のひとつです。
取得した資格に対するスキルの基礎知識を持っているという証明であると共に、そのスキルに対する自分の意欲や熱意の表われでもあるからです。IT系の資格取得には、それだけの努力を要しますからね。
そうは言っても、IT業界初心者や未経験者のみなさんは、どんな資格を取得すれば良いのか迷うのも当然だと思います。
初心者向けやこれからプログラマーを目指す人向けの資格については、本サイトの以下の記事でそれぞれ詳しく説明しています。そちらをぜひご参照の上、自分に合った資格にチャレンジしてみてはいかがでしょうか。
関連記事 関連記事6.スキルの理想形は「技術力」と「人間力」両方の掛け算で相乗効果を上げること
本稿でこれまで申し上げてきたように、ITエンジニアのスキルとして「技術力」と「人間力」どちらも大事ですが、更なる理想の形として、「技術力」と「人間力」両方の掛け算で相乗効果を上げることができれば、ITエンジニアとしては最強です。
そのためには、「技術力」と「人間力」どちらにも偏重しないバランス感覚が必要です。
車の車輪を例に考えてみましょう。
どちらか片方の車輪が大きかったとしたら、車はまっすぐ進まずにその場をグルグル回ってしまうだけですね。両方の車輪が同じ大きさだからこそ、まっすぐ前に進むことができるのです。
「技術力」と「人間力」どちらも同じ大きさを目指すというのも、難しい目標かもしれませんが…。
では、どうやって…の具体的な手段ついては、ここで語りだすと、ただでさえ長い話が更に長くなってしまいますので、本サイトの以下の記事にお任せしたいと思います。ぜひ熟読してみてください。
関連記事7.まとめ
ITエンジニアのスキルについて、IT業界初心者や未経験者のみなさん向けにわかりやすく分類して、説明してきましたが、いかがでしたか?「なるほど」と思っていただけることが、ひとつでもあったならば嬉しいです。
最後に、特に大事だと思うポイントを箇条書きでまとめて終わりたいと思います。
- ITエンジニアには「技術力」と「人間力」両方が必要。
- 「技術力」には「テクニカルスキル」と「経験スキル」があり、初心者はごちゃ混ぜになりやすい。
- 混乱したらひとつひとつ分解してみることが大事。
- 「マネジメント志向」でいくか「スペシャリスト志向」でいくか、ベクトルに合ったスキルを伸ばすことが大事。
- 「人間力」は、「ヒューマンスキル」と「ビジネススキル」に分解できる。
- 「ヒューマンスキル」は相手に好印象を与えるスキル、「ビジネススキル」は相手に「凄い」と思われるヒューマンテクニカル」なスキル。
- 「人間力」は、スタンスさえ良ければかなり補える。
- とは言え、IT業界初心者や未経験者は、まずは資格を取ることも大事。
- 資格取得は、スキルと意欲のわかりやすい明示化。
- スキルは結局使われてナンボ。
- ITエンジニアのスキルは「技術力」×「人間力」で相乗効果を上げることが最強
みなさんが自分の望むベクトルでスキルアップし、「技術力」も「人間力」もイケてる素敵なITエンジニアになれるようにお祈りしています。もちろんわたしも負けませんよ。お互い頑張りましょうね。
コメント