ガジェット通信 GetNews

見たことのないものを見に行こう
  • 福士蒼汰&吉沢亮 2人の成長した部分とは?映画『BLEACH』撮り下ろしインタビュー
  • 『レディ・プレイヤー1』キャストインタビューで判明!「実際にこの映画をテーマにしたゲームが発売予定だよ」
  • 『マイティ・ソー バトルロイヤル』女戦士・ヴァルキリーを熱演! 声優・沢城みゆき「ロキ様ファンの方お友達になってください!」
  • 『スター・ウォーズ/最後のジェダイ』でカイロ・レンはどうなっちゃうの? アダム・ドライヴァーを直撃!
  • CMのオファーが欲しい!本郷奏多の中のエンヴィー<嫉妬>炸裂!? 映画『鋼の錬金術師』撮り下ろしインタビュー
  • 性別や年代によって楽しみ方が変わる映画『妻ふり』 榮倉奈々&安田顕インタビュー
  • B2takes!小澤廉×祭nine.寺坂頼我 グループ活動する2人が心がけていることは?映画『BD~明智探偵事務所~』撮り下ろしインタビュー
  • 『スーサイド・スクワッド』のダイバーシティを担う二人に直撃 「人間関係を構築するのに必要なこと教えよう」
  • 『ミッション:インポッシブル/フォール・アウト』サイモン・ペッグインタビュー「ベンジーがイーサンに唯一勝てる場所」とは?
  • 注目俳優・太賀インタビュー「誰しもが漠然とした不安を抱える10代だった」 映画『ポンチョに夜明けの風はらませて』
  • 『ゴースト・イン・ザ・シェル』のバトーさんを直撃! 原作愛がハンパなくて『イノセンス』制作を懇願するレベル
  • キアヌ・リーヴスに“仕事の流儀”を聞いてきた! 『ジョン・ウィック:チャプター2』が本日公開
  • 柄本佑が前田敦子を絶賛「“僕のあっちゃん、私のあっちゃん”にしたくなる魅力がある」
  • 北原里英が映画主演で後輩に見せる“道”「AKB48が夢の通過点では無くゴールになっているからこそ」
  • 『ブレードランナー 2049』“ジョイ”と“ラヴ”にインタビュー「SF映画は女子が観ちゃだめ? そんなわけないわ!」
  • 『ジュマンジ』でタフな美女戦士を熱演! カレン・ギランの好きなゲームは「メガドライブ『ソニック・ザ・ヘッジホッグ3』」

体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]
ガジェ通制作ライブ
→ガジェ通制作生放送一覧

プログラマーは皆、常に秘密や嘘を抱えている

プログラマーは皆、常に秘密や嘘を抱えている

今回はtotopon114689さんのブログ『totopon114689の日記』からご寄稿いただきました。

プログラマーは皆、常に秘密や嘘を抱えている

プログラマーは皆、常に秘密や嘘を抱えている。
これは間違いない。

基本的には誰にも話さないが、(家族や友人などプログラムを知っていない人間に話しても分からない、という事もある)プログラマー同士の飲みの席などで、過去の笑い話として酒の肴になる事はある。

秘密や嘘の傾向には幾つかのパターンがある。

1) 仕様があいまいな場合の適当なコーディング

仕様があいまいな機能を実装する場合、想定していたものよりもプログラム量が膨大になる事はよくある。
また、細かいパターンや想定外のケースに対し、どのようにプログラム的対処を行うべきか?
洗い出しているとキリがない場合もある。

仮に事前に洗い出していたとしても、「ケース自体は洗い出せているが、具体的にどのようなエラーメッセージを表示すべきか?」などといった、その先がまたあいまいになっている場合もある。

このような場合、本来であれば決裁権のある人間に相談するのがベストではあるが、納期や現場の人間関係などの兼ね合いがあり気軽に相談できないような環境である場合、プログラマーは「自分の判断で適当にコーディング」する。

 ・ 少しでも想定外だったらシステムごと停止するような頑固な処理を入れる
 ・ 適当なエラーメッセージを出す
 ・ 自分で「こうかな?」と判断して適当に対処処理をコーディングする
 ・ もういっその事気にしない

このようなコーディングは作った本人以外にはよく分からない、いわゆるブラックボックス化され、作った本人はそのことについては外部(自分以外の人間)に対し触れない。むしろ自身も忘れる。

ただ、これは人や内容によって受け止め方が異なる場合もある。
人や内容によっては「何勝手な事してんだよ。俺に一回相談しろよ」となる場合もあるし、「おお!そんな気回しをして対処プログラムを作ってくれていたんだね」となる場合もある。

また、細かに一つ一つ相談するにしても、相談対象の相手が、「そんな細かい事、てめーが考える事だろ?そんな事いってねーでどんどん次の機能作れや」ってなる人の場合もある。

このさじ加減も非常に難しい。

そんな微妙な判断のポイントが日常的に出現するのがプログラムだ。
「だったらもういっその事全てを適当にやった方が楽だろ?」という結論に至るプログラマーも少なくない。

2) 進捗報告

プログラムコーディングとは、とてつもなく複雑な作業である。

完成が100%とした場合、現在どこまでコーディングが完了しているのか?までは作っている本人以外には分かりにくい場合がよくある。(特に画面の無いバッチ処理など)

が、実は作っている本人にも現在の進捗状況がよく分かっていない場合もある。(これは経験の浅いプログラマーに多くみられる)

そんな感じなのでチームリーダーなどから進捗報告を求められた場合、思わず「予定通り進んでいます!80%です!」などと適当な事を言ってしまう場合がある。

しかしフタを開けてみれば実際には全然動く状態ではなく、作った本人を問いただしてみても的を得た返答が得られない場合がある。
当たり前である。

何せ、作っていた本人自身が進捗状況が良く分かっていなかったのだから。
そこで、漠然とした不安の中で怒られるのを先延ばしにするために進捗報告で嘘を言っただけの事である。

これは実は本人ばかりを問いただす事はできない。
こういうものなのである。

デキの良い管理者であれば、事前に細かいチェックを入れたり、全体の完成だけにラインと結果報告を引かず、節目節目で単体的な成果物の提出を要求したり、スケジュールも実際の納期よりも少し短い期間を本人に伝えたりするものである。

繰り返すが、嘘も含め作っている本人も良く分かっていない場合もある。
経験の浅い人間に「その傾向がある」だけでありベテランでも同じようなミスや嘘をする場合はある。
何せプログラムコーディングとは、とてつもなく複雑な作業なのだから。

3) 面倒な繰り返し作業やテスト

プログラマーの仕事は頭を使ってコーディングを行うだけではない。
たいていの場合、作ったものに対するテストも仕事のうちに入る。

テスト、と一言にいってもその内容は多岐に渡り、さっと終わるものもあれば、とんでもないパターンのテストを実施する場合もある。

例えば、同じような画面操作をひたすら1000回繰り返すテストの場合もあるし、テスト用のデータを1000件手作業で作成する場合もある。

しかもこのような内容を、ひたすら一ヶ月間繰り返す場合もある。

コーディングよりは頭は使わなくても良いが(ほぼ単純作業の場合が多い)、はっきり言って考えただけでうんざりする。

この落差も、他業界にはなかなか見られない光景であると思う。
とてつもなく頭を使う一カ月間と、とてつもなく単調な作業の一ヶ月間・・・

このような単調作業を繰り返していると、たまにミスも起こす。

例えば、Aというボタンを押した後に、Bという選択肢からβを選択し、その後Cというボタンを押す。
というテストケースがあった場合、間違って最後にDというボタンを押してしまう場合がある。

間違いに気付いた際、本来であれば一度戻ってAボタンを押すところからやりなおせば良いのだが、「Dというボタンは実は、内部的には100件のデータを書き換える処理が入っており、Aからやり直すには、その100件を全て手作業で元にもどしてからテストをしないと意味が無い。」という場合がある。(決して誇張では無い。よくある事だ。)

そのような場合、はっきり言ってとても面倒くさい。
やる気がいっきに削がれる。
思わず声に出して「うああああーーーー」とか言っちゃう。

ただ、このテストは既に似たような事を既にテスト済みで、ほんの少しだけパターンを変えてのテストだった場合。

そんなとき、とっても真面目では無い人(ほとんどの人が該当するだろう)は、「テスト完了」にマルをして終わらせるだろう。
鋼鉄の意志でも持った人物でもない限りは。

4) 他人の担当箇所だからいいや

例えば自分の担当範囲であるコーディングをしていた際に、何かの拍子で別の担当者がコーディングしているソースを見るがある。

ふと目についたバグ。明らかにバグ。

でもそれを作った担当者は自分が嫌いな奴だった。
もしくは良く知らない奴だった。

こんな時、たいていのプログラマーは無視する。
「まー、そいつの責任だからね」

その後、そのバグがシステム全体を停止させるに至り、データリカバリーにチーム全員が徹夜を余儀なくさせる事を、彼はまだ知らない。

1 2次のページ
寄稿の記事一覧をみる

記者:

ガジェット通信はデジタルガジェット情報・ライフスタイル提案等を提供するウェブ媒体です。シリアスさを排除し、ジョークを交えながら肩の力を抜いて楽しんでいただけるやわらかニュースサイトを目指しています。 こちらのアカウントから記事の寄稿依頼をさせていただいております。

TwitterID: getnews_kiko

  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。
スマホゲーム タラコたたき