プログラマーの仕事内容

プログラミング

プログラマーの仕事内容を実体験から解説!コーディングだけが重要ではない!!

2020年3月30日

 

プログラマー仕事内容を教えて欲しいな!

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

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

 

プログラマーの仕事は、プログラミングをしていくのが一般的な仕事です。

しかし、プログラミング言語を使って、コーディングさえやっていればいいというわけではありません。

他のSEなどのエンジニアの意見を得ながら、作業することもあるのです。

 

この記事では、プログラマーの仕事内容など気になる方向けに、僕の実体験から解説しています。

 

プログラマーの仕事内容

プログラマーの仕事内容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. バグ改修

 

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

 

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

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

 

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

 

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

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

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

 

マー坊

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

 

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

 

向いている人はこんな人

向いている人はこんな人

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

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

 

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

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

 

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

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

 

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

 

そんな方も大丈夫!

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

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

  未経験からプログラマーを目指している。 しかし、文系出身だし数学も苦手... プログラマーに向いている人の特徴を教えて欲しいな。   プログラマーに向いている特徴をあげるとすれ ...

続きを見る

 

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

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

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

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

(上位ほど重要です)

 

プログラミング能力(言語)や論理的な思考能力というのは、プログラマーとして活動していくことで自然と身につくものです

ですから、「今はそんな能力はない...」という方も安心してくださいね。

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

 

また、一番大事なスキル(能力)はコミュニケーション能力です

あなた自身で解決できないことや、あらたな技術・知識は他のエンジニアから得られることが多いのです。

 

マー坊

コミュニケーション能力は高い必要もなく、コミュニケーションに抵抗がなければ大丈夫ですよ。

 

辛いところややりがい

辛いところややりがい

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

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

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

 

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

もっと詳しく!
プログラマーのやりがい
プログラマーの【やりがい】はたった1割で、残り9割は【つらい】という話

  プログラマーのやりがいや魅力を教えて欲しい! 興味があって、これから目指そうかなと考えています。   プログラマーのお仕事は決して楽な仕事ではありません。 僕は9割は「つらい」 ...

続きを見る

 

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

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

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

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

 

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

マー坊

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

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

 

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

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

 

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

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

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

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

 

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

 

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

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

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

  超初心者だけどプログラミングを学び、戦力になれるエンジニアになりたい! 在宅ワークなど、副業で稼ぎたいな。 そこで、おすすめのプログラミングスクールが知りたい。 結論を言いますと、プログ ...

続きを見る

 

まとめ

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

 

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

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

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

 

ですから、プログラマーはコーディング能力だけでなく、コミュニケーション能力や探求心も必要です。

 

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

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

 

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

関連WEB系プログラマーの仕事内容を具体的に知りたい方が読むべき記事

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

 

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

-プログラミング

© 2020 マー坊ブログ!