これからのエンジニアに必要なスキルはコード書きじゃなく○○!
運送業や飲食業、サービス業に限らず、IT業界でも人手不足は深刻です。経済産業省が2018年に発表した「DXレポート」では、現役エンジニアの引退やレガシーなシステムが原因で、国際競争力が落ちていく危機が「2025年の崖」として警告されているほどです。
とはいえ、企業やプロジェクトオーナーの立場からすれば、すぐにエンジニアが育成できるわけではありません。そもそも、大規模なプロジェクトになるほど、さまざまな異なるスキルを持つエンジニアが必要です。エンジニアの立場としては、高いニーズが自分のキャリアにどう関係するのかは、気になる点でしょう。今回は、『これからのエンジニアに求められるスキルとは、何か?』を、いろいろな角度から考えてみましょう。
「エンジニア」といっても、携わる領域ごとに異なる職種がいる!
システム開発やIT関連で必ず出てくる職業、「エンジニア」。日本語だと「技術者」なので、従来なら、自動車や家電、工業製品などの開発のような、物理的な「モノづくり」を真っ先にイメージするのが当たり前でした。しかしそもそもエンジニアとは、「工学(エンジニアリング)に関する専門的な知識やスキルを持った人材」を指す言葉です。そのため、作るのが手に触れられるモノではないものの、ITの分野にもエンジニアと呼ばれるさまざまな人たちがいます。
IT分野では、「エンジニア」の前に、その人の業務を指す文言が入って細分化されています。一番よく知られているのは、システムエンジニアでしょう(略称としてのSEも知られています)。他にも、ネットワークエンジニアやサーバーエンジニア、フロントエンジニア、データベースエンジニアなどがいます。Web関係であれば、Webエンジニアやマークアップエンジニア、スマートフォンアプリの開発ならモバイルエンジニア。最近、注目を集めているのは、AIエンジニアやIoTエンジニア、ブロックチェーンエンジニアでしょうか。ビジネスに対して工学的なアプローチを取る人たちは、ビジネスエンジニアやセールスエンジニアとして活躍しています。
ただし、技術の進化と共に呼称も次々に生まれているこれらの肩書きは、定義が曖昧です。例えば、A社では開発者をSEと呼びますが、B社ではプログラマーと呼び、C社ではエンジニアという言葉すら使わない開発担当がいて、D社では初めて見聞きする肩書きを名乗っている人がいることも珍しくありません。同じ仕事をしていても、案件や開発体制によって呼び方が違うこともあります。そもそも、一人のエンジニアが複数の立場で業務を担当していることもあるので、呼称が仕事の内容を正確に示しているとは限りません。
「人材不足」の原因は、複雑化かつ高度化・高速化する要求への対応
一つのプロジェクトの中でも、異なるスキルを持つエンジニアが必要です。
例えば、Webのシステムを開発する場合だと、Webサーバーを管理するにはサーバーエンジニア、いろいろなデータを表示するにはデータベースエンジニアが必要です。さらに、Web表示の画面を作るにはフロントエンジニアやマークアップエンジニア、ネットワークの最適化にはネットワークエンジニア、そしてそれらをつなぎ合わせるシステムを担うには、システムエンジニアが必要です。目的や規模、仕様によっても変わりますが、一つのシステム開発をするのにも、それぞれの技術を持ったエンジニアの存在が不可欠です。
さらに今は、マルチクラウドやAI、モバイル、セキュリティーなど、システムの複雑化・高度化・細分化に伴って、多様なエンジニアが必要になっています。目的や機能に合わせたエンジニア全員を揃えられるとは限らず、これでは常にIT人材不足になるのも当然です。
さまざまなソフトウェアを少人数で迅速に開発できる、ローコード
このような厳しい状況を解決する仕組みとして、近年注目されているのが、ローコード開発です。これは、開発言語を使ってプログラミングコードをほとんど書かずに、システムやWeb、アプリケーションが開発できる画期的な手法です。機能を小さな単位でモジュール化し、それらをブロックのように視覚的に組み合わせていくことで、従来、人が手作業で書いていたコードを、専用サービスが自動化してくれます。
今までの開発手法では、必要な機能や役割、言語ごとに分業で対応していたため、それぞれの人材が必要でした。しかし、ローコードツールを使えば、遙かに少人数のチームで開発が可能です。必要なモジュールを画面上で視覚的に組み合わせていくだけで、複数のプラットフォーム用のアプリケーションも、効率的に開発できます。必ずしも、全員が熟練したエンジニアである必要もありません。社外のSIerに発注することなく、自分の手元でソフトウェア開発を内製化できます。
ローコードツールを使ったアジャイルな開発環境では、ソースコードを書けるスキルや、書いたプログラムが正しく動作するかといったレベルの作業は、もはやエンジニアに求められることはありません。コーディング自体がほとんど要らなくなるからです。
最新技術を使いこなす「マルチローコードエンジニア」こそが、求められる姿!
現代のソフトウェア開発の多くは、必要な機能はAPIを経由して外部と連携し合って共存する「最新技術のエコシステム」によって成立しています。その中で、これからのエンジニアに必要なのは、ローコードツール、それも複数のローコードツールを柔軟に使いこなすスキルです。つまり、多種多様な複数のエンジニアを必要としなくても、一人もしくは少人数のエンジニアだけで高度なソフトウェアを高速に開発できる、「マルチローコードエンジニア」としての役割です。
目まぐるしく変化するビジネス環境のスピードに合わせてシステムを柔軟に設計し、複数のローコードツールを効果的に使って、自社のビジネスに変革をもたらすことができる人材。それこそが、これからの時代を担う、真のエンジニアとして必要とされるでしょう。
理人様 見ず知らずの者に温かいアドバイスをありがとうございます。 生物学の中だけ…
Soさん、ご質問ありがとうございます。 博士課程で必要な生物学の知識は、基本的に…
貴重な情報をありがとうございます。 私は現在データエンジニアをしており、修士課程…
四葉さん、コメントいただきありがとうございます。にんじんです。 僕がこの会社この…
面白い話をありがとうございます。私自身は法学部ですが哲学にも興味があります。 ふ…