プログラマーのお仕事って、ベース的には仕様に従って設計書を作り、その設計書に従ってプログラミングしていく仕事となります。
では、そのプログラマーのやりがいってどういったものだと思いますか?
僕が実に関しまして感じている「やりがい」とは、やはり『お客様の利益に貢献できること』だと思います。
では、どういったことでお客様の利益に貢献できると思いますか?
ここではそのような、お客様の利益に貢献することで感じているプログラマーのやりがいをお届けします。
この記事でわかること
・プログラムによって利益に貢献その1:時間的節約
・プログラムによって利益に貢献その2:人的節約
・プログラムによって利益に貢献その3:トラブル防止による安全性
それでは行ってみましょう
利益に貢献その1:時間の節約で効率アップ!

あなたなら、単純処理を100回繰り返す仕事をどう感じますか?
手動なら1回あたり3分かかる処理でも、自動化すれば1回あたり10秒で終わらすことも可能です。
この場合ですと、3分×100回で300分掛かっていた処理が、10秒×100回で1000秒、つまりは16分程度で終わることになります。
時間効率がよくなることで会社にとっては下記の点が利益となります。
・処理時間が減るので、雇っている人を減らすことができる
・処理時間が減るので、空いた時間で別の処理に取り掛かることができる
実際、僕が作ったシステムで、バイトを2名減らすことができた、という案件がありました。
仮にバイトが1ヶ月で10万円のお給料だった場合、2人なので1ヶ月20万円です。
1年ですと20万円×12ヶ月で240万円になります。
請け負った費用が200万円ほどでしたので、こちらのお客様はほぼ10ヶ月で元を取った計算になりますよね。
そして、それ以降はプラスになります。
厳密にいえば、このお客様からは毎月の保守費用をいただいていますので、もうちょっと経費はかかっているでしょう。
それでも、バイトを2名雇い続けるのと比べると随分の節約になっています。
こみたいに、処理を自動化することによって人件費の削減にも大いに貢献できるわけです。
(この時、バイトを辞めることになった方には少々申し訳ない気持ちにもなってしまいましたが・・・)
ただ、色んなシステムの自動化が進むことで、人的労力が不要になるということで失業者が多くなりるのではないか?
という懸念点も一部では存在します。
けれども、コンピュータでは行うことができないような仕事は世の中には多数あります。
そのようなところではまだまだ需要がありますので、自動化=失業者があふれる、ということにはならないでしょう。
また、人件費の削減ではなく、システムを導入することで空いた時間を別のプロジェクトに時間を費やすことで、そちらのプロジェクトからの収益が得られた場合においても、お客様の利益に貢献できたと言えるでしょう。
プログラマーにとって、時間削減はすべての方が思っていることかと思われます。
このように、「時間削減」は企業の利益にもっとも直結しやすい目に見えたメリットだと言えるでしょう。
また、会社の評価に関しては、時間が何%削減できたのか、という成果の数値をアピールするのがとても有効なんですよね。
「時間の削減」というものは、相手企業にとっても自分自身にとっても、多く有効な結果だと言えます。
利益に貢献その2:処理負荷軽減で人的節約も!

処理負荷軽減に関してもプログラムは大いにメリットが見込めます。
時間削減と意味的には被ってしまうところもあるのでありますが、手動による単純処理ってツライですよね。
逆に、肩がこって大変なくらい複雑な手処理もツライです。
そのような、単純処理でも複雑な処理でも、プログラムによって自動化してしまえば、あとは全てコンピュータが処理をこなしてくれます。
腱鞘炎になるくらい手を酷使している処理が自動化されたら・・・
様々な数式を計算し、一つ一つ確認しながら処理をしているものが自動化されたら・・・
新人でもベテランでも同じ処理時間で仕事を終えることができたら・・・
どうでしょうか?
プログラムによって自動化することで、これだけのメリットがあるんですよ。
やはり処理負荷の軽減もプログラムによる自動化の大きなメリットと言えるでしょう。
実際、僕も自作ツールを作る経緯については、この処理負荷軽減が主な理由です。
利益に貢献その3:自動化でトラブル防止!

そしてこちらも注目すべきなポイント。
プログラムによる自動化でトラブルを防止し、安全に処理を進められるということが挙げられます。
やはり手動ってどうしても危険を伴います。
うっかりミスもありますし、見間違いもあります。
うっかりミスもありますし、見間違いもあります。
そのためのダブルチェックとして複数名で確認したりもしますね。
でも、プログラムで自動化することにより、手動で行うよりも圧倒的に安全面が改善します。
もちろん、そのプログラムが正常に終了した、という確認処理は必要です。
ですが、長いステップを手処理で行うのと、自動で行うのでは安全面は全く違います。
よく、古い考えの人の場合は「Excelの計算結果を信じずに電卓で計算して確認したりする」という笑い話がありますよね。
ちゃんと間違いなく仕様通りにさえ作られていれば、プログラムには「うっかりミス」「見間違い」はありません。
プログラムはコンピュータのメモリの限り、安全に疲れ知らずで働いてくれるんです。
自動化が無理なお仕事もあるものの、可能な限り手動の処理を減らし、自動化を進めるべきだと僕は思います。
処理ミスをしてしまうと、企業としては致命的なものもあるでしょう。
うっかりミスで顧客情報をメール送信してしまった、なんてケースが考えられます。
でも、自動化でメールを送っていれば、顧客情報の誤送信なんて発生しないですよね。
このように、自動化をすることで安全面はグッと改善します。
こうした、「安全性、守り、セキュリティ」についても、プログラムは企業の利益に貢献できると言えるでしょう。
まとめ

今回は、僕がプログラマーとして感じているやりがいは、いかに「顧客の利益への貢献するか」ということをお伝えしました。
やはり手動で処理をしていると、時間もかかってしまいますし、ミスをする可能性も高くなります。
そこをプログラムによって自動化することで、手動によりミスを防ぎ、手処理よりも速く処理を終えることが可能となります。
時間節約、人的節約、そして安全面。
プログラムによってこれらを手に入れることが可能となるわけです。
これにより、時間や人的節約によって得られた利益を元に、次のプロジェクトへと展開していくことも可能となるでしょう。
もちろん、ひとつのシステムを自動化するとなると、それなりの工数=費用が必要となります。
その費用が僕たちプログラマーの利益ということになります。
お客様の利益につながるようなシステムを提供し、開発工数の費用をいただく。
この顧客とプログラマーの関係は、ともにWin-Winの関係だと僕は思います。
お客様の要望をしっかりと取り入れ、その要望を応えるように提案を行う。
そして、ひとつのシステムを作り上げ、お客様の利益に貢献する。
こんなやりがいが、プログラマーのお仕事には詰まっているんです。
単純に命令された処理だけでは面白くありませんよね?
自分が作った仕組みで誰かが「便利になる」「得をする」「安全になる」。
そのようなお仕事を僕は誇りに思っています。
そのようなお仕事を僕は誇りに思っています。
プログラマーになりたい方は、「自身のやりがいがどこにあるのか」
というのを思い浮かべつつ、プログラマーのお仕事を見ていただきたいと思います。
やはり人の役に立つ、ということが一番のやりがいですからね!
以上、「プログラマーのやりがいは?顧客の利益に貢献する3つの内容も!」でした。
プログラマーには色々な種類の方がいます。
ベース的には会社に属していてチームとしてプログラムを作る方もいれば、
会社勤めでありますが、ほぼ一人でプログラムを作る人。
ほかにも、フリーランスで仕事を請け負って作る方もおられます。
ちなみに僕は会社に属していてチームとしてプログラムを作るパターンが多いです。
たまに一人プロジェクトなどもあるものの、一人で作る場合でもチームで処理するときと同様のルールを守っています。
そのような感じのプログラマーなのでありますが、今回はプログラマーの仕事をしている上での「あるある」5選をご紹介したいと思います。
自分だけかな?と思っていたら、意外にも同業の方も同じような意見の方がおられたりして、結構面白い感じがしました。
同じようなプログラマーの方は共感を、そしてこれからプログラマーになりたい方は、こういった「あるある」があるんだな、ということをご参考ください。
今回の記事で分かること
プログラマーあるある1:コメントで会話
プログラマーあるある2:変数の定義が大量
プログラマーあるある3:夢の中でもプログラム
プログラマーあるある4:営業が勝手に仕事を増やす
プログラマーあるある5:何か知らんが動いたから良し!
それでは行ってみましょう。
プログラマーあるある1:コメントで会話

これはコメントの付け方が明確にルール化されていない部署によく見られる共通点でしょうか。
よくあるパターンのコメントとしては、
「ここは後で修正が必要かも」
「ここのif文がちょっと複雑だからswitch文に変える予定」
「ここ複雑すぎ!もっと分かりやすくして!」
・・・
などなど、色んなパターンのコメントはありますが、共通点的には修正が必要と思われる箇所のメモ書き・伝言っぽい内容のコメントが多い感じですね。
そもそも、プログラム内にこのようなコメントを残すのもどうかと思うのでありますが、プログラマーとしては仕様書に記載するよりも断然楽なんですよね。
仕様書は印刷して文書管理されたりしますが、プログラム文をそのまま印刷して書類にすることはそこまでありません。
そのため、プログラム内のコメントは無法地帯になりがち・・・
ということで、「プログラマーはコメントで会話をする」というのを挙げてみました。
プログラマーあるある2:変数の定義が大量
そして次は「変数の定義が大量にある」というもの。
こちらは初心者プログラマーにありがちですね。
例えば、個人のプロフィール欄の登録画面を想像してみてください。
プロフィール欄と言えば、
・名前(姓と名)
・生年月日
・住所
・電話番号
・学歴
などなど。
ここに挙げたのはほんの一部ですが、画面いっぱいに入力欄があると想像してください。

この入力欄はベース的にテキストボックスになります。
そして、このテキストボックスの数だけ、文字列型の変数を用意して、値をセットしたりする人がいるんです。
例えば、
strA
strB
strC
strD
strE
strF
・・・
みたいに、限りなく続く変数の羅列。strB
strC
strD
strE
strF
・・・
まぁ、大概は
strName
strTel
のように変数名から何をセットするような入れ物なのかが把握したいように名前を付けるのが普通ですが。
普通じゃなくてもっと酷い場合だと、「str1」「str2」「str3」・・・「str52」などのようなようにひたすら数字のパターンも見たことあります。
こうなったら、その変数はいったい何を入れるためのものなのかがサッパリ分かんなくなってしまうんですよね。
ちゃんと変数の命名規則がチーム内で決められているなら大丈夫かとは思いますが、規則が無い場合はプログラマーが好き勝手に名前を決めてしまいます。
あとで変数名を修正したりすると、「勝手に変更しないで!」とキレられるのもセットです(笑)
でも大事なのは命名規則などういったルールがしっかりとしていることです。
チームで動くには、このルールを守るのが非常に大事になります。
チームで動くには、このルールを守るのが非常に大事になります。
そういうわけで、「変数の定義が大量」というのもプログラマーあるあるに挙げさせていただきます。
プログラマーあるある3:夢の中でもプログラム

はい、これはどういったプログラマーの方でも経験があるのではないかと思われます?
プログラマーという人種は、仕事が終わって帰宅している途中でも電車のなかで脳内プログラミングをすることが多々あります。
「あそこは明日直そう」
「こういう風に書き換えればもっと処理が速くなるかも」
「やべっ、あそこの値を初期化するの忘れてた!」
などなど、移動中でも修正箇所を考えたりしてしまうんですよね。「こういう風に書き換えればもっと処理が速くなるかも」
「やべっ、あそこの値を初期化するの忘れてた!」
それだけ仕事熱心だということです!
まぁ、それくらい移動中でも考えないと納期に間に合わない、という時間的なものもあるんですけどね。
そういうわけで、電車での移動中でも、テレビを見ている間でも、お風呂に入っている間でも、ぼ~っとプログラムの事を考えてしまいがち。
そのような生活を毎日しているので、しまいにはやはり『夢の中でもプログラム』をしてしまうんですよね。
もはや職業病。
でも、いくら夢の中でプログラムを組んだからと言って、本番の処理が進むわけではありません。
残念ながら、夢の中の処理は夢の中で終わってしまうんですよね。
それくらいプログラマーという職業は、私生活においても体に染みついてしまうというものなんです。
これはプログラマーじゃなくて他の職業の方でも同じようなことが言えるでしょうね。
睡眠学習ができたらいいんですけど(笑)
でも、プログラマーの方は誰しもが経験があるであろう、「夢の中でもプログラム」をプログラマーあるあるの一つとして挙げさせていただきます。
プログラマーあるある4:営業が勝手に仕事を増やす

こちらはプログラマーにとってはメチャメチャ非常に多数の痛手となるあるあるです。
というのも、営業さんが『良かれと思って』機能追加を盛り込んでくるんです。
いやいや、もう見積提出して納期決まっているんですが・・・
これって納期を延ばせてもらえるんですか?
これって納期を延ばせてもらえるんですか?
という泣きの言葉を入れても、
「この方がお客さんも喜ぶし、納期はそのままでよろしく!」
の一言で済まされちゃうんですよね・・・
いやいや、お客さんが喜んで評価が上がるのはあなた(営業さん)かもしれませんが、こちらは時間的猶予が無くなるのですが・・・
機能追加はまぁ、お客様が喜ぶならいいかもしれませんが、せめて納期も再調整してよ、と言いたくなります。
というか言ってます。
うちの部署は、最近でこそ急な仕様追加や変更は納期調整をしてくれるようになっています。
(突貫で処理してトラブルがあった方が会社的に致命的ということが浸透してきた)
でも、以前はこんなことは当たり前。
納品の前日に急な仕様変更とかありましたもん、普通に。
しっかりした会社ならこういったことは無いかもしれません。
けれど、中小企業ならこういうケースは多いのではないかと思われます?
こういう急な仕様変更はプログラマーに限らず、デザイナーや広告関係のお仕事も同じかもしれませんね。
というわけで、「営業が勝手に仕事を増やす」もプログラマーあるあるの一つとして挙げられます。
プログラマーあるある5:何か知らんが動いたから良し!

そしてラストは知られざる内部事情を暴露!
それは「何か知らんが動いたから良し!」です。
外部の人が聞いたらビックリするでしょうね(笑)
これ、結構「あるある」なんです。
でも、家やマンションなどういった建築物だったら欠陥住宅かもしれませんが、プログラムだったら「経年劣化」は無いので意外とその影響が無かったりします。
本当はプログラムを綺麗に整理してコメントを残し、可読性を良くする必要があります。
けれども、ネットで調べたサンプルソースをリスペクトして使ったりしていると、こみたいに「何かわからないけどちゃんと動いたからヨシ」となることが多いんですよね。
でも、これもちゃんとした大きな会社だったら複数人でソース(プログラム)チェックなどもありますので、こういったケースは少ないかもしれません。
けれど、少人数のプロジェクトや、納期の短いプロジェクトならこういったケースもあるかと思いますね。
納期を守る。
これは鉄則です。
でも、間に合いそうにない場合は素直に交渉するのも大事ですよ!
これは鉄則です。
でも、間に合いそうにない場合は素直に交渉するのも大事ですよ!
プログラマーなら非常にメチャメチャ多数の方が経験しているであろう「何か知らんが動いたから良し!」。
こちらをプログラマーあるあるとして挙げさせていただきます。
まとめ

今回は、僕の体験談を踏まえまして、プログラマーあるある5選をご紹介しました。
最後にまとめますと、下記がピックアップした「あるある」となります。
・コメントで会話
・変数の定義が大量
・夢の中でもプログラム
・営業が勝手に仕事を増やす
・何か知らんが動いたから良し!
同業のプログラマーの方の、頷く様子が見えてきそうですね(笑)
でも、一番怖いのが最後の「何か知らんが動いたら良し!」です。
こればっかりは、後日に障害が起きないか願うばかりです。
でも意外と、この部分からの障害報告ってないので、人生って不思議なものですね。
今回紹介はしていないのですが、加えまして「プログラマーあるある」はメチャメチャメチャメチャ多数ありますので、
機会があれば別の場で紹介していきたいと思います。
以上、「プログラマーあるある5選!現役プログラマーの内部事情を大暴露!」でした。