ARX CHALLENGERS BLOG技術者ブログ
ARX CHALLENGERS BLOG技術者ブログ
2022/05/31
皆さんこんにちは。長年技術者として働いております、hidedxです。
DXやってますか? 世の中「DX(デジタルトランスフォーメーション)」という言葉が広まっていますね。
DXについては、他技術者ブログに説明を譲るとして、ここでは、DX時代に求められる人材を一緒に見ていきたいと思います。
経済産業省の「デジタルトランスフォーメーションを推進するためのガイドライン」では次のように説明されています。
- DX 推進部門におけるデジタル技術やデータ活用に精通した人材
- 各事業部門において、業務内容に精通しつつ、デジタルで何ができるかを理解し、DXの取り組みをリードする人材、その実行を担っていく人材
デジタルトランスフォーメーションを推進するための ガイドライン (DX推進ガイドライン) Ver. 1.0
デジタル技術に精通して、各部門の事業内容を理解して、DXをリードする人材を求められているようです。
かなりハードルが高いですね!
一昔前では、マネージメントスキル、設計スキル、プログラミングスキルなど何か一つを持っているだけでよかったのですが、DX時代には幅広いスキルを兼ね備えたハイブリットな人材を求められているようです。
我々技術者にとって大変な時代になりましたね。。
次にDX人材に求められる職種を具体的に見ていきましょう。
IPAの以下資料では次のように定義されています。
デジタル・トランスフォーメーション(企業とIT DX人材の実態調査)
DXやデジタルビジネスの実現を主導するリーダー格の人材です。
自社製品やサービスのビジョンや目標を設定し、チームを先導する役割になります。
他職種をまとめたり、先導する必要があるため、幅広いスキルと知識が必要になります。
DXやデジタルビジネス(マーケティング含む)の企画・立案・推進等を担う人材です。
発想力や市場、顧客から新たな企画やアイデアを創出する能力が必要になります。
また、プロジェクトが円滑に進むための調整力や均衡能力も要求されます。
DXやデジタルビジネスに関するシステムの設計から実装ができる人材です。
エンジニアチームのマネージメントを行う、エンジニアマネージャーと
システムの企画・設計(上位工程)を行うアーキテクトも含めて定義されています。
チームの品質や生産性を管理・担保する能力やシステム開発をマネージメントする能力などが必要になります。
事業・業務に精通したデータ解析・分析ができる人材です。
データを分析・解析するために、数学や統計学、データ分析ソフト、データベースやプログラミングなど
幅広い知識やスキルが必要になります。
機械学習、ブロックチェーンなどの先進的なデジタル技術を担う人材です。
一般的には「AIエンジニア」「機械学習エンジニア」「ブロックチェーンエンジニア」と呼ばれます。
最先端技術に対する情報収集能力や日々変化する市場や顧客要求にたいして、
柔軟に対応する能力が必要になります。
DXやデジタルビジネスに関するシステムのユーザー向けデザインを担当する人材です。
ユーザ満足度向上を図るためのデザインスキルや顧客/ユーザ調整力、コミュニケーションスキルが必要になります。
システムの実装やインフラ構築・保守等を担う人材です。
エンジニアは、いわゆるITに関する技術者の総称で、プログラマよりももっと総合的で広い範囲(プロジェクトマネージメント、インフラ構築、システム保守など)を担います。
プログラマはIT技術のスキルのなかでもプログラミング言語に関する知識やスキルが必要になります。
先ほどみてきたように、DX人材にはいろいろな職種がありますね。
目指すべき職種はみつかりましたか?
目指すべき役割がぼんやりとしか見えない方は、いきなり上位職種を目指すのではなく、エンジニア/プログラマを目指して、徐々に職種を広げて行くのがいいのではないでしょうか?
エンジニア/プログラマが、DXを推進していくためには、まず、プログラミングや設計に関するスキルが最低限必要です。
ちなみにプログラマに必須なプログラミングにおいては、弊社では機械学習、AIなどに強い「Python」を利用しています。
以降で「Python」について紹介および特徴など詳しくみていきたいと思います。
Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。
グイド・ヴァン・ロッサムにより創り出され、1991年に最初にリリースされたPythonの設計哲学は、
有意なホワイトスペース(オフサイドルール)の顕著な使用によってコードの可読性を重視している。
その言語構成とオブジェクト指向のアプローチは、プログラマが小規模なプロジェクトから大規模なプロジェクトまで、
明確で論理的なコードを書くのを支援することを目的としている。
出典: https://ja.wikipedia.org/wiki/Python
2022年第1四半期の言語ランキングは、以下になります。
やはりPythonはDX時代必須のプログラミングになりそうですね。
1位 JavaScript
2位 Python
3位 Java
4位 PHP
5位 CSSとC#
7位 C++
8位 TypeScript
9位 Ruby
10位 C
Pythonの特徴として次のようなことがあげられます。
コードや文法がシンプルで、他のプログラミング言語と比較すると覚えなければいけないものが少ないのが特徴です。
シンプルさや読みやすさを重視するという哲学を持っている言語で、プログラミング初心者にもわかりやすくなっています。
実は、Pythonはグイド・ヴァン・ロッサムが周囲の人たちにプログラミング概念を教えるために開発された言語という歴史があり、学習用にはうってつけのようです。
Python には数多くの種類のライブラリがあります。
特に数値計算、データ解析、人工知能や機械学習の専門特化したライブラリが充実しています。
Pythonのライブラリを活用すると、たった数行のシンプルなコードで高度な機能を実装できます。
目的にあったライブラリを見つけられるかどうかが、ある意味鍵となります。
Pythonは他の言語に比べて、機械学習やAPIに有利なライブラリが多いことも特徴です。
有名どころではTensorflowやKerasが挙げられます。
AIや機械学習、データ分析などで注目を集めたPythonですが、Pythonはできることが非常に多い言語です。
Webアプリケーション、ゲーム制作、ブロックチェーン開発、Web上の情報収集ツール、データ処理・分析・解析などの開発にも採用されます。
代表的な実績として以下があげれます。
➤AI
Uber(自動車配車サービス)
➤機械学習分野
Pepper(ソフトバンクロボティクスが開発したヒト型ロボット)
➤Webアプリケーション
Youtube(世界最大の動画視聴プラットフォーム)
Dropbox(オンラインストレージサービス)
Reddit(世界最大規模の掲示板サイト)
Instagram(写真共有SNS)
➤データ処理・分析・解析
Tableu (Pythonと連携してデータ分析・可視化を行うツール)
Python は人気が高い言語のため、ユーザコミュニティも大きく、情報量が豊富に揃っていることから、初心者でも自分で調べながら学習しやすいです。
初心者は問題解決できずに挫折してしまうことが多々ありますが、情報量が多いのでその可能性は低い言語になります。
また、Pythonのライブラリに関する意見や問題点が多く提起され、開発者による機能の更新・改善も早く進みます。
よってプログラミング言語としての進化のスピードが高くなり、とても良い循環が出来上がっています。
ここまで長所を見てきました。しかしPythonも万能ではありません。以下のような短所もあります。
高速処理を求められる開発はPythonは苦手です。
複雑な処理が求められる巨大な基幹システムなどのスピードや性能が重視される開発では、処理速度が遅くなってしまいます。
計算や処理速度を重要視するシステムであれば、C、Java、C++といった言語を利用する必要があります。
Pythonの習得について弊社でのやり方と私個人的なやり方をそれぞれ紹介したいと思います。
弊社では、各メンバーが業務以外での習得方法として以下を行っております。
➤オンライン学習動画サービスを利用
Udemy(ユーデミー)
特徴
・海外の講座も豊富
・購入コースはいつでも何度でも受講可能
・講師に質問できる掲示板がある
Schoo(スクー)
特徴
・授業数は国内最大級
・生放送授業の場合、直接質問に回答してもらえるかもしれない
・生放送授業中にチャット機能で聴講者同士の交流ができる
➤資格学習
一般社団法人Pythonエンジニア育成推進協会
PythonZen & PEP 8 検定試験
Python 3 エンジニア認定基礎試験
Python 3 エンジニア認定データ分析試験
両方を利用して習得を行っているメンバが多いですね。
ちなみにプログラミング言語の習得には300~1000時間程度必要と言われており、
日々の業務を行いながら、習得する時間を割くにはそれなりの覚悟が必要になります。
あまり参考にならないとは思いますが、ここで私個人の習得方法を紹介しておきます。
➤作りたいものを決める
料理と同じでまずはお品書きを決めないとですね。
ただし、壮大なものを作ろうと思うと頓挫してしまうので、身近で困っていることや改善したい事柄について
作るといいと思います。
➤サイトに転がっているソース参照
GitHub上など、世の中にはさまざまなプログラムソースが転がっているので、自分の目的にあったソースを
熟読します。最初はわからないと思いますが、言語リファレンスなどを辞書代わりに読んでいると
次第にわかるようになります。
➤トライ&エラー
さてここまで来たら、あとは作りたいものを作っていきます。
おそらく最初は動かないと思いますが、どんどん作っていき、エラー→修正を繰り返していきます。
➤リファクタリング
作りたいものが一通り完成したら、ソースを綺麗にしていきましょう。
いろいろなサイトを確認して、効率のいい文法やライブラリをどんどん適用していきます。
DX人材にはデジタル技術の知識だけでなく、マネージメント能力など様々なスキル・知識が求められます。
そのため、総合的な育成や教育が必要とされるため、自社の育成・教育システムだけは難しく、外部組織に委託するケースが多くなります。
我々技術者においても、さまざまなスキル・知識が求められる時代になり、日々業務をこなすだけでは追いつかなくなってきている印象があります。
本記事によって、DX人材に求められるものが何か、またやるべきことがうっすら分かってきたのなら、幸いです。
また、機会があればいろいろなスキルの紹介や学習・習得方法について紹介していきたいと思います。
hidedx