実際プログラマはどういう仕事をしているのか知りたい!
プログラマに興味を持ち、実際にはどういうことをしているか知りたいと考えている人に向けて書きます。これからプログラマを目指している人に参考になります。自分はプログラマではないけど、自分の家族や恋人がプログラマだったりする方にも参考になる記事です。
この記事を読めば実際にプログラマがどういう仕事をイメージできるようになります。
本記事の信頼性
- 正社員リモートワーカー。リモートワーカー歴日本国内国外合計3年。
- IT関連歴21年。プログラマ、ブリッジSE、プロダクトオーナー
- 使用言語C++、Javaがメイン。PHP、Ruby、Pythonも経験あり。
- PMP(Project Management Professional)。
- ServiceNowの3種類。AWSクラウドプラクティショナー取得。
- 海外生活合計6年
プログラマの仕事内容
結論としては、プログラマの仕事内容は、下記の通りです。
プログラマの仕事内容は下記の通りです。
- 要件定義
- アーキテクチャ設計
- 仕様書作成
- 実装
- テスト
- リリース
- トラブル対応
プログラマの最終的な目的は、動作するソフトウェアをクライアントに提供することです。
次章にて、各項目の詳細を説明します。
この記事を見てプログラムになりたいと思った方は下記の記事も参考にしてください。
仕事内容① 要件定義
プログラムの要求元から実現してほしいプログラムの内容をヒアリングします。要求元は、お客様だったり社内の営業だったりします。要求元をまとめて「クライアント」と呼びます。新規のプロダクトだと、要求内容が明確ではない場合もあります。
実際のプログラマの仕事は実装がメインだと思われますが、要件定義も含まれることが多々あります。プログラマの経験が増えてくると要件定義の仕事量が増えてくることはよくあります。役割的にはシステムエンジニアやビジネスアナリストが要件定義をすることとなっていますが、実際はプログラマが行うことが多々あります。
プログラムでは、プログラミング自体は3年ぐらいでほぼ能力がつけられます。しかし、要件定義は業界の業務などがあり、質の高い要件定義ができるようになるまでは10年単位の経験が必要になることが多々あります。
求められるプログラムの業務を「ビジネス」と呼ぶことがあります。例えば、銀行であれば、ATMに来て、「お金を預ける」や「お金を引き出す」などの様々な「ビジネス」があります。こういうビジネスを分析したりする人を「ビジネスアナリスト」と言ったりします。
仕事内容② 仕様書作成
要件定義を元に仕様書を作成します。社外にプログラム自体を提供する仕事ではない場合は、プログラムに必要最低限なドキュメントを用意する方が今風だと思います。
私の経験上は、1機能ずつ仕様書を書くのではなく、全体的な動作を定義するような仕様書を作成します。
プログラマが作成する仕様書の例
- ステータス遷移図:内部のステータスがどう移り変わるかを記載している図
- ユーザやグループの権限周り:ユーザやグループがどのデータにアクセスできるかを記載している
- 表示メニュー:ユーザやグループでどのようなメニューが表示されるかを定義します
- フロー図:業務
仕事内容③ 実装
仕様書を元にプログラムを書きます。プログラムを書く行為を「実装」と呼びます。プログラマー以外の方からは、プログラマの仕事は実装がメインだと思われますが、実装をする時間はそれほど多くありません。ドキュメントを書いたりテストを書いたり、問題解決をするためにインターネットで調べ物をする時間の方が多いと思います。
ほとんどの実装は、エディタやIDEを使います。IDEは、統合開発環境を英語にして略した言葉です。つまり、エディタにコンパイル(人間が書いたソースコードを機械語に変換する作業)機能がついたものです。
最近は、VScodeにコンパイルのためのプラグインを入れることが多いです。そのほか、JavaであればInteljなどが有名です。
仕事内容④ テスト
実装したプログラムをテストします。テストは静的や動的と分けられます。静的はソースコードレビューなど実際にプログラムを動かさずにするテストを静的と言います。それに対して、動的なテストとはプログラムを実際に動かしてテストを行います。
プログラムの実装とテストは、ペアになっています。テストすることによりプログラムの品質を証明することが可能になります。
仕事内容⑤ プログラムのデモ
プログラマが開発したプログラムのデモは、そのプログラムがどのように動作するかを見せるための重要な手段の1つです。デモは、ソフトウェア開発ライフサイクルの様々な段階で使用されます。この記事では、プログラマがデモを作成し、プログラムの機能を効果的に示すために必要なスキルやツールについて説明します。
デモ作成のステップ
プログラムのデモを作成するためには、以下のステップが必要です。
目的を明確にする
デモの目的を明確に定めることが必要です。デモの目的がはっきりしていると、それに基づいたデモを作成できます。
デモ用の環境を準備する
デモを行うためには、特定の環境が必要な場合があります。例えば、インターネットに接続する必要がある場合があります。その場合は、適切なネットワーク接続を確保する必要があります。
デモシナリオを作成する
デモシナリオを作成し、スクリプトを書くことが重要です。デモシナリオには、実際のデモで実行する手順や、注目点を示すことが含まれます。
デモ用のデータを準備する
デモを行うために必要なデータを準備する必要があります。これにより、デモ中にデータを入力する必要がなくなります。
デモの練習をする
デモを実施する前に、何度か練習することが必要です。これにより、デモ中に問題が発生する可能性を減らすことができます。
仕事内容⑥ リリース
Webプログラムでは、Webサーバーにプログラムをアップロード(デプロイと言います。)することをリリースと言います。リリースすることで、ユーザがプログラムを使える状態にします。
リリース作業は、段取り命の作業になります。また、リリース作業の途中で失敗した時はバックアッププランなども用意します!
仕事内容⑦ 納品
リリース作業が終わると、クライアントに納品します。
納品は、プログラムそのものだけではなく、仕様書やテストなどのドキュメント類も含まれます。
全ての納品が終わると、「検収」になります。簡単にいうとクラアントの確認作業です。
それらが全て終わると報酬が支払われます。
仕事内容⑧トラブル対応
リリース後にクライアントやユーザからトラブルが報告された場合に、プログラムの調査などを実施します。
不具合がないプログラムはこの世に存在しないと言われるほど、プログラムには必ず不具合があります。
不具合を修正するだけではなく、運用で回避することもあります。
どのように対応するかは、その時の状況やコストを加味して決まります。
あるプログラマの一日
私の勤務している会社は、全社員の朝礼があります。
この後に実施するデイリースクラムのために、内容を整理します。
デイリースクラムは、開発部隊が行う朝礼で、15分間という時間が決まっています。開発メンバー全員が昨日実施した内容及び本日取り組む内容を説明します。
週一回の開発中のプログラムのデモ(スクプリントレビュー)などの会議があります。
弁当屋、コンビニ、社外の定食屋で各々食事を摂ります。
18時が定時です。業務が終わっていればこの時間に帰ります。18時から30分は休憩時間です。18時までタスクが終わってない場合は、この時間から残業なります。リリース前もしくはリリース後は残業が多くなります。
その他
正社員のリーダークラスになると下記のようなことも実務に含まれrます。
その他のプログラマの仕事
- パートナー管理: プログラムを開発している他社のメンバーの勤怠や受発注業務
- セールス活動の支援: 営業がセールスをする会社の提案書などの作成
【まとめ】プログラマの仕事内容
現役のプログラマが記載した仕事内容の記事いかがだったでしょうか?プログラマって人と喋らずにプログラミングコードを書いていると思った方も多いと思いますが、実際は調査したり会議に出たりとコミュニケーション能力もかなり求められます。ドキュメントも書く機会も多いです。
なお、ここで記載したことは私の体験を基にした一例です。他のプログラマにも聞いてみるのも面白いかもしれません。プログラマに興味を持った方は下記の記事も参考にしてください。
最後まで記事を読んでいただきありがとうございます。
記事を読んでリモートワークプログラマになりたいと思った方は下記の記事も参考にしてください
これからもリモートワークのプログラマーに有益な情報を提供していきたいと思います。
フリーランスの情報を集めています!30分〜60分ぐらいのリモート会議をしていただける現在フリーランスで働いている方を募集しています。1000円の報酬をお支払いします!希望者は、私のtwitterアカウントにDMください!
この記事で興味を持っていただいた方は、是非Line公式アカウントにも登録お願いします。
コメント