プログラマーのリアルな仕事内容を解説!現場ならではの裏話もあるよ。

プログラマー 仕事内容

この記事では

Left Caption
  • プログラマーの仕事内容が知りたい!
  • プログラマーって具体的にどんな仕事なの?
  • 現役プログラマーのリアルな話が聞きたい!

という疑問を解消します。

 

プログラマーに興味がある人は具体的な仕事内容をしっかりと把握しておきましょう。

そうしないと、プログラマーになった後で想像と違った仕事をすることになり後悔することになる可能性があります。

 

この記事では、現役のプログラマーが実際の仕事内容を具体的に解説し、現場ならではのリアルな裏話も暴露します。

本記事の内容
  • プログラマーになりたいかどうかを決めやすくなる
  • プログラマーの仕事内容がわかる
  • プログラマーのリアルな現場の様子がわかる
Left Caption
プログラマー業界の闇をお見せしましょう…

プログラマーにも様々な種類がある

man holding mug in front laptop computer

プログラマーと一ロにいっても下記のように様々な種類があります。

  • Webプログラマー
  • ゲーム系プログラマー
  • アプリケーションプログラマー
  • 組み込み系プロクラマー
  • 汎用系システムプログラマー
  • 通信系プログラマー
  • オープン系プログラマー

引用:意外と知らないプログラマーの種類一覧

どのプログラマーなのかによって仕事内容が異なる部分もあるのですが、今回は、どのプログラマーでも経験するであろう代表的なものについて解説していきます。

ウォーターフォール開発

time-lapse photography of flowing multi-tier waterfall

プログラマーの種類にもよるのですが、ほとんどの開発現場で主流なのがウォーターフォールモデルという開発手法です。

ウォーターフォールモデルは

  1. 要件定義
  2. 基本設計
  3. 詳細設計
  4. コーディング
  5. 単体テスト
  6. 結合テスト
  7. 総合テスト

の流れに沿って、開発を進めていく手法です。

プログラマーはこのうち、主に詳細設計からテスト工程までを担当することになります。

ここではざっくりとプログラマーが担当する工程の仕事内容を解説します。

詳細設計の仕事内容

詳細設計は、

CHECK

システムエンジニアなどの基本設計の実施者から、システムによって何をしたいのかを聞き、それを元に具体的なシステムの設計書を作成する仕事です。

例えば、検索機能があるアプリケーションを作るとして

基本設計で「検索ボタン押下で検索結果ページに遷移する。」

と書かれているとしたら

詳細設計では、どのメソッドを呼び出して、引数は何で、何の値を変数に格納するのか

というような、さらにシステム寄りの設計書を作成するイメージです。

 

この後のコーディング工程はここで作成した詳細設計書にそって進めていくため、ちゃんと作成しておかないと次の工程で困ることになります。

詳細設計を作成する人とコーディングする人が別の場合もあり、その時に、コーディングをする人が

Left Caption
詳細設計書に書かれてねーよ!

と文句を言い、詳細設計者が

Left Caption
そこはコーディングで吸収で良いでしょ

と文句を言うという戦いが繰り広げられます。

コーディングの仕事内容

コーディングは

CHECK

詳細設計書に書かれている内容にそって、実際にプログラミングを進めていく仕事です。

システムは1つ1つの部品が集まることによって作られているため、各部品を1つ1つ書き進め、最終的に全体のシステムが完成するという流れが一般的です。

 

大規模なシステムを構築する際は、部品ごとに担当を分けたり、別の企業に発注されたりします。

そのように担当が細かく分かれれば分かれるほど、部品間の連携が複雑になり時間がかかったり問題が起こりやすくなります。

 

ここの連携をうまく進められない人がいると、

Left Caption
あの会社のあの人やばいよね。

と噂されることもあるあるですね。

単体テストの仕事内容

単体テストは

CHECK

コーディングしたプログラムがちゃんと詳細設計書通りに動くかどうかをテストする仕事です。

正しい動作をすることを確かめるために、データを用意したりチェックリストを作ったりエビデンスを取ったりなど、地道な作業が多いです。

そのため、テスト中は修行をしているような気分になり、集中している時に話しかけられると殺意が芽生えます。

結合テストの仕事内容

結合テストは

CHECK

コーディングしたプログラムの複数の機能をまとめて流し、基本設計書に書かれている内容通りに動くのかをテストする仕事です。

企業によって実施方法は様々ですが、複数の機能をまとめて実行するにつれて、バグが発生した際にどこに問題があるのか特定しずらくなっていきます。

 

また、仕様を理解していない人がデータを流したりシステムを実行したりするので、ソースコード以外の部分でバグが起こることも多くなります。

そうなるとプログラマー達の間では、自分たちの仕事が関係ない部分なのにバグ調査をさせられるので文句が頻出します。

総合テストの仕事内容

総合テストは

CHECK

さらに大きな範囲で一連の機能を実行し、問題がないか要件定義に照らし合わせて確認する仕事です。

このあたりの工程から、発注者の目線が絡んでくることになり、急な仕様変更や対応を命じられることが出てきます。

そのたびに

Left Caption
いや最初から言っとけよ…

という心の声がいたるところから出てきます。

顧客・メンバーとのコミュニケーション

Office, Business, Colleagues, Meeting, Computers

上司や顧客とコミュニケーションを取ることも仕事の1つです。

ウォーターフォール開発を勧めていく中で、顧客やメンバーと連携をとって仕事を勧めていくことは不可欠です。

 

1人プロジェクトで開発を行ったり、受託開発などで完全に顧客とコミュニケーションを取らずに開発を進めていくこともありますが稀です。

多くのプロジェクトでは、下記のような場合にコミュニケーションを取ります。

  • 詳細設計書・コード等のレビュー
  • 問題発生時
  • 疑問点・確認点がある時

コミュニケーションをうまく取れるかどうかはかなり評価につながるため、重要な部分と言えます。

お客さんに勝手なあだ名をつけてメンバー内では呼んでいる、というのもあるあるなのではないでしょうか。

ミーティング・報告業務

group of people having a meeting

プログラマーであっても、机に座ってPCをいじってるだけが仕事ではありません。

ミーティングや顧客・上司に報告をする仕事もあります。

 

例えば

  • 各工程の説明ミーティング
  • レビューミーティング

などなど。

 

例えばレビューミーティング等、内容によってはプログラマーが主で話すミーティングもありますので、その際はしっかりと準備して望むことが重要となります。

【現役プログラマーが解説】プログラマーのリアルな仕事内容を解説!現場ならではの裏話もあるよ。のまとめ

プログラマーの仕事はPCにかじりついていると思われがちですが、意外とコミュニケーションも絡み、かつそこが重要だったりします。

自分の思い描くプログラマーと実態のプログラマーが乖離しないように、しっかりと実態を把握しておきましょう。

本記事の中で

Left Caption
  • ちょっとやりかたがわからない
  • もっと詳しく教えて欲しい

などありましたら、下記コメント欄よりいつでもご質問・ご相談お待ちしております!




Posted by ぺりそん