プログラマーの仕事内容

初心者からプログラマーを目指す

プログラマーの仕事内容を実体験から分かりやすく解説|必要なスキルも!

2020年3月30日

 

プログラマー仕事内容を分かりやすく教えて欲しいな!

その他、プログラマーとして必要なスキルや、向いている人とかも知りたい。

プログラマーに興味があり、未経験でも可能なら挑戦したいんです。

 

本記事の内容

  • プログラマーとは
  • プログラマーの仕事内容
  • SEとの違い
  • 向いている人や必要なスキル
  • 辛いところややりがい
  • 未経験からプログラマーを目指す方法

 

本記事を書いている僕は、過去IT企業やWEB会社に勤務、現在WEBフリーランスといて活動中

 

プログラマーの仕事内容はいたってシンプル。

主な作業は「コーディング」といわれる、プログラミング言語を使ってコンピュータに実行させる命令を書いていくお仕事です

 

今回は、プログラマーの仕事内容を具体的に深掘りしつつ、プログラマーに必要なスキルなどを実体験をもとに解説していきます。

 

「プログラマーの仕事内容がよく分からない...」こんな方でも理解できるように分かりやすく解説していきます。

この記事を読み終えると、プログラマーの具体的な仕事内容がわかり、どうすれば必要なスキルを身につけられるのか理解できますよ。

 

1.プログラマーとは

まずプログラマーとは、コンピューターを使ってゲームソフトや、WEBサービス、家電制御ソフト、スマホアプリなどを作っていく職業です。

 

プログラミング言語を使って、コンピュータが動作するよう様々な命令を書き込んでいく「コーディング」が主な仕事となります。

 

今後もITニーズの拡大によって、IT市場もさらに拡大していくことが既に予測されていますから、プログラマーの期待も大きいのです。

参考:経済産業省「H31-IT人材需給に関する調査」

そんな未来あるプログラマーの仕事内容について、これから具体的に深掘りしていきます。

 

2.プログラマーの仕事内容

プログラマーの仕事内容4つ

一般的に言われているプログラマーの仕事内容は以下の通りです。

 

  1. プログラム設計書作成
  2. コーディング
  3. テスト
  4. バグ改修

 

マー坊

いわゆる「プログラミング」とは、上記に示す一連の作業のことを言います。

IT企業よりに書いていますが、基本的にはこのような流れで開発することが多かったです。

 

順番に解説していきます。

 

1.プログラム設計書作成

1.プログラム設計書作成

 

  1. プログラム設計書作成
  2. コーディング
  3. テスト
  4. バグ改修

 

プログラム設計書は、上位のSEが作った外部設計(外部仕様書、帳票仕様書、画面仕様書など)をもとに作ります。

 

外部設計とは、クライアントが要求する機能などが書かれた設計書のこと。

 

例えば

「入力フォームがあって、そこに値を入れて送信ボタンを押すと、データ登録やメール送信しますよー」

といったことが、エンジニアでなくとも理解できる設計書になっています。

帳票仕様書、画面仕様書なども、クライアント向けの設計書です。

 

一方、プログラム設計書では、外部仕様の各機能をさらに処理レベルにブレークダウンして書いていきます

  • 入力データの処理(日付の妥当性チェック...)を書く
  • アルゴリズム処理(メールを送信する...)を書く
  • データの追加・更新・削除(データベース操作)内容を書くなど...

 

個々の処理を、あらかじめ決めたフォーマットで書いていきます。

機能レベルでの設計書ではないので、クライアントが見ても理解できないです。

なので、書き終えたらSEとレビューをして、設計ミスがあれば修正し完了です。

 

IT業界でよくある、SES契約や請負契約での作業となると、プログラミング設計書は納品物ともなります。

 

しかし、プログラム設計書は、内部設計書(詳細設計書)に代替できるので作らないことも多いです。

 

マー坊

プログラム設計書は、SEの作る外部設計書をもとにを作ります。

ですが、中にはどう捉えたら良いのか、あいまいな記述もあるのです。

 

なので、そのままだとコーディングできないので、外部設計書のあいまいな部分をSEに聞きにいくことも必要です。

 

2.コーディング

2.コーディング

 

  1. プログラム設計書作成
  2. コーディング
  3. テスト
  4. バグ改修

 

プログラム設計書が完成したら、次は「コーディング」です。

プログラミング言語を使って、プログラム設計書通りにコーディング(実装)していきアプリケーションを作ります

 

主なプログラミング言語とその用途は以下のとおり

プログラミング言語 用途
Ruby WEB向け言語
PHP WEB向け言語
Java 大規模業務システム、、Androidアプリ、WEB向け言語
Python AIや機械学習、WEB向けの言語
Javascript WEB向け、スマホアプリ向けの言語
C++ ゲーム開発、WEB、業務システム向けの言語

この他、HTML、CSSといったマークアップ言語もあります。

 

プログラマーとしてコーディングができなければ、お仕事にはできません。

とはいえ、未経験であれば、あれもこれも学習する必要はありません。

 

上記に示したもの以外にも、たくさんのプログラミング言語がありますが、使い方はどれも同じようなものばかりです。

なので、どれか一つをしっかりと学べば、その他の言語を学ぶのも簡単です。

プログラミングは何から始めればいいか
プログラミングの独学は何から始めればいいのか。初心者におすすめな言語と取り組む分野はコレ!

続きを見る

 

3.テスト(単体テスト)

3.テスト(単体テスト)

 

  1. プログラム設計書作成
  2. コーディング
  3. テスト
  4. バグ改修

 

コーディングが終われば、作ったアプリケーションがきちんと動作するか、実際に様々な値を入れて動作確認(テスト)をします。

 

しかし、いきなりテストはせず、テスト仕様書を作るところから始めます

 

テスト仕様書作成

テスト仕様書作成

テスト仕様書とは、様々な入力値における結果がどうなるべきかを具体的に記された設計書のこと。

 

例えば、

入力画面にメールアドレスを入力し送信ボタンを押したら、きちんと入力したメールアドレス宛にメール送信するか、、、

逆に、メールアドレスを入力せず、送信ボタンを押したら、エラー画面(ポップアップ)を表示するか、、、

 

プログラム設計書をもとに、起こりうる事象をすべて洗い出し、テスト仕様書にまとめていきます。

書き終えたら、SEとレビューし過不足がないかどうかを確認します。

 

動作確認(テスト)

動作確認(テスト)

SEとのレビューが終われば、テスト仕様書通りに実際にデータを投入しながら動作確認(テスト)です。

 

テスト仕様書に書かれている結果が得られなかったら「バグ」として記録していきます。

 

また、動作確認の中で使った入力データや得られた結果は、証跡として残しておくこともあります。

証跡となるものは、入力画面のコピーや、実際の出力帳票、データベースのエクスポートデータなどです。

 

マー坊

アプリケーションが複雑だと、あらゆる条件下におけるテストをしなければなりません。

なので、テスト仕様書作成にも時間が掛かるし、テスト自体も時間がかかってしまうこともあります。

 

4.バグ改修

4.バグ改修

 

  1. プログラム設計書作成
  2. コーディング
  3. テスト
  4. バグ改修

 

動作確認(テスト)にて、バグ(故障や不具合)が発生した場合には、それを直していかなければなりません

 

単純なバグで、他の機能に影響がない場合だと、すぐに対応できます。

しかし、そのバグを改修するにあたり、影響が広く及ぶものはプログラム設計書から直さないといけないこともあります。

 

また、適度なバグを出すことも必要です

 

もし、バグが一つも出ないとなると、テスト仕様書のテスト項目不足が疑われます。

逆にバグが出過ぎると、アプリケーションそのものの品質が疑われます。

ですから、テスト仕様書の再設計や、コーディングを再度見直しということにもなり兼ねません。

 

マー坊

あらかじめプロジェクト内にて、ある程度のバグ発生率が決められているので、それに見合ったバグ数であれば問題ないです。

 

以上、(一般的な)プログラマーの仕事を、僕の経験から解説してきました。

では次節、プログラマーと混同されがちなSE(システムエンジニア)との違いについて解説していきます。

 

3.プログラマーとSEの仕事内容の違い

プログラマーとSEの仕事の違いは以下のとおり。

職種 主な仕事内容
プログラマー プログラミング
システムエンジニア(SE) 設計書作成

 

上記のとおり、SEは様々なコンピュータサービスを「設計」することが主な仕事です

そしてプログラマーは、SEの作った「設計書」にしたがってコーディングなど「プログラミング」をしていきます。

 

両者とも、様々なコンピュータサービスを開発するエンジニアという点では共通しています。

しかし、担当する職域(お仕事)が違うのです。

 

マー坊

建築の例でいうならば、建築物の図面など設計する建築士が「SE」で、実際に建築をする大工さんが「プログラマー」ですね。

 

プログラマーとSEの違いについては、下記にて詳しく解説しています。

>>【プログラマーとSEの違い】仕事・年収・求められるスキルを解説

 

4.向いている人はこんな人

向いている人はこんな人

プログラマーの仕事をこなしていく中で、プログラマーに向いている人は以下の人です。

  • 探究心がある人
  • コミュニケーション能力がある人

 

プログラマーとして仕事をしていると、プログラム設計書やコーディングでどう実現したら良いだろうかと悩むことがあります。

また、難解なバグなどの対処の仕方に困ることも。。。

 

プログラマーは、思いがけない事象に対し「なぜ?」と根気よく考え、時には他のエンジニアの意見を得ることも大切です。

長くプログラマーとして活躍したり、キャリアアップできる素質となりますよ。

 

私には向いていないかも...

 

そんな方も大丈夫!

最初からコミュニケーションが苦手という方も、プログラマーをしていく中で克服していっていますよ。

参考
プログラマーに向いている人の特徴4つ
プログラマーに向いている人の4つの特徴|実際にいたプログラマーから考察!

続きを見る

 

5.プログラマーとして必要なスキル

プログラマーとして必要なスキル(能力)

 

僕がこれまで20年ほどプログラミングに携わってきた中で感じた、プログラマーとして必要なスキル(能力)は以下3つです。

  1. コミュニケーションスキル
  2. 論理的な思考能力
  3. プログラミング能力(言語知識など)

 

どうやったら身につくのかも解説していきます。

 

1.コミュニケーションスキル

コミュニケーションスキルは、SEやクライアントとも接していかないといけないので必要なスキルです。

 

SEの作った設計書で疑問を感じたり、間違っている場合に質問等をしなければなりません。

また、クライアントはIT知識がない方も多いので、直接プログラマーに問いかけてくることもあるんです。

 

しかし、特別コミュニケーションに優れている必要もありませんよ。

コミュニケーションをとることに抵抗がなければOKです!

 

マー坊

コミュニケーションスキルは、プログラマーになってからでも、日々に仕事の中で身についていきますからね。

 

2.論理的な思考能力

プログラマーは「論理的思考能力」が必要です。

 

コーディングの際に、どんなデータが必要で、どんな処理を経て結果に導くか...

あらゆるデータを想定し、各々適切な結果に落とせるようコーディングしなければなりません。

 

しかし、論理的思考力も必ずしも最初から持ち合わせておかなければならないということはありませんよ。

「論理的思考能力」もプログラマーとして活動していく中で身に付いていくものです。

 

3.プログラミング能力(言語知識など)

プログラミング能力は、プログラマーとして欠かせないスキルです

プログラミング能力がないとコーディングすることができませんから、お仕事なんてさせてもらえません。

 

そこで、プログラミング能力を身に付けるのなら、以下の2つのやり方があります。

  • 独学
  • スクールを利用する

 

プログラミングは独学でも十分に学習できますが、学習方法に迷ったり、つまずいたりして「挫折」してしまうことが一番の懸念です

 

マー坊

プログラミングスキルを身に付け稼ぎたいのであれば、プロの指導を受けれるスクールを利用する方が、圧倒的に手っ取り早いですね。

 

下記は、初心者でも挫折せずにプログラミングを学べる大手のプログラミングスクールです。

「プログラミング学習は、なんだか自信がない...」

そんな方にぜひオススメ!

 

6.プログラマーの辛いところややりがい

辛いところややりがい

プログラマーは辛いことがたくさんあります。

なぜなら、難解なバグが出てなかなか直せなかったり...

思った通りに動作せず、何も成果がでない1日を送ったり...

 

しかし、辛いことを乗り越えることで、この上ない「やりがい」が生まれるのです

もっと詳しく!
プログラマーのやりがい
プログラマーのやりがいは1割、だけどとてつもなく大きいという話

続きを見る

 

7.未経験からプログラマーを目指す方法

未経験からプログラマーを目指す方法

未経験からでもプログラマーになることは出来ます。

特に、20代であれば、未経験でも入社可能な企業はたくさんあるからです

 

プログラミング知識ゼロでも、入社時にプログラマーなどエンジニアとして必要な知識・技術を手早く実践的に学べます!

マー坊

僕も未経験で入社した時、OJTと言われる手法で、先輩・上司が実務を通じて仕事を教えてくれましたよ。

実践的だから、学ぶのに効率がいいからスキルアップも早いです!

 

参考【使っておきたい!IT系転職エージェント2選】20代未経験からプログラマーへ!

参考【初心者がプログラミングを独学するための勉強法まとめ】学習に自信がない人に教えます!

 

在宅でプログラマーとしてやっていきたい!

在宅プログラマーを目指す

また、在宅でプログラマーとしてやっていきたいのであれば、プログラマーとしての経験や実績は必要です。

なぜなら、直接お客さん(クライアント)から仕事をもらうのですから、信用が大事です。

 

また、仕事中の疑問などは、ある程度自分で解決できないといけませんからね。

 

未経験からプログラマーを目指す方には、プログラミングスクールにいくこともオススメです!

プログラミングを一通り学べ、実践的な技術(レビューや設計書の書き方など)も身につきますよ。

超初心者におすすめするプログラミングスクール4つ
初心者におすすめするプログラミングスクール4つ!学ぶだけじゃなくその後の就職(転職)サポートもあり!!

続きを見る

 

まとめ

プログラマーのお仕事内容について解説してきました。

 

プログラマーのお仕事は、基本的に以下の形で進めていきます。

IT企業とWEB製作会社でも、基本的にこの流れは変わりません。

  1. 【プログラム設計書作成】
  2. 【コーディング】
  3. 【テスト】
  4. 【バグ改修】

 

また、プログラマーはコーディング能力だけでなく、コミュニケーション能力や論理的思考力も必要です。

 

とはいえ、コミュニケーション能力や論理的思考力がないからと、プログラマーを目指すことをあきらめないでくださいね。

それは、実践の中で養われ身についていくものですから!

 

大切なことは、勇気をもってやりたいことに挑戦することです!!

まずは、プログラマーとして必要なプログラミングスキルをつけましょうね。

おすすめ超初心者におすすめするプログラミングスクール4つ!学ぶだけじゃなくその後の就職(転職)サポートもあり!!

 

 

この記事はいかがでしたでしょうか✨?

-初心者からプログラマーを目指す

© 2020 お仕事講座-マー坊ブログ