目指せ情シス!社内SEに求められるITスキルと習得方法まとめ

社内SE・情シス
スポンサーリンク
社内SEへの転職を希望しているのですが、自分のITスキルが不足していないか不安です…
なかの人

現役の社内SEが、実際に業務で必要になるITスキルを解説し、その習得方法も併せて紹介するよ!

ぜひ参考にしてみてね

 

今回の記事では、社内SEへの転職を目指す際に、知っておいてほしい「社内SEに求められるITスキル」と「ITスキルの習得方法」を紹介していきます。

尚、「社内SE」という言葉は解釈によって複数の職種が当てはまります。
当記事では、「非IT企業の情報システム部署(情シス)」を社内SEと定義して解説していきます。
 
 

社内SE(情シス)の主な業務内容

会社によって細かい業務内容の違いはありますが、一般的な社内SEとしての業務は以下です。

  • 社内ヘルプデスク
  • パソコン等の電子機器管理
  • サーバやネットワーク機器の運用保守
  • 業務システムの運用保守
  • IT系ベンダー管理
  • データ抽出、集計業務
  • 情報システムのセキュリティ対応
  • 内部統制、IT統制運用

就業先の会社の規模によっては、これらの業務を全て一人で担当していたり、大勢で分業しながら担当していたりします。

また、上記業務のどれかを社外に外部委託していたり、情シス以外の部署で管轄しているケースもあります。

会社によって業務範囲は様々ですが、一般的な社内SEの担当業務としては、上記の業務内容の一覧のように、何らかのITに関する専門知識やスキルを求められるものが大半です。

また、この「専門知識」や「ITスキル」も、就業する会社のITへの力の入れ具合や活用状況によって、浅い知識や技術力でまかなえる場合もあれば、高度なITの専門性が求められる場合もあります。

 
 

社内SE(情シス)とIT企業の技術者に求められる能力の違い

「社内SE」と「IT企業に勤めるIT技術者」は、どちらもITの技術と経験が必要になる職種です。

社内SEであっても、システム開発会社のプログラマーと同じようにプログラミング能力が必要になる場合もあれば、サーバーやネットワーク機器の構築をする場合もあります。

ただ実際には、非IT系事業会社の社内SEとIT企業に勤めるIT技術者では、評価されたり求められるIT技術や経験などの能力や範囲が異なります。

例えば、IT企業のITエンジニアとして勤めていた際にはその能力が高く評価されていたのに、社内SEとして非IT系事業会社に転職したら、IT企業の頃のような高い評価をされなくなってしまった。

または、社内SEとして非IT系事業会社に勤めていた際にはその能力が高く評価されていたのに、IT企業でITエンジニアに転職したら、社内SEの頃にように高い評価がもらえなくなるといったケースも見受けられます。

これは「社内SEに求められる能力」とIT企業に勤める「ITエンジニアに求められる能力」のアンマッチが原因です。

社内SEとIT企業のITエンジニアに求められる能力は以下です。

社内SE:
偏りが少なく広いITスキルと経験
ITエンジニア:
特定の技術に特化したITスキルと経験

求められる能力をレーダーチャートで表した例は以下です。

上記の例で紹介した「ITエンジニア」は「プログラマー」のイメージです。
この例では、プログラミング能力と、データベースの扱いに長けている想定です。

この図からもわかりますが、社内SEでは、各技術分野を満遍なく理解している必要がありますし、IT企業に勤めるITエンジニアは特定の技術に特化して深く習得している状態が高く評価されます。

このように求められる能力が異なる要因は、両職種の主となる役割が異なるためです。

両職種の役割の違いは以下です。

社内SE:
ITを活用して自社の事業に貢献する
ITエンジニア:
顧客の要望をもとにシステムやインフラを作る

社内SEは、自ら手を動かしてシステムやインフラを開発したり構築することが必須の職種ではありません。
もちろん自ら作る(内製する)選択肢はありますし、外注せずにすべて自社の社員で開発や構築をする会社も存在しますが、根幹の目的は、適切にITを活用し自社の事業への貢献することです。

社内SEにとって、システムを構築したりパッケージを導入することは「目的」ではなくただの「手段」です。

IT企業に勤めるITエンジニアは、顧客の要望をもとに、最適なシステムやインフラを開発したり構築して提供するのが仕事です。
構築作業は複数人で行い、それぞれ異なる専門領域を持つ技術者たちが分担して構築作業を進めます。

IT企業に勤めるITエンジニアにとって、システムを構築したりパッケージを導入することは「目的」です。

よって、社内SEでは、自社に最適なプロダクトを選定して導入したり、適切な外注業者を選定してシステム構築を依頼するために、幅広い技術分野の知識や技術を身に付けておく必要があります。

逆に、ITエンジニアであれば、顧客の高度な要求に応えられるように、特定の技術分野に特化した専門性が求められます。

 
 

社内SE(情シス)に求められるITスキル

当項では、今回の記事の本題である、「社内SE(情シス)に求められるITスキル」を紹介します。

一言で「ITスキル」と言っても、対象は幅広く、最近ではMicrosoft365やGoogle WorkspaceなどのSaaSで提供している各アプリケーションの使い方を熟知し、それらを利用して自社の業務にフィットする環境を構築するといった能力なども、新しいITスキルの一つとして確立していますが、当記事で紹介する「ITスキル」は、もっと根幹的なITスキルである以下の分類で解説していきます。

  • プログラミング
  • データベース
  • ネットワーク
  • サーバー
  • セキュリティ

上記のITスキルでも、その種類によって求められる習得度や知識の深さも変わります。
個々のスキルに対して、どれぐらいの能力が求められるかは、当然社内SEとして就業する会社によってバラつきがあります。

よって、私の過去に経験した社内SEとしての実体験や、SIerとして勤めていた頃の顧客のスキルなども加味して、一般的な社内SEならこのレベルまでは出来ててほしいという部分も含めて紹介していきます。

また、併せてそのスキルごとにおススメしたい習得方法を説明していきます。

 

プログラミング

ITエンジニアと言えば、真っ先に世の中の人がイメージする仕事はプログラミングだと思います。
社内SEのお仕事においても、プログラミング能力が求められる場面は多々あります。

ただし、社内SEに対してどれぐらいのレベルのプログラミング能力を求めるかは、その企業の方針によって大きく差があります。

従業員がプログラミングを用いて業務の自動化などを行う場合、適切にそれらを管理できなければ、大きなシステムトラブルの要因になったり業務の俗人化に繋がります。

そのため、企業によってはプログラミングを伴う業務改善を従業員が行うことを禁止し、そういった対応が必要な場合はすべて社外の業者に依頼する方針を取る場合もあります。
この場合は、社内SE自身が手を動かしてプログラムを書く必要はありません。

逆に、システム開発経験のあるプログラマーを多く自社で採用し、システム開発専門業者にも劣らない体制を作り、社内のシステムを積極的に内製する企業もあります。

その場合は当然高いレベルのプログラミング能力が求められます。

このように、その企業の方針によって、求められるプログラミング能力はピンキリだと言えます。
では、プログラミングが禁止されている企業に務めているとプログラミング能力は一切活かされないと言えば、そうではありません。

社内SEにおいて多少のプログラミング知識は基礎教養の一つとして必要です。

もしプログラミングが禁止されていたとしても、外部のシステム開発会社に依頼してシステムを開発してもらう場合には、自身のプログラミング経験や知識は活かされます。

多少のプログラミング経験がないと、システム開発会社に対して適切な指示を与えることはできません。

また、プログラミングを禁止していない会社であれば、当然社内SEがプログラミングを使えることで、社内の業務効率化に大きく貢献できます。

例えば、昨今の業務システムは自社内に物理サーバーを用意して、そこにパッケージをインストールして使用する「オンプレ型システム」ではなく、クラウド上で機能ごとに提供された「SaaS」と呼ばれる「クラウド型システム」の利用が増えています。

その様なクラウド型システムでは、機能単位で細分化されており、ユーザーは必要なクラウドシステムを取捨選択して利用するのですが、それらのシステム間のデータ連携や、自社の基幹システムとのデータ連携を行うために、「Web API」と呼ばれる機能が提供されているサービスが多いです。

この「Web API」では、ウェブの通信を利用して、外部のプログラムからクラウドシステムの特定の機能を呼び出して、データの登録や更新、出力などを行える仕組みです。

このような仕組みを活用しないと、乱立するクラウドシステムに対するデータ連携を人が手入力することになり大変非効率です。

プログラミングが使えれば、クラウドシステムとのデータ連携を自動化、無人化することができます。

その意味では、クラウドシステムの利用が拡大している今だからこそ、社内SEはプログラミング能力も身に付けておきべきだと言えます。
 

社内SEに求められるプログラミング能力の具体的なレベル

「プログラミング」と一言で言っても、プログラミング言語や使用する用途は様々です。
言語の種類によって習得の難易度も大きく差があります。

プログラミングの用途も、企業内で業務をする際に使用する業務システムを開発する目的で使われる場合もあれば、TVゲームの開発で使われる場合や、電化製品内部に組みまこれたコンピューターの制御をする目的で使われたり、様々な用途があります。
その用途によっても難易度は変わってきます。

今回の記事で解説する「プログラミング」は、業務システムの開発や、社内SEが自社の業務を自動化したり効率化する目的で使用される分類のプログラミングをイメージしています。

上記を加味して、社内SEに求められるプログラミング能力を以下でまとめていきます。

まずは、社内SEがプログラミングをする場合の用途として主だったものだと以下のケースが考えられます。

  • 業務アプリケーションの開発
  • 機械学習などのデータ解析
  • システム間のデータ連携
  • OA事務作業の自動化
  • サーバー運用作業の自動化
  • パソコンのセットアップ作業自動化

例えば業務アプリケーションの開発であれば、Windowsにインストールして動かすシステムや、ブラウザ上で動かすWebシステムなどがあります。
また、Microsoft Accessでもフォームを用いた業務アプリケーションを作成することができます。

業務アプリケーションではフォームが必要になり、画面内の制御などの複雑な処理もプログラムで実装する必要がありますし、データベースと連携することも必要になります。
よって、プログラミング能力として求められる技術レベルも高いです。

逆に、パソコンのセットアップ作業をプログラミングで自動化させる場合は、パソコンの設定値をコマンドで埋め込むなど単純な処理を実装していく感じになり、複雑な条件分岐は伴わないケースが大半です。
よって、高度なプログラミング能力は必要ありません。

このように、プログラミングの用途によって、求められる能力レベルは大きく異なります。

また、用途によって最適なプログラミング言語もそれぞれ違います。
機械学習などの高度なデータ解析を行うのであれば、機械学習やデータをオンメモリーで扱うためのライブラリーが充実しているPythonやR言語が最適です。
OA事務作業の自動化であれば、VBAだけ習得していれば十分です。

上記の内容を踏まえて、社内SEがプログラミングをする場合の用途や、その用途でよく使われる言語、用途に応じた技術的難易度をまとめた図が以下になります。

上記の図でも記載しましたが、社内SEとして業務を担うにあたり「システム間のデータ連携」ぐらいの処理は自身のプログラミングで実装できるようになると非常に重宝します。
 

プログラミング能力を身に付ける方法

プログラミング初心者はプログラミング自体を目的化してしまうケースがありますが、プログラミングはただの「手段」であり「ツール」に過ぎません。

プログラミングを利用して、作りたいものや自動化したい処理が明確になっていないと、何から学習していけばよいかすら定まらなくなります。

よって、プログラミング能力を身に付けるには、明確にプログラミングで何を実現したいかを決めたうえで、それを目標に始めることが大事です。

尚、当ブログでは、プログラミング初心者向けの記事を幾つか掲載しております。
もし興味があればご一読ください。

プログラミング初心者はまずVBScriptを学んだほうが良い理由と言語の特徴
昨今はプログラミングがブームです。 義務教育にも採用され、子供向けのスクールでもプログラミング教室は盛況です。 ...
VBScriptでプログラミングの基礎を学ぼう3【最初の一行】
実践1 準備するもの パソコンを起動 メモ帳を起動 ※画面左下→→→ これだけです。 ...
【C#入門】初めて作るコンソールアプリ!共有フォルダのファイルを添付してメール送信
今回の記事では、C#の初心者向けに、Visual Studioを起動してプロジェクトを作成するところから、共有フォルダ内...

 

データベース(RDB)

前述した「プログラミング」とも非常に親和性が高い技術であり、社内SEであれば是非理解してほしい技術は「データベース」です。

尚、「データベース」は広義な言葉であり、今回の記事では、データベースのなかでも「RDB(Relational Database)」を前提としています。

企業内では様々なデータが存在し、それらは「データベース」で管理されています。
「データベース」製品も多くの種類がありますが、RDBの分野で言えば、主要な製品(RDBMS)は以下になります。

  • Microsoft SQL Server
  • Oracle Database
  • PostgreSQL
  • MySQL
  • SQLite
  • Microsoft Access

様々な企業や団体が提供しており、無償で利用できるものやライセンス料を支払って利用するものなど、費用形態も様々です。

最近の若いIT企業などでは、自社専用のデータベースを持たず、SaaSなどのクラウドサービス内のみですべてのデータを管理しているケースもあるかと思いますが、非IT系のある程度の規模の事業会社では、必ず何らかのデータベース製品を利用して基幹システムなどのデータを一元的に格納して管理しています。

データベースのなかには、過去全ての顧客データ、売上データ、購買データ、受発注データ、社員や商品などの主要なマスタなどが格納され、企業の事業運用の根幹を担う重要な機能です。

この「データベース」を自在に扱えるスキルは社内SEにとって非常に重要です。

データベースを扱う技術といっても、具体的な内容は多岐にわたります。
例えば、データベースから自由にデータを取り出し、必要な情報を見たい形で集計する技術。
データ集計業務は社内SEの定番業務と言えます。

また、データベースが稼働するRDBMSを安全に運用する技術。
RDBMSの機能を利用して日々のバックアップを取得したり、障害が発生しないように管理する業務も必要になります。

更に、正規化やパフォーマンスも考慮したテーブル設計などの技術。
RDBではデータを複数のテーブルに分割して格納し、効率よく管理します。
その分割手法を「正規化」と呼び、データベースを扱う技術の一つです。
また、データベースでは処理速度も重要になるため、パフォーマンスの管理も重要です。
 

社内SEに求められるデータベース(RDB)のスキルと具体的なレベル

データベース(RDB)のスキルとしては、大きく二つに分類されます。

データベース管理者としてのスキル
データベース利用者としてのスキル

社内SEは、自社のシステム管理者である以上、データベースを管理するための知識や技術が必要になります。
また、データベースに蓄積されたデータを活用するための利用者側の知識や技術も同様に習得しておくことも必要です。

データベース管理者としての具体的なスキル、及び、データベース利用者としての具体的なスキルや知識は以下のとおりです。

データベース管理者

  • データベースのバックアップ方式に関する知識
  • データベースのインデックス断片化に関する知識
  • データベースのメモリ管理に関する知識
  • データベースの冗長化や可用性に関する知識
  • データベースのパフォーマンスチューニングに関する知識
  • データベースを稼働させるサーバーのハードウェアに関する知識
  • データベース製品の種類や製品ごとの特長に関する知識
データベース利用者

  • テーブルの正規化やテーブル設計に関する知識
  • SQLの作成に関する知識(SELECT、INSERT、UPDATE、DELETE)
  • SQLのパフォーマンスチューニングに関する知識
  • トランザクション管理に関する知識
  • ストアドプロシージャの作成と活用に関する知識
  • クライアントから接続する手法(ODBCなど)に関する知識
  • トリガーの作成や活用に関する知識

次項では、「データベース管理者」としてのスキル、及び「データベース利用者」としてのスキルの内容を個々に解説していきます。

 

データベース管理者としてのスキル

データベース管理者の場合は、データベースを安全に運用し、性能低下や障害を未然に防ぎ、万が一性能低下や障害が発生した場合に、それらを解消するスキルが必要になります。

バックアップではフルバックアップ、差分バックアップ、増分バックアップなどの一般的なバックアップ方式から、自社の環境に合う方式を選定して運用していく必要があります。

また、一般的なRDBでは、管理しているレコードの削除や更新、追加などが繰り返されることで、「断片化」と呼ばれる状態が発生します。
「断片化」はデータベースの性能劣化の原因になるため、データベース管理者はそれを起こさせないように管理する必要があります。

また、データベースの性能において、そのデータベースのインスタンスに割り当てるメモリのサイズや、メモリの利用状態は非常に重要です。
データベースがメモリを適切に利用できているかを監視することもデータベース管理者の仕事です。

また、データベースは、自社のあらゆるシステムや業務の根幹に位置する重要な設備です。
よって、万が一障害が起こった際に自社の業務が止まったり、最悪のケースではデータが消失してしまうことにないように対策をとることが必要です。

例えば、本番環境として稼働しているデータベースのインスタンスとは別に、別の環境にもインスタンスを作成し、本番環境のデータベースをその環境にレプリケーションさせたり、データベースサーバーのHAクラスタ構成を作ると言った対応があります。

また、データベースは格納するデータが増えていくことで、必ず性能の低下が発生します。
その場合に、サーバー側の設定や機器構成、RDBMSのパフォーマンスに関連する設定値を見直すことで性能の低下を防ぐ対応が求められます。

また、基本的にデータベースは何らかのRDBMS上で稼働し、そのRDBMSはサーバーにインストールして使用します。

サーバーが仮想化され、仮想環境のプラットフォーム自体をIaaSなどで運用している場合は、ハードウェアに関する知識もそれほど必要ではないのですが、物理サーバー上でRDBMSを稼働させている場合や、自社で物理サーバーを使って構築した仮想基盤上でRDBMSを稼働させている場合は、データベースがサーバー筐体のCPUやメモリ、HDDなどの物理リソースをどのように使用するかといった知識も必要です。

また、前述したように、RDBMSにも多くの種類があり、その製品ごとに特長も異なります。
それらはしっかり理解しておく必要があります。

 

データベース利用者としてのスキル

データベース利用者の場合は、データベース内に管理されている各データを自由に扱える能力が必要です。

データベースに格納するデータは、「テーブル」という入れ物に格納して管理しますが、そのテーブルにどのような列を持たせるかを決めて、その列で扱う値をデータ型で指定します。

また、テーブルではデータを重複して管理することに無いように、正規化をおこない合理的にテーブルを分割されるように設計します。
それらをまとめて「テーブル設計」と呼びますが、テーブル設計の経験や知識は社内SEでも必要です。

また、データベース内のデータ(レコード)を自由に参照したり変更する場合、一般的には「SQL」と呼ばれるRDBを操作するためのデータベース専用のコマンドを使用します。

業務システムを開発するプログラマーの大半はSQLも習得しておりますが、社内SEであっても、データ集計業務で必要になる元データをデータベースから直接取得したり、自社の他部署からの依頼を元に、データベース内のレコードの値を直接更新する場合もあります。
この場合でも、やはりSQLを使って実施できるようにしておく必要があります。

また、前述したSQLは構文の書き方によって、処理速度が大きく変わります。
処理速度の遅いSQLを実行させた場合、データベースサーバー自体の負荷増大にも繋がりますし、その処理の間に別の処理が待たされることにもなり、データベースへアクセスしてきているシステム全体の遅延に繋がります。

このように、遅いSQLの構文自体を見直して処理が速くなるように改善することを「SQLチューニング」と呼び、データベースを扱うにあたって大事な技術です。

また、データベースでは、データの更新処理や追加、削除処理において、整合性を担保するために「トランザクション管理」の仕組みが用意されています。
データベースにおけるトランザクションでは、「ACID特性」と呼ばれる「原子性(Atomicity)」、「一貫性(Consistency)」、「独立性(Isolation)」、「永続性(Durability)」の四つの特性を有しており、この特性を元に、データ更新時の信頼性を確保しています。

社内SEが利用者としてデータベースを扱う場合は、この「トランザクション管理」の仕組みや考え方、実際の利用方法を理解しておく必要があります。

また、データベースではRDBMSごとに、SQLを独自に拡張したプログラミング言語を使用して複雑なデータの取得処理や更新処理を自由に作ることができます。
そのような機能を「ストアドプロシージャ」と呼びます。

「ストアドプロシージャ」では、データベースサーバー上のメモリー内で実行され、使い方によっては複雑な処理を高速で実行できるようになり、データベースサーバーの負荷軽減や、参照するシステムのレスポンス改善に大きく貢献します。
よって、社内SEとして、この「ストアドプロシージャ」の特性やメリットを理解しておくことも重要です。

また、ストアドプロシージャのように複雑な処理を記述できて、且つ、テーブルに対してINSERTやUPDATEなどの処理実行時に、自動的に特定の処理を動かす仕組みを作ることができ、それを「トリガー」と呼びます。

この「トリガー」を上手く利用することで、テーブル間の整合性を担保したり、データ変更の履歴やログを別のテーブルに書き出すなどの処理をデータベース側で実行させることができますが、使い方を誤ると、意図しないデータ更新などを誘発するおそれもあります。
ストアドプロシージャ同様に、上級者向けの機能です。

また、データベースはRDBMSごとに、クライアントからそのデータベースへ接続するためのインターフェイスを提供しています。
各クライアントからインターフェイスに接続するためのツールを、一般的には「ドライバー」と呼び、クライアントではRDBMSが提供しているドライバーをインストールしてデータベースに接続します。

ドライバーのなかでも「ODBC」と呼ばれる汎用的なインターフェイスを介してデータベースに接続する方式が一般的です。

社内SEでは、社内の各パソコンからデータベースに接続する方法を提供したり、各サーバーからデータベースに接続できる環境を構築する必要があります。
その場合は、データベースへの接続方法について深く理解しておくことも必要です。

上記の内容をまとめたのが以下のイメージ図です。

 

データベースの知識やスキルを身に付ける方法

前述したように、データベースは管理者視点で習得すべき内容と、利用者視点で習得すべき内容が大きく異なります。
よって、身に付けないといけない知識や技術も非常に広いと言えます。

もし、自身の職場でデータベースに触れられる環境があるなら、まずはデータベース利用者側のスキルの習得をおススメします。

特に「SQL」が書けるようになっていると、前項で紹介したプログラミングと併用して活用することで、企業の様々な作業を自動化することが可能になります。

また、RDBMSごとに、そのメーカーや管理団体が無償で提供しているデータベース接続ツールや管理ツールがあり、それをインストールして起動することで、そのデータベースと簡単に接続できるようになり、そのツール内でSQLを書いたり実行することもできるようになります。

主要なRDBMSごとの純正データベース接続ツールのリンク先は以下です。

SQL Server Management Studio(SSMS)

Oracle SQL Developer

PostgreSQL pgAdmin

MySQL Workbench

尚、過去に当ブログでも、データベース初心者向けに「テーブル設計の入門記事」や、「初心者向けのデータベース機能解説記事」を公開しています。
良ければこちらもご一読ください。

【データベース入門】テーブル設計初心者がやってはいけない9個の事例の紹介と解説
今回の記事ではデータベース入門記事として、新米SEがテーブル設計をするうえでやってはいけないバッドノウハウを紹介していき...
【データベース入門】最低限知っておきたい!データベースの基礎知識や機能紹介【前編】
今回の記事では、システム開発経験の無いシステム管理者向けに、最低限これだけは知っておいてほしい、「データベースの基礎知識...

 
 

ネットワーク

前項で紹介した「プログラミング」は、社外のシステム開発会社任せにしている企業も多くいますが、自社の「ネットワーク」の構築や運用は社内SE(情シス)が担当している会社も多いかと思います。

企業の情報システムでは、ありとあらゆるデバイスがネットワークに繋がり、様々なデータをやり取りしています。
企業における「ネットワーク」は、使えることが当たり前のものであり、止まることが許されない重要な「ITインフラ」の一つです。

よって、「ネットワーク」を社内のユーザーが常に利用できるように運用し、社内の組織や事業の変化に併せて適切なネットワークを構築し、障害が発生した場合にそれを迅速に復旧させるのは、社内SEの重要な業務の一つです。

尚、「ネットワーク」の技術は、「ネットワークエンジニア」が職業として成り立つほどに専門性の高い技術と言えます。

例えば前項で紹介した「プログラミング」においては、デスクトップ上で操作するための入力フォームを作ったり、技術自体が目に見えて視覚的にわかりやすいのですが、ネットワークの技術は視覚的には分かりづらいものも多く、その意味ではIT業界の浅い人だと、プログラミングよりも習得の敷居が高いとも言えます。

もちろんネットワークエンジニアと同等のスキルがあれば望ましいのですが、一般的な事業会社の社内SEであれば、そこまでの高いスキルはなくても十分に業務はこなせます。
そもそも、会社の規模にもよりますが、社内のネットワークはそれほど頻繁に変更したり拡張するようなものではなく、社内SEの日常業務において、ネットワークの専門的なスキルが求められることは比較的少ないです。

それでも、社内の情報システムを管理するにあたって、ネットワークの基礎知識が求められるケースは多々ありますし、社外のベンダーと調整する場合は適切に要件を伝えたり、障害発生時には保守担当ベンダーに障害の状況を適切に報告する必要があります。

また、昨今の企業の情報システムは、セキュリティインシデントのリスクに常時晒されており、セキュリティとネットワークは切っても切れない関係にあります。
ネットワークの技術と聞くと、まずは「繋げる」技術をイメージするかも知れませんが、セキュリティにおいて重要なのは「分断」したり「遮断」する技術です。
利用者の組織や用途によってネットワークをセグメントごとに「分断」する。
また、許可された通信以外は通さないように「遮断」する。

このあたりのネットワーク設計や機器への設定はネットワークエンジニアの業務範疇でもありますが、社内SEとしては、実作業はできなくても、知識としては理解しておく必要があります。
 

社内SEに求められるネットワークのスキルと具体的なレベル

一言で「ネットワーク」と言っても、社内SEが知っておくべき技術領域は多岐にわたります。

インターネットへの接続環境を提供したり、社内のLANを構築することは当然ですが、ルーターを使用して、拠点間でVPNを構築することも必要になります。
また、ファイアーウォール(UTM)の機能を利用して、SSL-VPNを構築する場合もあります。

Webサーバーやアプリケーションサーバーをインターネット上に公開し、そのネットワーク環境も自社で構築しているのであれば、ファイアーウォールで通信制限をする技術も必要です。
公開サーバーに関するネットワーク技術では、他にもロードバランサーを使用した負荷分散技術も理解しておく必要があります。
サーバーをスケールアウトしていく場合、負荷分散技術を利用して、増やしたサーバー間で処理を分散して1台あたりの負荷を軽減したり、耐障害性の向上を狙います。

最近ではタブレット端末の業務利用も一般的ですし、オフィスのフリーアドレス化なども広がりつつあり、更にIoT(Internet of Things)の浸透により様々な機器が無線LANを介してネットワークに繋がるようになっています。
よって、無線LANの専門的な知識も不可欠です。

無線LANでは電波さえ届けば、どんな端末でもネットワークへの接続を許してしまうことになり、セキュリティ上のリスクがあります。
それに対応するためには、併せてクライアント認証の知識も得ておくことが必要です。

また、多くの企業ではビジネスフォンを使用しており、内線機能を使用したり外線の着信の鳴り分け機能を利用していますが、それらの制御を管理しているのはPBXです。

最近ではPBXとビジネスフォンはLANケーブルで接続して構成するケースも多く、その場合はIPアドレスを使って互いに通信します。
音声をIP通信で流す場合、通信品質が悪いと会話にならないため、QoS(Quality of Service)を適用して、音声データを優先してネットワークに流す技術も理解しておく必要があります。

また、ネットワークの技術は、セキュリティ分野とも密接に関係しており、企業の情報システムの安全を確保するためには、セキュリティを加味したネットワーク設計が必要になります。

ネットワーク機器の障害や故障に備えて、HAクラスタやスタック、リンクアグリゲーションといった冗長化構成を取る場合の方式や技術も知っておく必要があります。

また、一般的な企業の大半はWindowsを使用しており、Windows固有のネットワークプロトコルの種類や特徴は抑えておく必要があります。

最近では、SD-WANといった新しい技術も広く使われています。

このような新しい技術にも日々アンテナを張り、自社に導入することで社員の利便性が向上したり、コストの削減に繋がるといった効果が見込めないか検討していくことも社内SEでは重要な役割です。

このように、社内SEはネットワークにおける様々な技術領域を抑えておく必要がありますが、これらの主要技術を要約し、以下のように分類分けしてみました。

  • OSI参照モデルの知識
  • IPアドレスとMACアドレスの知識(CIDRやARPあたりまで)
  • 無線LANの仕組みや規格等の基礎知識
  • 無線LANの端末認証やローミングなどの上位知識
  • Windowsネットワークの知識
  • VLANの知識(ポートVLAN、タグVLAN)
  • スタティックルーティングの知識
  • ファイアーウォールのNATとポリシーの知識
  • IPSec-VPN及びSSL-VPNの知識
  • ネットワーク機器の冗長化に関する知識

この分類をもとに、社内SEに求められる「ネットワーク」のスキルやその具体的な技術、その技術ごとの難易度をまとめたのが以下の図です。

尚、「社内SEに求める技術範囲」については、もっと低くても良いかもしれません。
ネットワーク機器の導入や運用をすべて外注している場合は、そういった機器をさわる機会も無いかと思います。
所属している会社の環境によりこのあたりの要求レベルは変わります。

ただし、「社内SEに求める知識範囲」で括った項目については、業務上の必要な知識として身に付けておく必要があります。

前述したように、ネットワークは目で見て違いがわかるようなものではなく、ユーザーからしたら当たり前のように存在しているものです。

よって、業務アプリケーションのように、ユーザーからわかりやすい改善要望が出てくるものでもないため、システム管理者である社内SEが能動的に自社のネットワークの最適な構成を検討していくことが求められます。

更に情報システムのセキュリティにおいても、ネットワークは重要な要素の一つです。

よって、ネットワークに関する幅広い知識を身に付けたうえで、自社に最適なネットワーク構成を検討し、それを外部のベンダーに指示できるようにしておく必要があります。
 

ネットワークの知識やスキルを身に付ける方法

ネットワークの技術分野は広く、ネットワークエンジニアといった専門職種として活躍しようとした場合は、高度な技術が求められますが、社内SEに必要なネットワークのスキルや知識を習得するなら、それほど難しくはありません。

まず、一般的なネットワークは「TCP/IP」の仕組みで成り立っています。
ネットワーク技術の根幹と言える技術であり、この「TCP/IP」について書籍や技術サイトなどをもとに学んでいきましょう。

また、「TCP/IP」ではネットワークで使われる技術を4階層に分けて説明していくのが一般的ですが、7階層に分けた「OSI参照モデル」もあり、こちらもネットワーク技術の必須知識です。

また、ネットワークはITインフラであり、皆さんの身近にあります。
例えば自宅のパソコンがLAN内で通信をして、ルーターからインターネット回線を使ってインターネットに出る一連の環境からも学べるポイントはあります。

ネットワークの調査などでよく使われる「ping」や「nslookup」、「arp」などのネットワークコマンドを自宅のネットワーク内で試しながら、使い方を理解するのも有効です。

また、会社のネットワークは知識のある技術者が構築しているケースも多いため、もしネットワーク構成図などの資料が手に入るなら、それをじっくり見ることで、ネットワークの作り方や使われる機器などの構成が学べます。

普段は当たり前のように存在していて、一人のユーザーとして利用するだけだった社内のネットワークも、見方が変われば面白く感じるかもしれません。

尚、当ブログでは社内SE向けに、「初めて社内ネットワークを構築する場合のポイント」を解説した記事を公開しています。
よければこちらもご参照ください。

【ネットワーク入門】情シス向け!初めて社内ネットワークを設計構築する場合のポイント
今回の記事では、システム管理者や企業の情報システム部門の担当者向けの記事として、「初めて社内ネットワークを設計したり構築...

 

サーバー

社内SEの業務では、サーバーの運用や保守も非常に大事な業務の一つです。

また、サーバーの運用や保守だけではなく、サーバーを新しく調達して使用可能な状態まで構築する作業も行います。

このサーバーも現代においては非常に多様化しており、自社内にサーバールームを構築して、そこに自社で使用しているサーバー筐体を集約して管理している企業もあれば、AWSやMicrosoft AzureといったIaaS環境でサーバーを運用している企業も増えています。

また、自社でESXiなどの仮想基盤を構築し、多くのサーバーを仮想化して稼働させているケースもあります。

稼働している環境が、物理サーバーなのか仮想サーバーなのかによって、社内SEに求められる知識や技術も変わってきます。

また、すべてのサーバーを自社の人員で運用している場合もあれば、外部のベンダーが自社の代わりに運用してくれている場合もあります。

スクラッチで開発した業務システムで使用するサーバーや、ERPなどの業務パッケージソフトを稼働させているサーバーであれば、その業務システムや業務パッケージを導入したベンダーが業務アプリケーションの保守の一環として、サーバーもまとめて管理してくれるケースもあります。

例えば、自社の管理系サーバー(ActiveDirectory、ファイル管理、IT資産管理ツールなど)は自社で運用し、業務系サーバー(業務システム、業務パッケージなど)はベンダーが運用しているケースも多く見受けられます。

物理サーバーでは、そのサーバー筐体に組み込まれたプロセッサやメモリ、HDD(SSD)などの部品によって、性能が大きく変わります。

また、各パーツの二重化、RAID等によるディスクの冗長化といったハード構成は、そのサーバーの重要度などを加味して選定することが必要です。

よって、サーバーを構成するハードウェアの種類や特徴、使われている技術についても知っておかないといけません。

また、一言で「サーバー」といっても、その役割は様々であり、一般的なサーバーの役割は以下になります。

  • ファイルサーバー
  • データベースサーバー
  • Webサーバー
  • ADサーバー(ドメインコントローラー)
  • DNSサーバー
  • アプリケーションサーバー
  • メールサーバー
  • FTPサーバー

などなど。

上記のように、「〇〇サーバー」といった一般的な役割名があるサーバーもあれば、グループウェア製品をインストールして使用するサーバーや、資産管理ツールをインストールして使用するサーバー、その他のパッケージソフトをインストールして使用するサーバーなど、サーバーの用途や種類は様々です。

また、サーバーではユーザーが使用するパソコンと同じようにOSがインストールされており、サーバーで主に使用されるOSとして「Windows系OS」と「Linux系OS」があります。
サーバーにインストールされたOSによって、同じ機器構成であっても、そのサーバーの特徴や向き不向きの用途が大きく変わります。
企業内で使われる管理系サーバーの場合、Windows系サーバーOSである「Windows Server」を使用するのが一般的です。

例えば、企業のユーザー認証基盤として一般的に使われているActiveDirectoryの管理サーバーである「ドメインコントローラー」はWindows Serverでしか使用できません。
それもあり、社内SEはWindows系サーバーOSを日常的に使用することが多いです。
逆にLinux系OSを自身で操作したり運用した経験のない社内SEも多いかと思いますが、この両OSの違いも理解しておくことが必要です。

因みに、サーバーを使用しているということは、そのサーバーで業務上必要になる何らかのサービスをユーザーに提供していることになります。

もし業務上で必要になるサービスをすべてSaaSなどのクラウドサービスを利用するとなれば、サーバー自体を自社で所有したり、IaaSで仮想サーバーを運用することすら不要になります。

この場合は、サーバーの運用や保守を考える必要が無く、専門的な技術を持った従業員も不要になることから、貴重なIT人材を企業の経営における、より重要な業務に集中させることができるようになり、メリットも大きいです。

最近ではこのような環境を「サーバーレス」と呼称します。

 

社内SEに求められるサーバーのスキルと具体的なレベル

「サーバー」に関連するスキルも実態は非常に範囲が広いです。
まず、ハードウェアに関する分野と、ソフトウェアに関する分野で大きく分かれます。

また、そのサーバーで動作するOSによっても特徴や用途が変わってきます。

Linuxサーバーの場合は、CUIによるコマンド操作しか受け付けていない場合も多く、Linux未経験の場合はファイルのコピー一つすらままならないのですが、Windows系サーバーOSであれば、普段自身が使用しているWindows10やWindows11と操作はほぼ同じであり、習得の敷居は低いです。

よって、Windows系サーバーOSについては、基本的な操作や設定は理解しておくべきだと思います。

更に、Windows系サーバーOSの機能のなかでも、社内SEであれば習得しておいたほうが良いものの代表は、ActiveDirectoryです。

企業のユーザー管理において根幹となる認証基盤であり、最近ではAzure ADなどと連携し、様々なSaaSとのSSO(Single Sign On)でも利用できます。
また、グループポリシーを利用して、端末個々の設定を一括で反映するといった仕組みは、社内SEの業務負荷を大きく軽減します。

そのため、ActiveDirectoryの活用方法や、ドメインコントローラーの運用方法については深く理解しておくことが望ましいです。

また、物理筐体にOSをインストールして運用する場合もあれば、ESXiやHyper-Vといった仮想サーバー環境を構築し、そのなかに仮想サーバーを作成して運用する場合もあります。

ESXiやHyper-Vなどのハイパーバイザー自体の構築は、必要になる技術レベルも高いため、社内SE自身で一から構築することは難しいですが、管理コンソールを使用した仮想マシンの停止や移動、割り当てリソースの変更、スナップショットの取得などの運用上必要になる簡単な操作はできるようにしておくことが必要です。

また、物理サーバーであれば、プロセッサやメモリ、HDDやSSDなどの部品についても役割や特徴、製品の違いを理解しておく必要がありますし、NASや外部ストレージ、UPSやテープドライブなどのサーバーと連携して使用する機器や装置についても併せて理解しておくことが必要です。

企業においてサーバーの大半は事業活動上の重要な設備であり、障害や故障などで停止してしまうと、そのサーバーの重要度によっては大きな損失が発生します。
よって、サーバーを安全に稼働させるために、サーバーの冗長化構成の種類や特徴、必要によって構築方法を理解しておくことが必要です。

また、サーバーの運用では、スクリプトを書いて処理を自動化させることが多々あります。
サーバーのバックアップやログのローテート、リソースや死活監視などはスクリプトを書くことで容易に実装できます。

Windows系サーバーであれば、batファイル、VBScript、PowerShellなどを使用するのが一般的であり、Linux系サーバーであれば、Bashなどが使われます。

サーバーを運用するにあたり、簡単なスクリプトは自身で作成できるようにしておくことも必要です。

上記をふまえて社内SEに求められるサーバースキルをまとめた図が以下になります。

知識として身に付けておいてほしい技術と、実際に手を動かして設定したり構築できるレベルまで身に付けてほしいレベルとで分けています。

上記の図にまとめた能力があれば、日頃のサーバーの運用で困ることはないですし、新しくサーバーを調達する場合でも、適切に選定ができます。
また、ベンダーに構築を依頼する場合にも、自社の要件を漏れなく伝えることができると思います。

 

サーバーの知識やスキルを身に付ける方法

サーバーの知識を習得するにあたって、殆どのサーバーはネットワークを介してサービスをクライアントに提供します。
その意味では、ネットワークの基礎的な知識は不可欠です。

よって、もしサーバーの知識やスキルを今後習得しようと考えており、ネットワークの知識にも不安がある場合は、先にネットワークの基礎知識を学ぶことをおススメします。

サーバーのスキルを習得する場合、サーバーOSの種類や特徴などの基礎知識を書籍などを読みながら座学することも必要ですが、サーバーは必ず何らかの役割があり、その役割によって構築手順や設定する項目も変わります。

OSの種類で操作方法や提供できるサービスも変わるため、座学だけでは身に付く知識やスキルには限界があります。

よって、基礎知識を学んだあとは、実際にサーバーを触ってみるのが一番効率的にスキルを身に付けることができます。

「サーバーを実際に触る」と聞くと、専用の大きなサーバー筐体を手に入れないといけないと思われるかも知れませんが、そんなことをする必要はなく、もっと手軽に色々なサーバーを触ることが可能です。

まずお使いのパソコンが、Windows 10やWindows 11のProであれば、標準機能として、「Hyper-V」が無料で使用できます。
「Hyper-V」は企業のサーバーでも利用されている、仮想サーバーを稼働させるためのソフトです。

このHyper-VをWindows 10 などのパソコン上で有効化しておくことで、そのHyper-V上にいくつも仮想サーバーを動かすことが可能です。

当ブログでは、過去に「Windows 10のHyper-Vを有効化する手順」を紹介した記事を公開しています。
良ければ参考にしてみてください。

【Hyper-V入門】Windows10版Hyper-Vの設定手順と仮想スイッチ解説
サーバーの仮想化技術を覚えて検証環境をお手軽に利用できるようにしたいが、何か便利なツールは無いか...

また、Hyper-V上でサーバーを稼働させるためには、Windows ServerやLinuxなどのOSのインストールメディアを調達することが必要です。
Linuxは基本的に無料で手に入ります。

Windows Serverを利用するには、本来ライセンスを購入する必要がありますが、Microsoftは「評価版」のWindows Serverのインストーラーを無償で公開しています。
これを使用してWindowsServerをインストールすることが可能です。

Windows Server 2022 | Microsoft Evaluation Center
Windows Server 2022 には高度な多層セキュリティ、Azure とのハイブリッド機能、柔軟なアプリケーション プラットフォームが追加されています。

また、この評価版のWindows Serverは、評価期間として180日間の使用が可能であり、さらに数回その評価期間をリセットして延長することができます。

よって、Windows 10 や Windows 11 のProを使用している場合は、このHyper-Vを活用することで、気軽にサーバーOSを試すことが可能です。

また、もしWindowsのHomeエディションなどの使用しており、Hyper-Vが使えない場合は、例えば「VMware Workstation Player」などのサードパーティ製の仮想化ソフトを利用できます。
この「VMware Workstation Player」も無償で利用可能です。

403 Forbidden

これらのような仮想環境を利用することで、サーバーのスキルの習得ができるとともに、現代のサーバー運用において広く利用されている「サーバー仮想化」の技術も併せて習得できるため、是非積極的にチャレンジしてみてください。

あと、当項でも言及した、「Windows系サーバーとLinux系サーバーの違いや特徴」については、過去に当ブログでも記事でまとめています。
こちらも良ければ参考にしてください。

【サーバー入門】WindowsサーバーとLinuxサーバーの特徴と選定のポイント
サーバーが必要となった場合は、いつもWindows Serverを選定してしまうけど、Linux...

 

セキュリティ

社内SEにとって、「セキュリティ」に関するスキルは非常に重要です。

これまで紹介したプログラミングやネットワークといった技術は、社外のベンダーに委託することが比較的容易ですが、セキュリティに関しては、プログラミングやネットワーク、サーバーなどの様々な技術領域を横断して見直しを進めていくことが必要になり、システム管理者である社内SE自身が自社に最適なセキュリティ構成を適切に判断して見直しや導入できるようにしておくことが必要です。

昨今では多くの企業がセキュリティインシデントのリスクにさらされております。

ランサムウェアに感染した結果、社内のあらゆる情報システムが停止し、復旧までに甚大な被害が発生したり、サイバー攻撃によって顧客データなどの機密データが漏洩し、その会社の社会的信用を大きく落とすといったインシデントは頻繁に発生しています。

最近ではテレワークなどの新しい就業形態も増え、従来からあるような社内と社外の境界線に対してセキュリティ対策をするだけでは不十分と言われています。

また、社内SEが守るべき対象は自社だけではなく、グループ会社や取引先などの「サプライチェーン」も含まれるようになり、より広域なセキュリティ対策を意識する必要があります。

尚、一般的にはセキュリティ対策を行う対象として、大きく以下の3点に分類されます。

  • 物理的セキュリティ
  • 人的セキュリティ
  • 技術的セキュリティ
物理的セキュリティ

オフィスに対して防犯カメラを設置したり、入退室管理の仕組みを導入する、棚に施錠をするといった、建物や設備自体などに施すセキュリティ対策を指します。
また、廃棄するパソコンのディスク内のデータを消去してから物理破壊したうえで産廃業者に渡すといった運用も物理的なセキュリティとして扱われます。

人的セキュリティ

内部統制などによる社内業務のルール化、個人情報保護規程や情報システムの取り扱いに関する社内規程の作成などによる対策や、社員教育や標的型メール攻撃の訓練なども人的なセキュリティ対策として扱われます。

技術的セキュリティ

アプリケーションやサーバーなど、様々なITの資源に対して実施するセキュリティ対策が技術的なセキュリティ対策になります。
昨今では企業の事業においてITの役割は非常に大きくなっており、それに伴い、セキュリティを考慮すべき対象も大変広域になっています。
今回の記事で言及するのも、この技術的なセキュリティ対策における内容です。

「技術的セキュリティ」では、関連する技術領域も非常に広大であり、Webアプリケーションの開発やセキュアプログラミングの知識や、ネットワーク機器の製品知識やネットワーク設計に関する知識、サーバーに関する知識など、多くの技術分野に対して横断的な知識が必要になります。

よって、冒頭で解説した「偏りが少なく広いITスキルと経験」が最も求められます。

ただし、社内SEが習得するべきセキュリティのスキルは、自ら手を動かして構築したり導入するというものではなく、知識として理解しておくだけで十分です。
 

社内SEに求められるセキュリティのスキルと具体的なレベル

社内SEにおいてセキュリティに関するスキルは非常に重要です。
また、前述したようにセキュリティの分野で必要になる技術領域は広範囲にわたるため、個々のセキュリティ技術の技術領域を整理して理解することが必要です。

今回の記事では、主だったセキュリティ対策やセキュリティに関連する技術、知識を技術領域ごとに整理します。

 

セキュリティの知識やスキルを身に付ける方法

セキュリティにまつわる技術は、前述したとおりプログラミングやネットワーク、サーバーなどの技術領域を幅広く求められます。

そのため、当記事で紹介してきたプログラミングやデータベース、ネットワークやサーバーなどの基礎知識は必ず習得しておいてほしいと思います。

各技術領域の基礎知識を習得したうえで、常にセキュリティ分野へのアンテナを張り、新しいセキュリティ製品の情報を収集したり、サイバー攻撃を受けた企業のニュースを積極的に収集して手法や影響を調べるといった情報収集は欠かせません。

また、セキュリティの分野では、様々な機関や団体がベストプラクティスを公開しています。
そういった資料を読み込んで、自社の環境と比較することで、セキュリティにおけるあるべき状態を学びつつ、自社の脆弱な部分や足りていない部分を洗い出すことにも繋がり、非常に効果的です。

当記事では、IPAが運営している「情報セキュリティ対策支援サイト」を熟読することをおススメします。

情報セキュリティ対策支援サイト | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
情報処理推進機構(IPA)の「情報セキュリティ対策支援サイト」に関する情報です。

こちらのサイトでは、企業のセキュリティ担当者や経営者、従業員向けに様々なコンテンツや資料を公開しており、これらの資料に目を通していくだけで、セキュリティに関する十分は知識が身に付きます。

また、主要なパッケージ製品やサービスにおける最新の脆弱性情報や、セキュリティ分野の統計情報、その他の様々なセキュリティに関連する情報は、同じくIPAの以下のリンク先で確認が可能です。

情報セキュリティ | IPA 独立行政法人 情報処理推進機構
情報処理推進機構(IPA)の「情報セキュリティ」に関する情報です。

こちらも定期的に確認しておくべきです。

サイバー攻撃の手法は日進月歩で進化していますし、その時期によって流行などもあります。
過去には有効だったセキュリティ対策も、時が経つことで攻撃者によって対策をされてしまい、意味をなさなくなることは多々あります。
セキュリティの世界では、知識が古いことは命取りです。

よって、セキュリティの知識やスキルを身に付けるためにも、また、身に付けた知識やスキルを高い水準で維持するためにも、積極的な情報収集が欠かせません。

尚、当ブログでは、過去に社内SE向けに、「知識として知っておいてほしいセキュリティ対策」をまとめた記事を公開しています。
良ければこちらもご参照ください。

【セキュリティ入門】システム管理者なら知っておきたい企業を守るセキュリティ対策まとめ
今回の記事では、企業のシステム管理者であれば最低限知っておいてほしいITにおける「セキュリティ対策」に関する知識を初心者...

 

本当に社内SEに求められる能力とは

当記事では、ここまで長々と社内SEに求められるITスキルを解説してきましたが、社内SEに求められる能力において、もっとも重要なのは、個々のITに関する技術力ではありません。

まず、覚えておいてほしい本質は以下です。

社内SEにとってITは「手段」であり「目的」ではない

当記事の冒頭において、我々社内SEは、ITを活用して自社の事業に貢献することが役割だと説明しました。

更に本質的な解釈をすれば、ITを活用有無は関係なく、「自社の事業に貢献」することが求められます。

自社の事業に貢献する手段として、「IT」がもっとも合理的であればITを使用しますが、IT以上に合理的な選択肢があれば、無理にITを使用する必要はありません。

このように、ITに固執せず、様々な手段から最適な対策や手法を発案して実行に移せる能力が社内SEに最も必要とされる能力だと考えます。
 

【番外編】コミュニケーション

今回の記事では、社内SEに求められるIT技術をそれぞれ解説してきましたが、ITに関する技術以上に大事なスキルは、「コミュニケーション」スキルです。

いくら高度なITスキルを有していても、それを社内SEとして活かすには、十分なコミュニケーションスキルが不可欠です。

例えば、ITがわからない社内の経営陣や上司、他部署の責任者にITの技術をわかりやすく伝える能力や、外部のIT系ベンダーに適切に要件を伝え、円滑にプロジェクトを進める能力はとても重要です。
また、社内からあがってくる業務の困りごとや、システムに対する要望を上手く収集して、社内業務の効率化や自動化などの改善をしていくには、社内の声に広く耳を傾ける必要があります。

人に分かりやすく物事を説明したり、周りの意見を漏れなく聞き取って要点を適切にまとめるには高いコミュニケーション能力が求められます。

極論で言えば、「コミュニケーション」能力が十分備わっていれば、それだけでも社内SEに求められる業務は遂行できます。

例えるならオーケストラの指揮者のように、楽器を使った演奏はそれぞれの演奏者に任せて、自身は演奏者の個々の演奏を注視して、常に調和が取れている状態にコントロールできれば良いのです。
専門性の必要な作業は外注したり、自身より得意な人にお願いし、自身は外注先や作業者が作業に専念できるように調整役に徹したり、適切に管理します。

社内SEにおいて必要なコミュニケーション能力は以下の3点です。

  • ITに詳しくない人に分かりやすくITの技術を説明する能力
  • ユーザーがあげてくる要望から本当に必要な要件を取捨選択する能力
  • システム開発会社やベンダーに対して要件を正確に伝える能力

ITについて分かりやすく説明する能力が備わっていないと、上司や経営陣に行った提案がいくら良い内容だったとしても、その良さは伝わらず、実現するための予算は獲得できません。

ユーザーから適切にヒアリングする能力が備わっていないと、ユーザーがあげた要望がシステムに反映されずにユーザーから不評を買ったり、合理的ではない要望までそのままシステムに実装して使い辛いシステムが出来上がるといった状況に陥ります。

システム会社やベンダーに技術的な部分も踏まえて正確に要件を伝える能力が備わっていないと、要望通りのシステムを納品してもらえなかったり、プロジェクトにおいて頻繁に仕様変更をすることになり、スケジュールの遅延や作業工数の超過によるトラブルの原因になります。

これらをイメージ図にしたものが以下です。


 

社内SEに必要なコミュニケーション能力を身に付ける方法

周囲の人と円滑にコミュニケーションを行う能力は、生まれ持った特性も大きく影響を受けます。
特に努力をしなくても、流暢に会話ができて、適切な言葉を選んで相手に意思を伝えることができて、相手の言葉から正確に本意を汲み取ることができる人もいます。

ただ、社内SEに限れば、流暢に会話ができる必要はありません。
また、社内SEで必要になる「伝える力」と「聞く力」は、努力と工夫で十分に養うことができます。

「伝える力」は、広くITの知識を身に付けることで補完することができます。
ITの詳しくない人に技術を説明することと、ITの専門家であるIT系ベンダーに要件を説明することは、伝える内容は違っても、必要になる能力は同じです。
それは上辺だけの知識ではなく、技術の本質を理解して話をすることが必要です。

技術の本質は、これまで解説してきたプログラミングやネットワークといった各技術領域の基礎知識に含まれています。
基礎を疎かにせず、きちんと理解することが「伝える力」を養います。

「聞く力」は、自社の業務知識を深く理解することで補完できます。
ユーザーの様々な要望は、ユーザーが担当している業務内容や、事業内容を前提としています。
その業務内容や事業内容の理解が浅いまま要件を聞き取っても、ユーザーが何に不満を持っていて、ユーザーの要望を叶えるために本当に改善するべきポイントは汲み取れません。

現場で日々行われている業務知識の習得を軽視せず、積極的に他部署の業務を知ろうとすることで、ユーザーの要望を正確に理解して、その言葉の裏にある問題点の本質に気付けるといった「聞く力」が養えます。

尚、当ブログでは、過去に社内SE向けに、技術領域以外の気を付けたいポイントなどをまとめた記事を公開しています。
良ければご一読ください。

【情シス心の手引】大事なのはITだけじゃない!社内SEが身に付けたい仕事のポイント
今回の記事では、事業会社の情報システム部署で仕事を進めていくにあたり頭に入れておくと良いことや気をつけたいポイントを、私...

 
 

最後に

今回の記事では、社内SEに求めるITスキルを、私の独断と偏見でまとめてみました。

ただ、冒頭でも記載したように、実際に社内SEに求められる能力は様々です。
この技術を身に付けていれば正解といったものではありませんが、当記事で紹介した技術レベルを満たしていれば、一般的な非ITの事業会社の社内SEであれば、即戦力として受け入れてもらえるのではないかと思います。

また、記事の後半でも書きましたが、社内SEとして本当に大事な能力は、周囲の人と適切に調整しながら物事を進める「コミュニケーション能力」です。

さらに言えば「人間力」でもあります。

この考えさえブレなければ、きっと貴方はどこの会社でもやっていけます。
頑張ってください。

今回も長々と読んでいただきましてありがとうございます。
それでは皆さまごきげんよう。