最近、少しプログラミングを学ぼうといろいろと勉強をしています。
ちょっと考えたのですがプログラムを学ぶことでどんな良いことがあるでしょうか。
今の世の中、SEという職業に就いたからといって必ずしもプログラムを書く必要は無いかも知れません。
しかし、敢えて一度プログラムを書いてみましょう、とお薦めします。
プログラムにはいろいろな言語が存在しますが、共通するものがあります。
それがアルゴリズムです。
アルゴリズムとは、コンピュータにどういう順番で処理をさせるかという手順を考えることです。
実はプログラム言語というのは、このアルゴリズムをコンピュータに伝える言葉に過ぎません。
コンピュータは人間のように考えることはできません。
ひとつひとつを順番に、Aが○のとき、Bの処理をする、Bが△になった場合にCに進む、といった手順を示してあげる必要があります。
この手順がアルゴリズムであり、「Aが○のとき、Bの処理をする」を例えば「IF A=○ THEN B」のようにコンピュータに理解できる言葉がプログラム言語です。
プログラムを学ぶと言うことは、言語を学ぶことでは無く、このアルゴリズムの作り方を学ぶことに他なりません。
そして、SEとして仕事をするにおいて、このアルゴリズムで考えることができるということが何よりも重要なことであり、プログラムを学ぶことの最大のメリットなのです。
例えばユーザ向けヘルプデスクの仕事をする人は、直接プログラムを書くことはないでしょう。
しかし、ユーザから例えば「webサイトにログインしようとするとエラーになっては入れない」という問い合わせがあった場合、アルゴリズムを理解していると問題を解決することができるようになります。
「ログインエラー」となる処理の前段のアルゴリズムを考えれば良いのですから、
・パスワードが間違っている
・パスワードの有効期限が切れている
などの当たり前のものから
・データベースがアンマッチ状態になっている
・ユーザがロックされている
などのようにユーザからの申告だけでは分かりにくいものまで追っていくことができます。
後は切り分けをして、どれが実際の問題なのかを確認するだけですので、アルゴリズムを理解せずに過去の事例だけでユーザ対応をする人よりも、確実かつ迅速に処理をすることができるようになります。
このようにプログラムを仕事にする人だけで無く、コンピュータに関わる人は全てアルゴリズムが関わって来ますので、それを一度プログラミングすることで身につけることができるメリットがあります。
社会人からプログラミングを学ぶときもまずはこういった基礎をしっかりと理解して学んで行くことが大切なんだなと思って次第です。