ソフトウェア開発者とは?プログラマーの役割とその変化について知っておきたいこと
ソフトウェア開発者とは?
開発者は、プログラマー、コーダー、ソフトウェア・エンジニアとも呼ばれ、プログラミング言語を使用してコンピュータ・ソフトウェアを作成するIT専門家のことです。
ソフトウェア開発者は何をするのか?
開発者は、アプリケーションの作成、テスト、デバッグ、メンテナンスを行います。開発者の役割は、組織の種類によって大きく異なります。通常は、既製のソフトウェアを作成するテクノロジー企業か、オーダーメイドのアプリケーションを開発する官民のエンドユーザー組織のどちらかに雇用されます。しかし、後述するように、コーディングは、ますます幅広くなる職務の重要な要素のひとつにすぎません。
ソフトウェア開発者になるためには、どのようなスキルが必要ですか?
開発者には強い技術的素養が必要です。プログラマーの中には、コンピュータサイエンス、情報技術、数学、工学などの関連分野の学位を必要とする職種もあります。教育も重要ですが、ソフトウェア開発は進化が早いため、キャリアアップには現場での経験が欠かせません。
ソフトウェア開発者が使用するプログラミング言語は何か?
ソフトウェア開発は、常に進歩し続けています。2020年Harvey Nash Tech Surveyでは、開発者の3分の1が、現在のスキルは今後3年間しか通用しないと考えていることがわかりました。
SlashData社によると、現在、最も人気のあるプログラミング言語はJavaScriptで、1,380万人の開発者がいます。SlashData社は、全世界のアクティブな開発者2,430万人のうち、JavaScriptのコミュニティが大きな割合を占めていると推定しています。
SlashData社によると、2番目に多い開発者の人口は1,010万人で、機械学習の専門家に人気のあるPythonのユーザーであり、一方、Javaの開発者は現在940万人だという。このトップ3のプログラミング言語は、GitHubやStack Overflowのデータをもとにした、開発者向けのアナリスト企業RedMonkのランキングと同じです。
その他の人気プログラミング言語は、C/C++、C#、PHP、Kotlin、Swift、Go、Ruby、Objective C、Rust、Luaなどです。言語の人気には周期性があります。例えば、Tiobe社のプログラミング・インデックスで、Fortranが1年前の34位から20位に再浮上したことがあります。Fortranは1950年代にIBMで開発されましたが、科学技術計算の分野では今でも人気があります。
人材紹介会社ハービー・ナッシュのディレクター、ロブ・グリムジーは、優れた開発者には多くの特性があり、組織によって「優れた」という意味が異なるのは必然だと言う。
「もちろん、基本的な要件として誰もが求めるのは、堅実なコーディング原則に基づいた高度な技術力と、さまざまな開発環境で活躍できる能力です」と彼は言う。
しかし、優れた開発者には、コーディング言語の知識だけではなく、さらなる側面があります。優れた開発者とは、チームの一員であることだとグリムジーは言います。特に最近では、アジャイルソフトウェア開発が重視されています。アジャイル開発とは、ソフトウェアコードをより速く、より効率的に作成するための協調的な手法と実践方法のセットです。
“開発者は、毎日のスタンドアップやその他のやりとりに参加するかもしれません。コミュニケーション能力、アイデアを提供する能力、組織の要求に対するより広いビジネスコンテキストを理解する能力、これらすべてが重要です。開発者は、よりインタラクティブな役割を果たし、アイデアを実現する手助けをしなければなりません」とグリムジーは言います。
ソフトウェア開発者の需要はどうなっているのか?
答えは簡単です。パンデミック以前からスキル不足は深刻でしたが、Harvey Nashによると、特にソフトウェア開発、サイバーセキュリティ、データなどの分野では、現在も需要が供給を上回っています。「特にソフトウェア開発、サイバーセキュリティ、データなどの分野では、需要が供給を上回っているとハーベイ・ナッシュは報告しています。「開発者への需要は高く、それは常に高くなっているようです。
例えば、一般的に使用されているものの、特に人気のないプログラミング言語であるPHPの求人情報を見てみましょう。Indeedのデータによると、エントリーレベルのPHP開発者の求人数は、2020年1月以降、834%という大幅な増加を見せており、業界全体で最も成長率の高い技術職となっています。
「COVIDや新しいリモートワークモデルの結果、企業はより広い地域から人材を確保できることに気づきました。これは良いことです。しかし、それだけでは問題は解決しません。優秀な開発者が仕事を探しているのであれば、そう長くは続かないはずです」と彼は言う。
ソフトウェア開発トレーニングの需要は?
もう一度言いますが、答えは高いです。テクノロジー企業のRed Hatによると、2020年に雇用機会を増やしたいと考えている人の中で、コンピュータ・プログラミングとソフトウェア開発が最も多く選ばれており、昨年は成人の20人に1人がコーディングや何らかのソフトウェア開発トレーニングを受けていました。
ロックダウンが解除されると、需要は引き続き増加すると予想されます。Coursera、Udemy、Pluralsight、Udacityなどの専門企業が提供する人気講座の多くは、無料または有料で利用できます。
最も人気の高いコーディング言語の1つであるPythonをマスターする方法をご紹介します。
業界の専門家たちは、ソフトウェア開発のスキルがプログラミングコミュニティを超えて広がっていることを示す証拠がすでにあると指摘している。S&P Global Market Intelligence社のデータマネジメントソリューション部門でマネージングディレクター兼チーフプロダクトオフィサーを務めるWarren Breakstone氏は、技術的な知識がより広くアクセスできるようになったと考えています。
「マイクロソフト製品の使い方を知っているだけではなく、Pythonのような新しい開発手法に関する専門知識を持っているのです。
ソフトウェア開発知識の民主化は、既存のプログラマーにとって唯一の脅威ではない。新しい技術は、ノーコード/ローコード開発ツールという形で、ITスキルギャップの一部を埋めるのに役立つかもしれません。
これらのツールは、ソフトウェアを構築するために必要なハンズオンの知識を可能な限り削減します。技術系アナリストのForrester社は、ローコード市場が年率40%で成長し、2022年には210億ドルに達すると予測しており、同じくアナリストのGartner社は、2024年までにローコード・プラットフォームがアプリ開発全体の65%を占めるようになると予測しています。
しかし、ハンズオン開発の終焉が確実なものではないことを明記しておく必要があります。洗練されたアプリケーションは、常にプロのプログラマーのスキルを必要とします。しかし、ノーコードツールを利用することで、開発者は、シニアマネジャーがプログラマーに求めているような、より高度なビジネスエンゲージメントタスクに取り組むことができるようになるという期待もあります。
ハーベイ・ナッシュのグリムジーは、「ローコード化によって開発者の需要がなくなるのではなく、開発者が複数のスキルを必要とするようになる」と言う。「彼らは、フルスタックの能力を持つ問題解決者として注目されるでしょう。つまり、開発者はアプリケーションのコア部分の構築のためのコードを書くだけでなく、最終的にはソフトウェアやアプリケーションの全行程に関わることになるのです」。
「私はいつも、正しい考え方とは、コーディングよりも、その技術を何に適用しようとしているのかということだと考えています」と彼女は言います。「優れたコードを構築することと、ビジネス上の成果をもたらすことの間で、適切なバランスを取ることができる人材が必要なのです。それができればできるほど、先に進むことができます。”
これは、Boots社のCIOであるリッチ・コーブリッジ氏が共感した言葉です。彼は、イノベーションに目を向け、創造的なアイデアを使ってビジネス上の課題を解決することが、ソフトウェア開発を長期的に成功させるための重要な指標になると考えている。このことは、コロナウイルスのパンデミックの際に、Boots社で見られたことでもあります。
「過去12ヶ月間に発表された最も優れた製品のいくつかは、エンジニアが座って『こうしたらどうだろう』と考えたことがきっかけとなっています。それは、新しいものを実際にコーディングすることから、Adobe Audience Managerのようなツールを導入して「もし何か違うことをしたら、サイトのスピードや取引能力はどうなるだろうか」と考えることまで、多岐にわたります。
ソフトウェア開発者の未来はどうなる?
コーディング技術の進化やノーコード開発の台頭にもかかわらず、ソフトウェア開発者の役割が脅かされているわけではありませんが、そのあり方は変わりつつあります。Harvey Nash社のGrimsey氏によると、ソフトウェア開発者の役割は、より多くの関係者との対話を重視したものになりつつあるという。
「この変化はすでに始まっています。この役割は、コードを書くだけではなく、多くの補完的なスキルを必要とするようになるでしょう。「開発者は、クライアントと概要を議論し、それを具体化し、アイデアを繰り返していくことに、より深く関わっていくことになるでしょう」と述べています。
RightmoveのLourens氏もこの変化を認識しています。彼女は、成功するソフトウェアエンジニアリングとは、もはやどの言語を知っているかということではなく、開発者が自分の考え方や適性をビジネスが直面している課題にどのように適用できるかということだと言います。
「物事の流れが非常に速くなっているため、ある言語について誰かを評価しようとしたときには、すでにその言語は新しいバージョンに変わっています。時が経てば、ソフトウェアエンジニアリングを成功させるには、まず人の考え方が重要になり、次にその人が持っている特定の技術的なスキルが重要になると思います」と彼女は言います。
「このことは、業界の発展にもつながると思います。長い間、テクノロジー業界での成功は、どのような経験をしてきたか、どのような言語でどのようなシステムを構築してきたかということが重要視されてきましたが、これでは人々のチャンスが狭まってしまいます。ですから、ダイバーシティの観点からも、発想の転換が実現の可能性を秘めていると思います。」と語りました。
出典:ZDNet