新人プログラマにとっての課題や、スキルアップのための方法をご紹介!つまづきやすいポイントをしっかりおさらいして、将来のこと、キャリアアップを考えて仕事に取り組んでいきましょう!
当サイトについて
プログラマ暦、早16年。プログラマとして一生を終えるつもりでいたが、とある事をきっかけに、新人プログラマを育成する立場へ転向。プログラミングをこよなく愛する、いち親父プログラマとして、新人プログラマの方へ伝えたいことをつづっています。
ほとんどの場合、システムの開発にはプロジェクトが組まれ、複数名のチームで取り掛かることになります。プロジェクトには、その開発にかかる予算・人的リソース、スケジュールなど、プロジェクト全体を管理するプロジェクトマネージャーや、システム全体の設計をするシステムエンジニア、そして、そのシステムを実際に動かすためのプログラムを書くプログラマがいます。システムの規模により、人数は変わります。プログラマも複数名が処理ごとに分担して作業するケースが少なくありません。このように何人かのプロジェクトチームでひとつのシステムを開発します。プログラムを書く作業自体は孤独に黙々と進めますが、システム開発はチームワークです。システムエンジニアの構想・仕様を、実際に動くプログラムとして具現化させるのがプログラマの役割です。
プログラムを書く。とは、コンピュータに指示命令を与える指示書を、コンピュータ語=プログラミング言語を使って書くことです。プログラマは、プログラム言語を用いて仕様通りの動作をするプログラムを作成するのが仕事です。仕様というのは、主にシステムエンジニアが作成する設計書のことを言います。仕様書には、開発するシステム、又はプログラムが、どういう環境で、どのような動作をするかの定義が書かれています。プログラマは、その仕様書通りに確実に動作するプログラムを書かなければなりません。
「Webプログラマからゲーム系など幅広く活躍の場があります。言語の他に求められるスキルとしては、仕様を正しく理解するためのドキュメント読解力やコミュニケーション能力、技術資料を読める程度の英語力や、SQLの基礎知識などが挙げられます。」(引用文)
https://freelance.levtech.jp/project/pos-3/
とあるように、単純にプログラミングができるというだけではなく、仕様書を咀嚼しシステム設計として落とし込める読解力やプロジェクトリーダーなどとの折衝などをこなすコミュニケーション能力が求められます。
仕様書は、日本語で書かれています。つまり、人間の言葉で書かれているので、人間はそれを理解できます。それをコンピュータが理解、処理できる言葉=プログラミング言語で書きなおすのが、プログラミングという作業になります。ただし、これは単純な翻訳作業ではありません。日本語で書かれている動作をコンピュータにさせるためには、一定のルールや手順を決めなければなりません。このルールや手順のことをアルゴリズムといいます。コンピュータは、曖昧な仕事はしてくれません。空気を読むなんてことはもちろんできませんし、臨機応変に対応してくれることもありません。コンピュータの動きがおかしい場合、その責任は全てプログラマが書いたプログラムにあります。すべて、そのアルゴリズムに則った動きしかしないのです。アルゴリズムに問題があると、コンピュータは二度手間の作業をしたりと、効率が悪くなることもあります。このアルゴリズムをいかに効率的に、不具合なく考えることができるかが、プログラマの腕の見せどころなのです。