検索
特集/連載

大人気になるプログラマーやエンジニア職「10選」はこれだプログラミングのこれまでとこれから【第4回】

世界的な不況が起きても、プログラマーやエンジニアなど技術職の雇用市場は活況だ。その中でもこれから特に需要が高まり、“引く手あまた”になる職種「10選」と、その仕事を紹介する。

Share
Tweet
LINE
Hatena

 世界的な不況の中でも、プログラマーやエンジニアなど技術職の雇用市場は安定する傾向にある。同じ技術職でもさまざまな職種が存在する。特にこれから需要が高まるのはどの職種なのか。“引く手あまた”になる見通しの、プログラマーやエンジニア関連の職種「10選」と、それぞれどのような仕事なのかを紹介する。

これから人気のプログラマーやエンジニア職「10選」 その仕事とは?

1.フルスタック開発者

 フルスタック(複数分野に精通した)開発者とは、フロントエンド(顧客との接点になるシステムの構成要素)とバックエンド(システムの構成要素のうちユーザーの目に見えない部分)両方のスキルを持つ開発者を指す。フルスタック開発者の需要が高まる背景には、クライアント側とサーバ側どちらのシステムも複雑化する近年の状況がある。フロントエンドとバックエンド両方のプログラミングスキルを持つ開発者は多方面で活躍できる。

2.データサイエンティスト

 大量のデータを処理してインサイト(洞察)を導き出し、データ主導型の意思決定を実現するのがデータサイエンティストだ。数学や統計分析といったプログラミング以外の分野から入ってくる人が少なくない。専門的なプログラミングスキルを用いて統計モデルや機械学習(ML)モデルを作成し、データの処理や解釈、予測を実施する。

3.DevOpsエンジニア

 開発部門と運用部門が連携する開発手法「DevOps」のエンジニア需要は高まる傾向にある。フルスタック開発者と同じく、設計から開発、テスト、デプロイ(実装)、運用まで、ソフトウェア開発のライフサイクル全体に関与できるからだ。大半の開発者はプログラミングやテストといった開発プロセスの一部に特化した専門性を持つが、DevOpsエンジニアは幅広いスキルを持つ。

 DevOpsではソフトウェアの絶え間ないアップデートとデリバリーが欠かせない他、ターンアラウンドタイム(命令を出してから処理が完了するまでの時間)の短縮が求められる。そのため、DevOpsエンジニアはプレッシャーに強い傾向がある。

4.セキュリティ専門家

 企業や政府機関といった組織が直面するサイバー脅威は拡大しており、セキュリティ専門家の需要は強まっている。組織が攻撃による侵害を受けた場合、多額の罰金や刑罰を招く可能性がある。民間か公的かを問わず、全ての組織にとってサイバー脅威は深刻な問題だ。

 セキュリティ専門家の主な仕事は、システムにおける脆弱(ぜいじゃく)性の特定やセキュリティ対策の実施、インシデント対処などだ。一般的なセキュリティ専門家の担当領域は、セキュリティツールを導入するユーザー企業のシステムだが、セキュリティソフトウェアの開発に携わることもある。オープンソースソフトウェア(OSS)の普及に伴い、ソースコードを見るだけで脆弱性を発見できる場合もある。

5.モバイルアプリケーション開発者

 近年、スマートフォンやタブレットで利用するモバイルアプリケーションの使用が一般的になった。手のひらサイズの小さな画面上で動き、十分に保護されていないネットワークを介した通信が発生するモバイルアプリケーションの開発には、PCやWebアプリケーションとは異なるスキルが必要だ。AppleのモバイルOS「iOS」向け開発言語「Swift」やモバイルOS「Android」向け開発言語「Kotlin」の他、モバイルアプリケーション開発フレームワーク(モバイルアプリケーション開発に必要な機能の集合体)に関する知識が求められる。

6.ブロックチェーン開発者

 分散型台帳の技術である「ブロックチェーン」は、安全かつ透明性のあるトランザクション(複数の処理を1つの単位で実行する一連の処理)を可能にする技術だ。特にサプライチェーン管理や金融サービス、医療サービスといった分野で活用が進んでいる。

 ブロックチェーンは比較的新しい分野のため、熟練のブロックチェーン開発者がほとんど存在せず、かつスキル習得は易しくない。その事情がブロックチェーン開発者の需要を高めていると言える。ブロックチェーンのソースコードはオープンソースのため、無料で学習ツールを利用したり、開発者コミュニティーへ参加したりできる。

7.UI、UXデザイナー

 ユーザーインタフェース(UI)やユーザーエクスペリエンス(UX:ユーザーの体験価値)は、ユーザーが感じる“使い勝手の良しあし”に大きく影響する。UI、UXの設計に特化したデザイナーがいるのはそのためだ。アプリケーションやWebサイトを、直感的で操作しやすく、かつ魅力あるビジュアルになるように構築するのがUIデザイナーやUXデザイナーの仕事だ。主な業務はプログラミングではなく、レイアウト設計が中心になる。

8.クラウドエンジニア

 クラウドエンジニアは、クラウドインフラの設計や、クラウドサービスを使ったシステムの構築、管理を担う。クラウドコンピューティングが人気になるのと同時に、その利用形態に変化が見られる。当初、企業はクラウドサービスをオンプレミスインフラの代替だと見なし、全システムをクラウドサービスに移行する企業も存在した。しかし、時間がたつにつれてクラウドサービスは完全無欠ではないことが明らかになった。近年は「Amazon Web Services」「Microsoft Azure」「Google Cloud」などのクラウドサービスとオンプレミスインフラを併用する「ハイブリッドクラウド」が企業の間で主流となっている。

9.拡張現実(AR)、仮想現実(VR)開発者

 拡張現実(AR)と仮想現実(VR)の普及は困難を極めている。その主な理由が、ユーザーが重たいヘッドセットを装着しなくてはならない点だ。一方で、そうしたデメリットがあるにもかかわらず、ゲームや教育、顧客サービス、修理、建築などの分野ではARとVRの活用が進んでいる。

 AR、VRの開発者は、インタラクティブで没入感のある仮想空間の構築を担う。AR、VR用のヘッドセットが搭載できる計算能力は限られており、開発者は限られた処理能力の中でリアリティーのある世界を構築する必要がある。仮想空間のリアリティーが増す程、開発の難易度は高くなる傾向にある。

10.機械学習エンジニア

 機械学習をはじめとする人工知能(AI)技術はさまざまな企業が期待を寄せる分野だが、複雑なスキルが必要とされるためスキル習得は容易ではない。機械学習モデルの開発にはデータを必要とするため、訓練に使うデータの質が機械学習モデルの出来を左右する。そのため機械学習の開発プロセスではデータの収集と準備が極めて重要だが、かなりの手間や時間が掛かる上、大半の人がつまらないと感じる傾向にある。

 機械学習のアルゴリズムには「線形回帰」「ロジスティック回帰」「決定木」「ニューラルネットワーク」などさまざまな種類がある。それぞれ長所と短所があり、プロジェクトに合わせて適切な手法を選ぶ必要がある。

 訓練が完了したら、テストデータを用いて機械学習モデルを適切にチューニングし、精度に問題がないかどうかを確認する。開発とテスト、最適化が完了したら、運用環境に機械学習モデルを実装する。実装後は機械学習モデルの性能を監視して、より良いパフォーマンスのためにチューニングを継続的に実施する。機械学習の導入プロセスにおいては、開発と実装が複雑に入り組んでおり、多岐にわたる開発スキルを必要とする。

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る