情報システム部門にとってのプログラミングとは
情報システム部門のメンバーにとってプログラミングは必要なスキルでしょうか。一般的なイメージではプログラミングは必須と思われているかもしれません。
このコラムでは情報システム部門におけるプログラミングの必要性や親和性について説明します。プログラミングスキルが必要とされる場合は、どの程度のレベルが必要か、情報システム部門で本当に必要とされるスキルについてお伝えします。
この記事の目次
1.情報システム部門におけるコア業務とは
情報システム部門におけるコアの業務は攻めと守りに大別できます。攻めとは新規システムの導入や開発など事業の成長につながるもの、一方で守りとは既にあるシステムの運用保守など、事業の継続維持につながるものといえるでしょう。
社内における攻めの役割
1)IT戦略・立案
攻めにおける重要な要素とは、会社の事業戦略に沿った新しいシステムの導入や、新しいビジネスモデル、環境変化に対する既存システムのアップデートなどがあります。IT戦略を経営層に対して主体的に立案し、新たな仕組みを実現することといえるでしょう。
2)開発・運用
導入されたシステムがユーザー部門で最適に運用されているか、分析や改善を行います。ユーザー数の増加に対するパフォーマンスの向上を図ったり、ビジネスの成長に対するシステム開発やアプリケーションのアップデート、サーバーなどのハードウエアのリソース拡張などが該当します。
社内における守りの役割
3)運用・保守
運用・保守において求められる事はシステムの安定稼働と維持になります。さらにサーバーやネットワーク機器などのランニングコストの削減が要求されます。社内システムは事業運営のためのインフラであり、オペレーションを効率化し生産性を向上させるための仕組みでもあります。情報システム部門とはあたかも電気・ガス・水道のように日ごろ意識せずとも、トラブルなく利用できることが大前提であるため、こうした要件を満たすことが役割の1つです。
4)セキュリティ管理・ヘルプデスク・教育
社内外からの不正アクセスや情報漏洩は企業の存続にも関わるリスクです。サイバー攻撃から社内システムを守る事は極めて重要な要素です。守りの役割には社内ユーザーの問い合わせやトラブルに対応するヘルプデスク、また全社員に対してシステムの利用方法を教える教育も必要になります。
2.情報システム部門の担当者にとってプログラミングスキルは必要か
この問いに対する答えは、一概に必要と言う事は難しいでしょう。一部を除き、プログラミングスキルが不要の場合が多くなっています。3つのポイントについて説明します。
a.情報システム部門内での役割によって変わる
プログラミングスキルの必要性は「情報システム部門の担当部門内の役割」によって異なります。例えば、事業会社の社内SEの場合、主な役割は、IT戦略の立案や要件定義などの上流工程、さらに開発・運用・保守に関わるマネジメントになります。プログラミングが必要な開発工程はシステム開発会社やITベンダーに委託したり外注したりするため、社内SEにとってプログラミングスキルは不要となり、他のスキルを求められます。具体的には下記の5つです。
2)ビジネス知識
3)論理的思考力
4)コミュニケーション能力
5)マネジメント能力
b.事業会社の多くはシステム開発を外注している
独立行政法人 情報処理推進機構(IPA)の『デジタル時代のスキル変革等に関する調査(2022年度) 企業調査報告書』によると、IT企業において60%以上が内製化を進めています。一方で事業会社における内製化率は約30%に止まっており、多くの事業会社ではシステム開発を外注していることがわかります。そのため、事業会社では必ずしもプログラミングスキルがある人材を社内に抱える必要はないといえます。
引用:デジタル時代のスキル変革等に関する調査(2022年度)企業調査報告書 22P
c.外注をせず、内製が標準の事業会社もある
多くの事業会社でシステム開発を外注を進める一方で、自社内で内製を進める会社もあります。内製が標準プロセスになっている場合、プログラミングスキルは必須となります。変化が早い事業環境に迅速に対応するために、あえて自社でシステム開発を行う会社もあります。
3.そもそもプログラミングとは
基礎知識
プログラミングとは、コンピューターに特定のタスクや命令を実行させるための手段です。プログラミングはプログラミング言語を使って、コンピューターが理解できる形式で命令を書き込むことで、コンピューターは指定された手順に従って処理を行いアウトプットを実行します。
プログラミングはWebサイトの作成やモバイルアプリの開発、データベースの管理、業務アプリケーションの作成、科学や工学分野におけるシミュレーションなど、さまざまな用途で幅広く利用されています。
主流となっているプログラミング言語
プログラミング言語には200〜300と非常に多くの言語がありますが、現在多用されている主な言語について紹介します。プログラミング言語の人気の尺度であるオランダの「TIOBEインデックス」によると2024年4月現在の上位5位は下記のようになっています。
引用:TIOBEインデックスで見る2024年4月のプログラミング言語人気ランキング
メインの言語を使うのはどんなエンジニアか
では各々の言語を使うのはどのようなエンジニアなのか、説明します。
1)Python(読み方:パイソン)
この言語を利用するエンジニアは、Web開発、データ分析、機械学習、人工知能、自然言語処理などの開発を行います。
2)C(読み方:シー)
C言語を利用するエンジニアは、組み込みシステム、オペレーティングシステム、デバイスドライバなどの領域で使用します。
3)C++(読み方:シーシープラスプラス、略してシープラ、シープラプラとも)
C++はC言語の機能を継承しつつ、汎用性が高く処理速度が高い特徴があるため、高性能なアプリケーションやシステムを開発するエンジニアが利用します。
4)C#(読み方:シーシャープ)
C#はWindowsアプリケーションやゲーム開発、Webアプリケーション、モバイルアプリケーションなど、Microsoftのプラットフォームでの開発に従事するエンジニアが利用します。
5)Java(読み方:ジャバ)
Javaを利用するエンジニアは、企業のビジネスアプリケーションやスマホ向けアプリやWeb アプリ、PCアプリなどのシステム開発に携わります。Javaはプラットフォームに依存しない特性を持つプログラミング言語です。
4.情報システム部門とプログラミングスキル
親和性
情報システム部門とプログラミングスキルの親和性は必ずしも高いとはいえないでしょう。事業会社の社内SEの場合、プログラミングを行わなくても他に役割があり、プログラミングスキルよりも他の能力を要求されます。
一方、プログラミングを含めた内製を行う事業会社ではプログラミングスキルが必要となります。こうした会社ではプログラミングを学ぶか、プログラミングを行わずとも業務を行うことができるゼネラリスト系のIT戦略・企画の職を選択するとよいでしょう。
具体的に必要になる事例
先述のとおり、多くの事業会社では、プログラミングは外注することが一般的ですが、内製でプログラミングが必要となる具体例があります。
総合リゾート運営会社である星野リゾートはオフショアにおけるITの開発スピードが遅く、事業の成長の足を引っ張る事態となっていました。さらにコロナ禍を経て観光業は大きな変化を迎え、市場環境の変化に臨機応変かつ迅速に対応する必要がありました。そのため、星野リゾートではシステム開発を外注せず、内製化することで事業の成長に寄与することにしました。
引用:https://it.impress.co.jp/articles/-/25077
5.まとめ
情報システム部門におけるキャリアでは、内製に直接関わることがなければプログラミングは必要性の低いスキルともいえます。こうした状況下ではプログラミングは外注し、社内メンバーでしか生み出せないIT企画の立案や課題解決などのコア業務に注力した方がよいでしょう。
本コラムでは「情報システム部門にとってのプログラミングとは」について解説しました。情シスナビでは、本コラム以外にも、情報システム部門の開発に関わるさまざまなコンテンツを提供しています。是非確認してみてください。