【徹底比較!】CTO vs VPoE!両者の違いからそれぞれに求められる役割まで分かりやすく解説します!

会社の組織体系のトップに位置するのはCEOですが、技術部門のトップに位置する人のことをCTOと呼びます。更にこの技術部門の中を見て見ると、CTOを中心として、VPoEやVPoPなど様々な役職が有ります。本記事では、そんな開発の現場で良く混同されるCTOとVPoEの2つの役職をピックアップし、両者の違いから、それぞれに求められる能力などをご紹介します。

 

CTO

 

CTOとは?

 

 

CTOはChief Executive Officerの略で、日本語では最高技術責任者と訳します。その名の通り技術部門のトップとして会社の経営に参加し、 経営視点で技術部門を指揮する立場になります。

技術部門の方向性や開発方針の舵取りをする責任者という重大な役割を持っていますが、会社法によって設置を義務付けられたものではありません。そのためあくまで会社によって決められた役職ということになります。

情報技術の発展によりどこの会社でも技術部門を設立するようになり、CTOという名前が付けられることが一般的になりました。

 

VPoE

 

VPoEとは?

 

VPoEはVice President of Engineerの略で、日本語では技術部門のマネジメント責任者と訳されます。

VPoEはエンジニア組織が円滑に仕事をできる環境や、開発を行えるべく技術力を向上させるために採用や指導、環境改善などを行うことによってチームのマネジメントを行う役割を担っています。

主に欧米などでは以前からVPoEの役職は一般的でしたが、日本でもメルカリやSpeee、Gunosy など多くの会社でVPoEのポジションが設置されており、確実に浸透しつつあります。

CTOは聞いたことがあっても、 VPoEは初めて聞いたという方もいらっしゃるのではないでしょうか。

 

CTOとVPoEの違い

 

 

CTOは開発や技術方針の舵取り、VPoEは組織のマネジメントという説明をしましたが、その言葉通り両者にはエンジニア部門での責任者という共通点と課題解決と組織マネジメントという相違点があります

CTOもVPoEもエンジニア組織の責任者として、それぞれの役割を全うする責任を持ちますが、CTOは経営の視点に立ち、会社が今後仕事を継続・発展していくための技術的方向性や開発方針を導く必要があります。一方でVPoEはCTOが打ち出した方針に対してエンジニア組織の能力をアップさせるために新たな人材を入れたり、能力向上のために環境を改善したりなどのマネジメントを行う必要があります

 

CTOに求められる役割

 

経営面から見た技術的な意思決定

 

 

営利企業でも、日営利企業でも会社の利益を今以上に向上させるにはどのような施策が必要か?という課題に対して常に模索する必要があり、技術部門はそのための開発を続ける必要がります。

エンジニアが闇雲に新サービスを開発したり、システムを導入したりしても会社にとってそれがプラスになるかと言われると分かりませんし、技術は高くても会社がターゲットにしている顧客ニーズにはマッチしていない可能性があります。

そういった問題を回避するためにCTOは、会社としての方針や顧客ターゲットからニーズを汲み取り、エンジニア部門に対して目指すべき開発の道筋を示す必要があるのです。

 

VPoEに求められる役割

 

エンジニアチームのパフォーマンス向上

 

 

VPoEは会社としてエンジニア組織の能力を向上させるためにマネジメントを行う役割を持ちます。より端的に言うと使えるエンジニアチームの育成を行うことが命題となります。

基本的に会社の方針はCEOやCTO含め、会社の上層部が行う役員会議で決定づけられます。その中でCTOが指針した方針に対してVPoEは実現可能なレベルにエンジニアのチームビルディングを行います

そのための仕事は多岐に渡り、新たな人材を迎い入れるための採用や育成、働きやすい環境づくりなどチームを強化させるという目的の元あらゆる手段を利用します。

 

多部署との連携

 

 

VPoEは会社の営業や人事、法務などのトップとの連携を上手く図ることも大切な役割です。

お互いの現状や、希望を理解し合いそれを上手くチームに伝えることで循環する環境作りが出来ます。

それぞれのチームが日々仕事に追われてくると目の前の仕事に手一杯で他のことに手が回らなくなる状況が来ます。

そういった際に上手く指示を送れる立場として多部署と円滑な話し合いが出来るコミュニケーション能力が求められます

 

【Linux】シェルってなに?!その内容から具体的な役割・機能まで徹底解説!

Linuxにおけるシェルとは、Linuxの核となるカーネルへ要求を伝達するプログラムです。そして、ユーザーとLinuxOSを繋ぐインターフェイスの役割を果たしています。今回は、Linuxを知る上で必ず理解しておかなければならない「シェル(shell)」について、その具体的な役割や機能を徹底解説します。

 

シェルってなに?!

 

Linuxを扱う技術者にとって、シェル(shell)は基本知識です。

逆に、シェル(shell)を理解することである程度自由にLinuxを使いこなすことができるようになります。

 

Linuxのカーネルとユーザーを繋ぐインターフェイス

 

 

シェルは、LinuxOSの核となるカーネルとユーザーを繋ぐインターフェイスといった関係性です。

Linuxのカーネルという心臓部は、LinuxOSを支える多数のプログラムによって構成されています。ユーザーはこれらプログラムの集合体に、必要な動きを要求することで、Linuxを”コンピューター“として利用しているのです。

ユーザーによる要求はまずシェルが受け取ります。シェルは受け取った要求を翻訳してカーネルに渡します。そしてカーネルは、シェルから受け取った翻訳済みの要求を実行するわけです。

シェルは、カーネルを包む「殻」のようなポジションであることから、英単語の「shell」、つまりシェルと呼ばれているのです。

 

シェルスクリプトは要求コマンドのかたまり

 

 

一般的に「シェルを使える」という技術は、「シェルスクリプトを書くことができる」という意味で使われます。

シェルに対するコマンドを理解し、一連の要求をコマンドで組み立てることができるということです。

そして、組み立てられたコマンドのひとかたまりを「シェルスクリプト」と言います。シェルスクリプトは一種のプログラミングです。

コマンドの羅列はもちろん、以下のような条件分岐やループ文など利用できます。

 

・if文

・for文

・while文

・case文

 

これらを駆使して、Linux運用におけるバッチ処理などを操るシェルスクリプトをプログラミングすることが可能なのです。

 

シェルスクリプトの種類

 

 

ユーザーがシェルへ送るコマンドのかたまりをシェルスクリプトと言いますが、シェルスクリプトにも以下を代表する様々な種類が存在します。

 

・sh:Bourne shell

・bash:Bourne-Again shell

・csh:C shell

・ksh:Koran shell

 

などです。

Linuxでは基本的に「sh」や「bashを利用する人が多いのではないでしょうか。

 

shBourne shellBシェル)

 

sh (Bourne shell/Bシェル)は、AT&Tベル研究所のスティーブン・ボーン氏が1977年に開発したシェルで、コマンド名を「sh」としています。

Bシェルとも呼ばれており、現在では標準的なシェルプログラムとして広く使用されているシェルです。

コンパイルを不要とし、シェルスクリプトには変数などが利用できるようになったものBシェル(Bourne shell)が初めてです。

それまでのシェルに比べるとプログラミング要素を多く取り入れており、シェルスクリプトを組みやすくなったシェルでもあります。

 

bashBourne-Again shell

 

bash(Bourne-Again shell)は、sh(Bourne shell/Bシェル)をベースに様々な機能が拡張されたシェルです。Linuxでもbashが多く使われています。

bashはもちろんsh(Bourne shell/Bシェル)と互換性がありますが、更に複雑なシェルスクリプトを組むことが可能です。

 

シェルの具体的な役割と機能

 

シェルの役割と機能のイメージは掴めたと思いますので、ここでは、より具体的な例を見ていきましょう。

 

シェルの役割と機能の具体的な動き

 

 

シェルの役割は、ユーザーの要求をカーネルに伝えることでした。ユーザーは基本的に、ターミナルからLinuxに接続し、コマンドを入力することでLinuxを操作します。

ターミナルとは、CUIコマンドを受け付けるための画面で、イメージとしては“ハッカーが使う黒い画面”ですね。

例えば、今現在ユーザーが見ているディレクトリである「カレントディレクトリ」を確認する要求を、具体的な動作と順番で整理すると次のようになります。

 

1.ユーザーがPC上でターミナルを開く

2.ターミナル上で「pwd」コマンドを入力

3.エンターキーで決定

4.「pwd」コマンドがシェルに渡される

5.シェルが「pwd」コマンドの意味を「カレントディレクトリの表示要求」と解釈する

6.シェルは「カレントディレクトリの表示要求」をカーネルに伝える

7.カーネルは「カレントディレクトリ」をシェルに伝える

8.カーネルから教えてもらった「カレントディレクトリ」をシェルがターミナルに表示する

9.ユーザーはターミナルに表示されたカレントディレクトリを確認する

 

一つの要求コマンドでは、簡単にイメージするだけでもこれだけの動作が行われており、その中でもシェルは、ユーザーとカーネルの間で重要な役割を果たしているのが分かりますね。

 

【徹底比較!】PM vs PMO!役割の違いから必要なスキル・資格まで幅広くご紹介します!

PMとPMO、IT業界で働いている人ならば耳にしたことがある言葉だと思いますが、正しい意味とそれぞれの違いはご存知ですか?似ている言葉なだけに、混同されがちなPMとPMO。
役割や求められるスキルは大きく異なるので、注意が必要です。今回は、PMとPMOの役割の違いとそれぞれに必要な資格・スキルを紹介していきます。

 

PMとPMO、言葉は似ていても役割は全く異なる

 

 

PMはプロジェクトの責任者、PMOはプロジェクトの支援役

 

IT業界でいうPMとPMO、これらは果たすべき役割が全く異なります。

PMはプロジェクトマネージャー(Project Manager)で、そのプロジェクトの総責任者を言います。

対してPMO、つまりプロジェクトプロジェクトマネジメントオフィス(Project Management Office)は、プロジェクトマネジメントの支援を行う役割のことです。

プロジェクト体制としてみると、PMはPMOの下につくことが一般的です。

それぞれの役割について詳しく見ていきましょう。

 

PMの役割は俯瞰してプロジェクトを管理すること

 

 

PMの役割は「プロジェクトの総責任者」と述べました。総責任者とは、具体的に何をしているのでしょうか。

 

プロジェクトの目的を定める

 

クライアントの課題をどういった方針で、手法で解決するかを分析し、明確にすること、いわゆる「要件定義」の基となるプロジェクトの目的を設定することが、PMの最初の業務です。

時に、プロジェクトを進めていくうちに、当初の目的からブレてしまったり目的がわからなくなることがあります。そういったときに、PMによる軌道修正が力を発揮します。

目的を見失いかけたときに立ち戻れるプロジェクトの軸となるものを設定すること。重要なPMの役割と言えるでしょう。

 

プロジェクトチームを結成する

 

そのプロジェクトを完遂するために必要なプロジェクトメンバーをアサイン(任命)します。

プロジェクトの特性によって、集めるべき人材は異なります。

メンバーの得意分野や性格、ときには人間性を熟知し、プロジェクトを任せるに足る人物かを見極める必要があります。

 

社内のメンバー以外に、アウトソースするケースもあります。その場合も同様に、アウトソース先の実績や仕事の傾向を押さえておくことが重要です。

そして、コスト(予算)も頭に入れておかなければなりません。

 

優秀なメンバーを集めれば、その分コストもかかるものです。

いかに素晴らしい成果物を期日までに納められたとしても、プロジェクトが赤字になってしまっては元も子もありません。

コスト内で実力のあるプロジェクトメンバーを集めること、そして最良のパフォーマンスを発揮するプロジェクトチームを結成することもPMの役割のひとつです。

 

プロジェクトを管理する

 

PMの最も重要な使命は「プロジェクトを完遂、成功させる」ことです。

先に述べた目的、要件、プロジェクトメンバーの確保、予算管理など、プロジェクトに関わる要項の管理責任をPMが担っています。

プロジェクトの進行や実務の管理はPL(プロジェクトリーダー)が行うこともありますが、PLの管理も含めて、PMの責任範囲内になります。

 

プロジェクトを俯瞰して、計画通りに進行しているか、問題は起こっていないか、プロジェクトの目的に沿った成果は上げられそうか、といった全体を管理する役割を、PMは担っているのです。

このように、PMがやるべきことはプロジェクトの成功を左右する重要なものばかりです。そのプロジェクトが成功するか失敗するかは、PMの力量が大きく影響します

責任は重大ですが、その分達成したときの喜びは大きいです。

優秀なPMの下で働くメンバーは、往々にしてPMへ絶大な信頼を寄せるものです。

実績を重ねることで信頼できるメンバーが増え、より大きなプロジェクトのPMを任されるようになります。

 

PMに求められるスキル

 

 

PMは、プロジェクトの全体を把握しておく必要があるため、ITやそれ以外の知識、技術に関する高度な知見を身に付けていなければなりません。

また、プロジェクトメンバーの信頼を得るため、知識や知見を持っているだけなく、それを基に実際に活用していかなければなりません。

持っていれば有利な資格はあるものの、PMに求められるものはどちらかというと「ビジネスマンとしての素養」が大きいと思われます。

 

PMOの役割は何?具体的には何をやるの?基礎知識から解説します!

最近、IT業界を中心に話題の「PMO」という単語をご存知でしょうか?IT業界に限らず、多くの業種でも有効的に活用できる内容となっており、業務の効率化、スムーズな問題解決の実現に役立つようです!そんな「PMO」に関しての基礎知識等をまとめてみましたので、この機に理解を深めてみてはいかがでしょうか?

 

PMOの概要

 

 

そもそもPMOとは?

 

PMOは、正式な名称である「Project Management Office」を略した言葉で、日本語で直訳をすると、「プロジェクト管理事務所」という訳になります。正式名称や直訳した日本語を見ただけではどんな物なのか全くイメージがつきませんよね?ですので、もう少し読み解いてイメージすると、進められている計画(Project)を管理(Management)する事務所(Office)というイメージが一番近いかと思われます。

また、ここでいう計画というのは、会社や組織で進められている複数の業務計画のことを指しています。ですので、PMOというのは、進められている複数の業務計画を取りまとめる部署やシステム等を指し示す呼称になります。

 

PMOの役割

 

 

PMOを役割という観点で掘り下げていくと、大きく分けて3種類の役割に分類することができます。それぞれの役割で担当する内容も異なりますので、どのような役割があるのか?という点と、簡単な業務内容を併せてご紹介をいたします。

 

PMOアドミニストレーター(PMO事務)

 

進めているプロジェクトに関係した業務の、過程や業務工程をスムーズに進める為の業務を執り行うのが、PMOアドミニストレーターの主な役割です。また、役割的に事務的な作業を担当することが多い為、PMO事務と呼ばれることもあります。

具体的な業務例としては、各チーム間や協力している外部メンバー間の情報共有、関係者間の会議の調整、チームメンバーの勤怠+稼働状況の管理、経費の処理、といった項目が挙げられます。

 

PMOエキスパート

 

進めているプロジェクトに関するスケジュールの作成や、現場の環境改善等の役割を担当するのが、PMOエキスパートです。

また、PMOエキスパートの主な業務は、大きく分けて5種類に分類されることが多いです。下に分類と主な業務内容を記載しておきますので、こちらもチェックしてみてください。

 

・プロセスの分析業務

プロジェクトのスケジュール作成や調整、業務の進め方の指示や改善、業務工程の標準化や文書化といった業務等

 

・情報の分析業務

プロジェクトで出された案の可否を決める為に必要な基準の設定や改善、プロジェクトに必要な情報の収集方法や情報化方法の確立、プロジェクトの成果の見える化等

 

・ツールの分析業務

関係者が使用するツール等の作成や改善、作成したツール等の使い方の指示や教育または使用の定着化等

 

・ビジネスの分析業務

プロジェクトの顧客や取引先からの要望等のヒアリング、ヒアリングした内容をプロジェクトのチームメンバーと共有、プロジェクトの顧客や取引先の満足度確認、満足度の現状維持・向上等

 

・人材開発に関する業務

プロジェクトのチームメンバーへのマネジメント教育の実施、熟練度の低いチームメンバーや若手メンバーの成長支援、チームメンバーのサポート等

 

PMOマネジャー

 

 

プロジェクトでPMO活動を行っているメンバーの管理や教育といった業務を執り行うのが、PMOマネジャーの主な役割です。また、PMOのチームメンバーの管理を行う役割の為、PMO内では上位の位置関係になることがほとんどです。

具体的な業務例としては、PMO活動の進捗確認や予算管理、PMOのチームメンバーの勤務状況の確認や教育、といった項目が挙げられます。

上で紹介した役割がPMOの主な役割になります。チームメンバーの人数やプロジェクトの内容によって異なりますが、上で紹介したそれぞれの役割ごとに担当メンバーが割り振られることもあれば、いくつかの役割を1人のメンバーが兼ねて担当するケースもあります。

 

PMOを導入するメリット① 問題の見える化

 

 

問題の早期発見と対策が可能になる

 

現場の管理が適切になされていないと複数人で業務を進めていても、問題が発生したことを当事者のみが把握していて、解決が先送りになってしまう、といった事例も発生します。中には、その問題が未解決のままプロジェクトが終了し、後になってその点をクライアントに指摘された、という恐ろしいケースもあるようです。

こんなことを当たり前の様に続けていれば、顧客や取引先からの評価が低下し、契約の打ち切りになってしまう恐れも十分に考えられるでしょう。ですが、PMOを導入するとプロジェクトを進める上で発生した問題を容易にチェックできるようになり、問題の早期発見+チームメンバー間での共有が可能になります。

また、発生した問題に対しての対策+立案をPMOメンバーと協力して行うことで、問題をスムーズに解消することができますので、上記のような事例の発生を未然に防ぐことができるのです。