2020年度から小学校でプログラミング教育が始まり、全ての子どもたちがプログラミングと出会う機会を持てるようになりました。小学校で学習するのは入門的で体験的な内容ですが、学校での出会いがきっかけになって強い興味を持って学ぶ場を広げ、プログラマーの道を志す子どもたちも出てくるでしょう。とはいえプログラマーってどんな仕事なのでしょうか?

  • 画像はイメージ

プログラマーと言っても専門はいろいろ!

プログラマーと聞くと、どんなプログラムでもスイスイと作ってしまうようなイメージがあるかもしれませんが、そんなことはありません。「料理人」と言っても寿司職人とフレンチのシェフとパン職人では専門が違うし、「医者」と言っても外科と内科と眼科とでは専門が違います。同じように、プログラマーにもそれぞれ専門領域や得意領域などがあるのです。

例えばどんな専門領域があるのか、制作するもの別に見てみましょう。

<ゲームプログラマー>

ゲーム開発には世界観の設定やシナリオ制作、キャラクターデザインなど大勢の人が関わりますが、それらがゲームとして機能するようあらゆる仕組みをプログラムします。

<ウェブプログラマー>

ショッピングサイトや動画視聴サイト、SNSなどインターネットを介してウェブブラウザで利用できるサービスが幅広くあります。そのサービスの仕組みをプログラムします。

<アプリプログラマー>

スマートフォンやタブレットのアプリをプログラムします。みなさんが日々の生活で使っている通り実用的でさまざまな用途のアプリがあります。

<組み込み系プログラマー>

家電や工場の機械などにあらかじめ組み込まれているコンピューターのプログラムを作成します。機器類を直接動かすプログラムです。

ほかにも3DCGのリアルさを追求するのにプログラマーが活躍していたり、アート作品の表現にプログラムが使われていたりと、エンターテイメントやアートの世界にもプログラマーの姿があります。また、制作物を作るわけではなく、最近注目のAIなど特定の技術の向上を追求しているプログラマーもいますし、データサイエンスの分野でも分析や予測にプログラムが使われています。

プログラマーはさまざまな分野で活躍していて、可能性は広がります。

コラボレーション力も重要!

どんなにいい企画やデザインがあっても、プログラムを作れる人がいなければサービスもアプリもゲームも出来上がりません。デザイナーのようにユーザーの側から見える部分を作るわけではないのでわかりづらいですが、機能そのもの、仕組みそのものを全て作っているのがプログラマーなのです。裏方のようでもあり、表面に見える部分以外はほぼ全てプログラマーが作っていますから、水面下の主人公ともいえます。

なお、プログラマーは孤独なイメージを持たれがちですが、多くの場合、チームで開発を進めます。制作工程の一部を担っているため、デザイナーやプランナーなどと連携して仕事を進めていきます。

また、規模が大きくなればプログラム部分をひとりで担当するということはなく、複数のプログラマーでチームを組んで分担して進めます。技術力は当然ですが、最近では特に、コラボレーション力、コミュニケーション力も重視されています。

可能性が広いからこそ「何をしたいか」が重要

プログラマーの活躍の場がさまざまあるのは確かですが、その分、専門領域によって求められる技術や素養には違いがあります。主に使うプログラミング言語も必要とされる周辺知識も違います。

「プログラマーになりたい」というだけではかなり漠然としていますから、プログラミングの技術で「何をしたいのか」というイメージを持っておくことが大切です。やりたいことがはっきりしていれば、プログラミング技術のどこを強化したらよいか自ずと決まってきますし、その分野についてプログラミング以外のことも多角的に学んで理解を深めることもできます。

もちろん最初に学んでいるうちはただ「面白い!」とのめり込むだけで十分ですが、極めていくとどんな道があるのかを知っておくと、次第に具体的なイメージをふくらませられるでしょう。

プログラマーにならなくても自分の仕事に活かせる!

職業としてプログラマーにならなくても、プログラミングの技術が役立つこともあります。例えば仕事でパソコンを使う単純作業があった場合、自動化するプログラムを組めば、効率が上がりミスを防げます。

より本格的なケースでは、農家でプログラミングに詳しい人が、野菜の等級を自動判別するシステムを作ったという例も。等級の判別を熟練者の目に頼っていたことを課題に感じていたのです。目の前の「どうにかしたいこと」をきっかけに、プログラミングの知識と技量を上げて自分たちのために便利な仕組みを作り課題を解決することもできるのです。

職業プログラマーほどの技量がなくても、プログラミングの基本的な発想がわかっていて少し勉強すれば使えるようなツールも増えてきていますから、自分の身の回りの小さな変革にプログラミングが活かせるシーンが今後ますます増えてくるでしょう。

仕組みそのものを作り出せるというのがプログラミングの醍醐味です。入門で体験的にやるプログラミングとプログラマーの仕事はかけ離れて感じるかもしれませんが、具体的な姿をイメージして、ぜひ夢をふくらませてほしいと思います。