本記事ではITエンジニアを目指す人、あるいはITスキルを身に付けたい人がどういう学びをすればよいかについて解説します。
プログラミング能力は必要か?
小学校でプログラミングが必修になって、その余波かプログラミングを学んでこなかった世代にもリスキリングでプログラマーになろうと励む人が増えているそうだ。
プログラミング能力があればお金は稼げます。
ただし、お金が稼げるためには相当なレベルがなければいけないのも事実。
小学生にプログラミングを必修にすることが本当に教育上役立つのかと疑問に思う人もいると思う。
僕の経験でもプログラミングがわからなくても、バリバリのIT技術者はいます。
実はITの仕事を進めるのは、プログラマだけではないのです。
他にプロジェクトマネージャやリーダー、ソフトウエアテスト、運用など様々なスキルの人が必要。
ではプログラミング能力がなくてもいいのかというと、そうではないと言って良いです。
プログラミングがわかった方がIT技術者としては圧倒的に有利!
問題は「プロ」のプログラマーを目指すか、「アマチュア」で止めておくかだ。
「プロ」のプログラマになるのは結構きつい
「プロ」のプログラマになるのは簡単ではありません。
こう書くと、「プロじゃない」プログラマがいるのかと思われるが、プログラミングは分野や担当する業務によって求められるレベルが大きく違ってきます。
「プロ」のプログラマというのは、アプリケーションやサービスを開発するようないわゆるプログラミングを仕事とする人です。
それに対し、僕が言う「プロじゃない」プログラマとは、ExcelやGoogle SpreadsheetでマクロやScriptを組んだり、人が作ったプログラムの本の一部改良して便利にしたり他のプログラムに転用したりすることができる程度のスキルを持つ人のことです。
プログラムの改良ができる程度でプログラマと呼べるかは賛否のあるところだと思うけれど、ITスキルのない一般の人はこんな芸当はできない。
ITエンジニアだからこそできることなんだと知ってほしい。
プログラミングを理解し少し活用できるだけでも、いろんな業務で応用できる範囲はかなり広くなります。
ノーコードツールだって、ITスキルがなければ使いこなせない
最近話題の「ノーコードツール」だって、使いこなすのはITスキルのない人には厳しい。
確かにコーディングスキルがなくてもアプリができる点は評価できるとはいえ、アプリをどう設計すればいいか、データベース(Google Spreadsheetなどのような簡易なもの)をどう作っておけばよいかということも、アプリ開発にはとても影響が大きい。
また、UIを設計したり、ある条件で通知を出すとか、特別な条件の時にアイコンを出してわかりやすくするなど、気の利いた表示を作り込もうと思うと、その条件設定なども求められる。
つまり、ノーコードツールはコードを書かなくてもいいが、ロジックの設計は必要なのだ。
だから、ノーコードツールだから誰でも使えるということにはなりません。
エクセルで条件付き表示や式による計算を使えるか?
いきなりノーコードツールとは話が過ぎたかもしれないので、もっともっと現実的な話をしよう。
エクセルを使っているとき、例えばこの行の作業は完了したから、「完了」となったものにはグレイ表示にするとか、要注意だから特別に赤色表示させたいことはないだろうか。
こういうとき「条件付き書式」を活用しているだろうか?
手でその行をグレイ表示にしていないだろうか?
また、条件に合う数を集計したいとき手でセルを選択して合計表示を見ていないだろうか?
条件に合ったものだけをカウントすることはエクセルでは朝飯前だ。
偉そうに言ってはいるが、恥ずかしながら以前の僕はそうだった。
エクセルで表を作り、合計を出すところだけは計算で出せる。だけどそれ以上のことが全くできなかった。
しかし、エクセルでデータが増えて来たり、集計の頻度が上がれば、手で集計することがバカにならないくらいの時間になる。
関数をいくつかマスターするだけで、できることは格段に増える。
ifで条件付き書式を記述したり、 countif, sumifなどで条件に合ったものを集計するといったことができるだけでも大幅に省力化できる。
すでにあるプログラムを改修する
他にもアマチュアレベルのプログラマとして実力が発揮できるところは、すでにあるプログラムを手直しすることだ。
例えば、ウェブページから毎日データを取ってくるプログラムがあったとして、取ってくるデータを1種類増やすとか、取ってきたデータを加工して格納するとか、ちょっとした改修なら自分でやってみることもできる。
日常動かしているマクロの一部を手直ししてより便利にすることだって可能だ。
確かに0からプログラムを書くのは相当のレベルが必要だ。
だけどすでに完成されたプログラムの一部を手直ししできると、発注して直してもらうより時間もコストも大きく削減できる。
そういったことを実現するには、少々プログラミングを学んでいる必要があるが、必ずしもプロでなくても何とかなることもあるのだ。
まずはアマチュアレベルのプログラマを目指そう
そういうわけで、「プロ」のプログラマは厳しいが、「アマチュア」プログラマだって活躍の場はあるのだ。
上に書いた例を持って「活躍の場」というのはおこがましいかもしれないが、ITに縁遠い人から見れば十分に「おぉ、すげえ」となるのだ。
どんなものにもレベルがあり、常に最上位でなければ役に立たないわけではない。
自分が少し頑張って身につけられるスキルで生きていこうではないか。