新人プログラマにとっての課題や、スキルアップのための方法をご紹介!つまづきやすいポイントをしっかりおさらいして、将来のこと、キャリアアップを考えて仕事に取り組んでいきましょう!
当サイトについて
プログラマ暦、早16年。プログラマとして一生を終えるつもりでいたが、とある事をきっかけに、新人プログラマを育成する立場へ転向。プログラミングをこよなく愛する、いち親父プログラマとして、新人プログラマの方へ伝えたいことをつづっています。
プログラムが正常に動かない原因となるものをバグといいます。語源は、英語で小さな虫を意味するbug。昔のコンピュータは、リレースイッチをつかった原始的なものでした。そのリレーの隙間に小さな虫が挟まると、接触不良をおこして、コンピュータが操作しなくなる事態が発生しました。それを機に、コンピュータがきちんと動作しない不具合があること、またその要因を、バグがある。バグ。と呼ぶようになりました。
プログラムを解釈して、実際の作業をするのは、コンピュータです。コンピュータは、確実にプログラム通りに動作するので、絶対にミスはしません。コンピュータの挙動がおかしければ、そのようなプログラムをプログラマが書いているからに他なりません。しかし、そのプログラムを作るのは、人間です。人間が作る以上は、必ずと言っていいほどミスが存在します。ケアレスミスもあるでしょうし、勘違いによるミス、根本的なミスもありえます。プログラマによっては、ちゃんと動作しないことをコンピュータのせいにする人もいますが、冷静に考えると、すべて自分の責任なのです。プログラムを生むのもプログラマ、バグを生むのもプログラマです。プログラマは、日々、この自分が生み出す「プログラム(成果物)」と「バグ(不具合)」、言い換えれば、「作り出したいもの」と「作り出したくないもの」の狭間で、戦っています。自分が生み出したものの中にある自分自身のミスを見つけて修正すること。この繰り返しによって、ようやく完成にこぎつけます。プログラマに課せられるのは、バグとの戦いというよりも、つきつめれば自分との戦いなのです。
プログラムの異常は全てプログラマの責任である。と書きましたが、実は、そうではないケースもありえます。プログラマは、システムエンジニアが作った仕様書にそってプログラミングしていきます。基本的に、バグはプログラマが生み出してしまうものですが、プログラミングを開始する前に、すでにバグが発生していることもあるのです。それは、仕様バグと言われるもので、仕様書の段階、すなわち、人間の言葉で動作を定義している段階で、すでにミスが存在していることです。プログラミングがある程度進んでから、この仕様バグが見つかってしまうと、納期に間に合わなかったり、既にプログラミングした部分を改修しなければならないなど、開発全体に大きな痛手を追うことになります。プログラマは、プログラミングのプロとして、仕様書をもらった段階で、プログラミングに着手する前に仕様バグがないか、チェックする癖をつけるようにしましょう。