ねえ、RYOさん!
プログラマーについて教えて!
いいですよ!
プログラマーにどんなイメージを持ってますか?
なんか、残業多くて大変そう。
あと実際どんな仕事してるのかわからない。
確かに、残業多いイメージはありますよね。
では、実際はどうなのかどんな仕事やっているか話していきますね!
はじめまして、RYOです。
私は、新卒でプログラマーになりました。
初めはブラック企業であるとか残業が多いというイメージを持っていて、
就職してからも不安でしたが昔からよくPCゲームをやっており、
PCの知識や使い方は、周りの人よりわかる方で、チャレンジしてみようと思いこの職を選びました。
時代のIT化が進むにつれて、アプリケーション開発やシステム開発に挑戦したい人、
他業種からプログラマーに転職したいと考えている人など、最近はプログラミングに興味を持つ人が増えています。
しかし、まだまだプログラマーがどんな職種なのか分からない方も多いのではないでしょうか?
そんなプログラマーになろうか悩んでいる方向けに、
私が半年間プログラマーをやってきた上での仕事内容や苦労した点について紹介していきますのでよかったら参考にしてくださいね。
この記事では、
- プログラマーとは
- プログラマーの仕事はきつい?
- プログラマーの仕事内容
- プログラマーで苦労したところ
について書かれています。
プログラマーとは
プログラマーとは、プログラミング言語を用いてシステム開発を行う職種のことです。
システムエンジニアが設計した仕様書通りにシステムが作動するようプログラムを書き上げるのがプログラマーです。
システムエンジニアは、クライアントからのヒアリングやシステムの設計を行い、その設計書を元にプログラマーはプログラムを行うことになります。
システムエンジニアは他にも、システム開発全体の指示や開発したシステムがうまく動作するかテストを行います。
プログラマーの仕事はきつい?
私は新卒ですが、あまりきついと感じたことはありません。
最初は取り組みやすい作業からやります。
入ったばかりの最初の頃は評価をすることが多いでしょう。
評価というのはバグが起こらないか検証する作業です。
ユーザーが使う際に起こるすべての組合わせを網羅し、製品になるまえの試作品やシステムをチェックします。
冒頭でまったくきついと感じたことはありませんと書きましたが、納期がせまってくると忙しくなることがあります。
例えば、夏休みの宿題を考えてみてください。毎日コツコツと進めていれば特に問題のある量ではないことが多くありませんか?サボってしまってもしくは、計画が甘くて終盤に徹夜で終わらせているその状況を想像してみてください。
それと同じように見積もりが甘ければ終盤残業して終わらせる。
もしくは取り掛かる人数を増やすことで対応していきます。
しかし、ほかの人もタスクがありますし、基本的には今いるメンバーでの残業で終わらせることが多いでしょう。
とはいっても、残業時間については、その会社の方針により大きく異なります。
作業時間を増やしてどんどんタスクを消化したい会社と残業を極めて少なく人員を削減して進めたい会社。
また部署によっても違うでしょう。
なのでプログラマーだからどこも忙しいということはなく、一般的な残業の考え方という風に考えてもらえればよいかと思います。
一般的なプログラマーのイメージは残業バリバリで「きつい」だと思いますが、私の職場では定時で帰れますし、残業も普段は全くしていません。
納期に間に合わないなどピンポイントで残業をしています。
その際も必ず許可がいります。
勝手に残業することはできません。
時代の流れでだいぶ改善されているのではないでしょうか。
プログラマーの仕事内容
先ほども述べたように、プログラマーの最初の仕事は評価をすることが多いです。
評価とは、プログラムをした後の動作チェックのことです。
評価はすべてのパターンを網羅する必要があります。
私は実装・評価仕様書の作成・評価実施を一通り経験させていただきました。
実装はプログラムのことでCSSとHTMLを使って(これは主にWebページに必要なプログラム)見た目の部分をプログラムしてました。
そして評価をするための仕様書の作成を行い、評価の実施まで行っています。
基本的には仕様書に沿って、プログラムを書いていく作業です。
プログラムと一言で言っても、多くのプログラミング言語があります。
そしてどのプログラミング言語にも文法やルールがあります。
どのようなジャンルの仕事を担当するかによって、必要になるプログラミング言語も変わってきます。
多くの言語を扱えるようになれば仕事の幅が広がり、新しい開発にも携わることができます。プログラムをしていくと、バグを発見することはよくあることです。
バグを直していくのもプログラマーの重要な仕事の一つです。
計画どおりに設計しても、意図しない動作をする場合もあります。
したがって、テストを繰り返してバグを処理し、不備のない状態で納品できるように修正します。
- プログラミング言語…私たちで言う英語とか韓国語のようなもので、その機械が理解できる言語でプログラムを書く必要がある。
- バグ…プログラムやなにか他の要因により起こる不具合のこと
- テスト…実際に作ったプログラムを動かしてみること。同じ動作を繰り返す、同時に動作を行うなど =(評価・検証)
プログラマーで苦労したところ
私が苦労したことはバグが起こった場合の対処です。
まず、一言にバグといっても種類があります。
プログラマーの知識不足や、ミス
詳細設計書自体がそもそも間違っている等
今回は私自身がミスしたことによって起こったバグについて説明していきたいと思います。
それは「間違った記述をコピペで量産していたこと」です。
同じ記述をいろんなファイルに記述する必要があったため、自分で書いたプログラムをコピペしていました。
しかしながらそのコピペ元(自分で書いたプログラム)の記述に誤りがあったのです。
なのですが、私は誤りがあるとは気づかず、たくさんのファイルに間違いのプログラムを追加していっていました。
次の日、先輩がうまくいかないことで調べていると、前日に私が行ったコミットがどうやら原因だとわかりました。
その指摘を受け私は一括変換を使って 間違ったプログラムを正しいプログラムに書き換えようとしました。確かに今回の場合はそれでよいかもしれません。
というより実際はそれでよかったです。
しかし、それでよくない場合があります。
一般的にミスがある場合、ほかに類似のミスがないか、またそれを直すのにどれだけの時間がかかるのかどのくらい影響があるのか(影響範囲)調べる必要があります。
私はそこでそのプロセスを教えていただき、今回は俺が見るからと先輩がそのミスは修正してくれて事なきを得ました。
よくない場合の例を言うと、
・Aファイル(Aさんの情報)
私は白い靴が好きです私は白い恋人が好きです
・Bファイル(Bさんの情報)
私は赤い靴が好きですAさんは「白い靴が好きです」と言っていました
Aさんは「白い恋人が好きです」と言っていました
・Cファイル(Cさんの情報)
Bさんは「白い靴が好きです」と言っていました
というプログラムを書いたとします。
あ!間違えたAさんは白い靴じゃなくて黒い靴の方が好きだったから一括で書き換えよう!
この場合「私は白い靴が好きです」というワードで一括変換をするとAファイルは変更されますが、Bファイルの方は変換されません。
なので、「白い靴が好きです」というワードで検索をかけ出てきた記述ひとつひとつを見ていく必要があります。
そしてCファイルはBさんに関する記述ですので変更してはいけません。
まとめ
プログラマーとは、プログラミング言語を用いてシステム開発を行う職種のこと。
システムエンジニアが作成した設計書を元にプログラムを行う。
プログラマーの仕事は普段からすごくきついわけではなく、納期がせまってくると忙しくなることがある。
またプログラム作成後バグが見つかることはよくあることでバグを直していくのもプログラマーの重要な仕事の一つである。
プログラマーで苦労するのはプログラムのバグの対処である。